  var ISPREVIEW = false;
  var gsb_loglevel = 'error';
  var gsb_logDependenciesWarning = false;
var REQUEST_PARAMETER_PREFIX = '';

   /* Start logging */
   /*!
* GSB-Plugin zur Bereitstellung von globalen Logging-Methoden
* Benoetigt Variable "gsb_loglevel" aus global.js, ueberschreibbar durch Konfigurationseintrag "/standardlsg/SiteGlobals/_config/JSLogWarnlevel"
*
* Author: rkrusenb
* --GSBDocStart
* @module logging
* @version 1.1.3
* @see {@link http://semver.org|Semantic Versioning}
* @author rkrusenb
*
* @desc GSB-Plugin zur Bereitstellung von globalen Logging-Methoden
*  Benoetigt Variable "gsb_loglevel" aus global.js, ueberschreibbar durch Konfigurationseintrag "/standardlsg/SiteGlobals/_config/JSLogWarnlevel"
*--GSBDocEnd
*/
"use strict";

var gsb;
gsb = gsb || {};
(function (namespace) {
  'use strict';
  var loglevels = {
    debug: 8,
    log: 4,
    warn: 2,
    error: 1,
    none: 0 };

  var loglevel = gsb_loglevel;
  var hiddenMessages = [];
  var env, deferred;

  function consoleExists(method) {
    if (!method) {
      return typeof console !== "undefined";
    } else {
      return typeof console !== "undefined" && typeof console[method] === "function";
    }
  }

  function wrap(method) {
    return function () {
      hiddenMessages.push([method, arguments]);
    };
  }

  function flushHiddenMessages() {
    var i, l, temp, method, args;
    if (consoleExists()) {
      for (i = 0, l = hiddenMessages.length; i < l; i++) {
        temp = hiddenMessages[i];
        method = temp[0];
        args = temp[1];
        if (consoleExists(method)) {
          hiddenMessages[i] = null; //mark message for deletion
          env[method].apply(null, args); //use suitable log method
        }
      }
      //delete messages
      hiddenMessages = hiddenMessages.filter(function (value) {
        return value !== null;
      });
    }
  }

  function setLogLevel(newLevel) {
    loglevel = newLevel;
    ['error', 'warn', 'log', 'debug'].forEach(function (str) {
      if (loglevels[str] === loglevels.error) {
        if (loglevels[newLevel] >= loglevels.error && consoleExists('error')) {
          namespace.error = env.error;
        } else {
          namespace.error = deferred.error;
        }
      } else if (loglevels[str] === loglevels.warn) {
        if (loglevels[newLevel] >= loglevels.warn && consoleExists('warn')) {
          namespace.warn = env.warn;
        } else {
          namespace.warn = deferred.warn;
        }
      } else if (loglevels[str] === loglevels.log) {
        if (loglevels[newLevel] >= loglevels.log && consoleExists('log')) {
          namespace[str] = env.log;
        } else {
          namespace[str] = deferred.log;
        }
      } else {//all other methods default to "debug", currently
        if (loglevels[newLevel] >= loglevels.debug && consoleExists('debug')) {
          namespace[str] = env.debug;
        } else {
          namespace[str] = deferred.debug;
        }
      }
    });
  }

  env = {
    debug: console.debug.bind(console),
    log: console.log.bind(console),
    warn: console.warn.bind(console),
    error: console.error.bind(console) };


  deferred = {
    debug: wrap('debug'),
    log: wrap('log'),
    warn: wrap('warn'),
    error: wrap('error') };


  setLogLevel(loglevel);

  try {
    if (typeof localStorage !== "undefined" && typeof localStorage.getItem === "function" && localStorage.getItem('gsb_frontend_loglevel')) {
      setLogLevel(localStorage.getItem('gsb_frontend_loglevel'));
    }
  } catch (e) {
    console.debug('Auslesen des Loglevels aus dem localStorage nicht möglich.');
  }

  namespace.flushHiddenMessages = flushHiddenMessages;
})(gsb);
   /* Ende logging */
   /* Start variables_LABELS */
       var PRINT_PAGE_TEXT = 'Seite drucken';
    var PRINT_TOOLTIP = 'Seite drucken (öffnet Dialog)';
    var SHARIFF_TITLE = 'Seite teilen';
    var SHARIFF_FORMLINKTEXT = 'Freunden per E-Mail schicken';
    var NAV_MOBILE_MENU = 'Menü';
    var NAV_MOBILE_SEARCH = 'Suchen';
    var SHOW_MOBILE_NAVI = 'Mobile Navigation öffnen';
    var HIDE_MOBILE_NAVI = 'Mobile Navigation schließen';
    var SHOW_MOBILE_SEARCH = 'Mobile Suche öffnen';
    var HIDE_MOBILE_SEARCH = 'Mobile Suche schließen';
    var SHOW_LESS = 'Weniger anzeigen';
    var SHOW_MORE = 'Mehr anzeigen';
    var CLOSE = 'Schlie&szlig;en';
    var NEXT = 'Nächste Seite im Karussell';
    var BACK = 'Vorherige Seite im Karussell';
    var NEXT_INACTIVE = 'Keine nächste Seite im Karussell';
    var BACK_INACTIVE = 'Keine vorherige Seite im Karussell';
    var PLAY = 'Animation starten';
    var PAUSE = 'Animation stoppen';
    var PAGE = 'Seite';
    var DS_LUFTBILD = 'Luftbild';
    var DS_KARTE = 'Karte';
    var FACET_OPEN = 'Filter';
    var FACET_CLOSE = 'Filter ausblenden';
    var ZEICHENZAEHLER_REST = '- noch $zeichenZahl$ Zeichen -';
    var ZEICHENZAEHLER_ZUVIELEZEICHEN = '- keine Zeichen mehr frei -';
    var MOBILE_SUBNAVIGATION_HEADLINE = 'Themen in diesem Bereich';
    var SHARIFF_DESCRIPTION_TEXT = 'Bei Verwendung der Links von Facebook, Twitter und LinkedIn können diese Anbieter den Besuch unserer Website gegebenenfalls Ihrem Konto zuordnen.<br/>Mehr Informationen dazu erhalten Sie in unserer Datenschutzerklärung.';
    var BILDNACHWEIS_HEADERBILD = 'Headerbild:';
    var BILDNACHWEIS_FLYOUT = 'Bilder im Flyout ';
    var BILDNACHWEIS_CONTENT = 'Bilder auf dieser Seite:';
    var CURRENT_ISO_ALPHA_2_CODE = 'de';
    var LANGUAGEFLYOUT_LABEL = 'Sprachauswahl:';
    var DS_EINZELANSICHT_ALLESOEFFNEN = 'Alles öffnen';
    var DS_EINZELANSICHT_ALLESOEFFNEN_TITLE = 'Alle Akkordeon-Module geöffnet anzeigen';
    var DS_EINZELANSICHT_ALLESCHLIESSEN = 'Alles schließen';
    var DS_EINZELANSICHT_ALLESCHLIESSEN_TITLE = 'Alle Akkordeon-Module schließen';
    var MFP_CLOSE = 'Dialog schlie&szlig;en';
    var SHARIFF_TWITTER_SHARE_TEXT = 'Twitter';
    var SHARIFF_TWITTER_TOOLTIP_TEXT = 'Öffnet neues Fenster:  Twitter';
    var SHARIFF_FACEBOOK_SHARE_TEXT = 'Facebook';
    var SHARIFF_FACEBOOK_TOOLTIP_TEXT = 'Öffnet neues Fenster:  Facebook';
    var SHARIFF_LINKEDIN_SHARE_TEXT = 'LinkedIn';
    var SHARIFF_LINKEDIN_TOOLTIP_TEXT = 'Öffnet neues Fenster:  LinkedIn';
    var LEAFLET_GESTURE_HANDLING = 'Verwenden Sie Strg + Scrollen zum Zoomen';
    var LEAFLET_GESTURE_HANDLING_TOUCH = 'Verwenden Sie zwei Finger zum Bewegen und Zoomen';
    var LEAFLET_ZOOM_IN = 'Hineinzoomen';
    var LEAFLET_ZOOM_OUT = 'Herauszoomen';
    var LEAFLET_FULLSCREEN_OFF = 'Vollbildmodus verlassen';
    var LEAFLET_FULLSCREEN_ON = 'Vollbildmodus';
    var LEAFLET_COPYRIGHT_TEXT = 'Leaflet';
    var LEAFLET_COPYRIGHT_TITLE = 'Öffnet neues Fenster: Hinweis zur Nutzung von Leaflet';
    var FACEBOOK_POPUP_TEXT = '<p>Wenn Sie Dienste dieses Anbieters nutzen, können Nutzungsdaten durch diesen erfasst und gegebenenfalls in Serverprotokollen auch außerhalb der Europäischen Union gespeichert werden. Auf Art und Umfang der übertragenen oder gespeicherten Daten haben wir keinen Einfluss. Weitere Informationen zu dieser Datennutzung finden Sie in den Datenschutzhinweisen des Anbieters. <span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href="https://de-de.facebook.com/Zoll.Karriere/">Weiter zu Facebook</a></span></p>';
    var INSTAGRAM_POPUP_TEXT = '<p>Wenn Sie Dienste dieses Anbieters nutzen, können Nutzungsdaten durch diesen erfasst und gegebenenfalls in Serverprotokollen auch außerhalb der Europäischen Union gespeichert werden. Auf Art und Umfang der übertragenen oder gespeicherten Daten haben wir keinen Einfluss. Weitere Informationen zu dieser Datennutzung finden Sie in den Datenschutzhinweisen des Anbieters. <span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href="https://www.instagram.com/zoll.karriere/?hl=de/">Weiter zu Instagram</a></span></p>';
    var LINKEDIN_POPUP_TEXT = '<p>Wenn Sie Dienste dieses Anbieters nutzen, können Nutzungsdaten durch diesen erfasst und gegebenenfalls in Serverprotokollen auch außerhalb der Europäischen Union gespeichert werden. Auf Art und Umfang der übertragenen oder gespeicherten Daten haben wir keinen Einfluss. Weitere Informationen zu dieser Datennutzung finden Sie in den Datenschutzhinweisen des Anbieters. <span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href="https://de.linkedin.com/organization-guest/company/der-zoll">Weiter zu LinkedIn</a></span></p>';
    var MASTODON_POPUP_TEXT = '<p>Wenn Sie Dienste dieses Anbieters nutzen, können Nutzungsdaten durch diesen erfasst und gegebenenfalls in Serverprotokollen auch außerhalb der Europäischen Union gespeichert werden. Auf Art und Umfang der übertragenen oder gespeicherten Daten haben wir keinen Einfluss. Weitere Informationen zu dieser Datennutzung finden Sie in den Datenschutzhinweisen des Anbieters. <span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href=" https://social.bund.de/@Zoll">Weiter zu Mastodon</a></span></p>';
    var TWITTER_POPUP_TEXT = '<p>Wenn Sie Dienste dieses Anbieters nutzen, können Nutzungsdaten durch diesen erfasst und gegebenenfalls in Serverprotokollen auch außerhalb der Europäischen Union gespeichert werden. Auf Art und Umfang der übertragenen oder gespeicherten Daten haben wir keinen Einfluss. Weitere Informationen zu dieser Datennutzung finden Sie in den Datenschutzhinweisen des Anbieters. <span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href="https://twitter.com/Zoll_info">Weiter zu X/Twitter</a></span></p>';
    var LEAFLET_POPUP_TEXT = '<p>Sie verlassen die Website www.zoll.de. Den Inhalt der verlinkten Seite haben wir sorgfältig geprüft. Webinhalte sind jedoch dynamisch und können sich jederzeit ändern. Wir machen uns den Inhalt fremder Internetseiten, auf die wir einen Link gesetzt haben, insoweit ausdrücklich nicht zu eigen. Die Inhalte und die Funktionsfähigkeit externer Angebote verantworten allein die jeweiligen Anbieter.<span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href="https://leafletjs.com">Weiter zu Leaflet</a></span></p>';
    var LEAFLET_BKG_LINK_TITLE = 'Öffnet neues Fenster: Bundesamt für Kartographie und Geodäsie';
    var LEAFLET_DATASOURCE_LINK_TITLE = 'Öffnet neues Fenster: Datenquellen TopPlusOpen';
    var AKKORDEONT_ALLESOEFFNEN = 'Alles öffnen';
    var AKKORDEONT_ALLESOEFFNEN_TITLE = 'Alle Einträge des folgenden Akkordeon geöffnet anzeigen';
    var AKKORDEON_ALLESCHLIESSEN = 'Alles schließen';
    var AKKORDEON_ALLESCHLIESSEN_TITLE = 'Alle Einträge des folgenden Akkordeon geschlossen anzeigen';
    var TRACKING_CONSENT = 'Einwilligen';
    var TRACKING_DISSENT = 'Ablehnen';
    var YT_CONSENT_HTML = '<h3>Aktivierung erforderlich</h3><p>Wir möchten Sie darauf hinweisen, dass nach der Aktivierung Daten an YouTube übermittelt werden.</p>';
    var YT_CONSENT_BUTTON_TEXT = 'Video aktivieren';
    var accordeon_open_all = 'Alles öffnen';
    var accordeon_close_all = 'Alles schließen';
    var BLUESKY_POPUP_TEXT = '<p>Wenn Sie Dienste dieses Anbieters nutzen, können Nutzungsdaten durch diesen erfasst und gegebenenfalls in Serverprotokollen auch außerhalb der Europäischen Union gespeichert werden. Auf Art und Umfang der übertragenen oder gespeicherten Daten haben wir keinen Einfluss. Weitere Informationen zu dieser Datennutzung finden Sie in den Datenschutzhinweisen des Anbieters. <span class="c-socialmedia-disclaimer__link-wrapper"><a target="_blank" class="c-button is-very-high is-external-link" href="https://bsky.app/profile/zoll.de">Weiter zu Bluesky</a></span></p>';
   /* Ende variables_LABELS */
   /* Start variables_JSON */
         var json_url_mobileMenu = 'SiteGlobals/Modules/MobileNavigation/DE/Allgemein/MobileNavigation.html?view=renderMobileNavigation';
      var json_url_mobileSearch = 'SiteGlobals/Forms/Suche/Servicesuche_Autosuggest_Formular.html?view=renderJSON';
      var json_url_Zoll_und_Reise_Countries = 'SiteGlobals/Functions/ZollUndReise/Countries.html?view=renderJSON[Countries]';
      var json_url_Zoll_und_Reise_API = 'SiteGlobals/Functions/ZollUndReise/API.html?view=renderJSON[API_ZUR]';
      var json_url_Zoll_und_Post_API = 'SiteGlobals/Functions/ZollUndPost/API.html?view=renderJSON[API_ZUP]';    
      var json_url_searchUmkreissucheAutosuggest = 'SiteGlobals/Forms/Suche/Umkreissuche_Autosuggest_Formular.html';
      var LEAFLET_COPYRIGHT_LINK = 'DE/Service_II/Leaflet-Nutzungshinweise/leaflet_nutzungshinweise_node.html';
      var xhr_jumpnav_template = 'SiteGlobals/Functions/Jumpnav/JumpnavTemplate.html?view=render&jumpnavbasis=136488';
      var FLYOUT_NAVIGATION_FETCH_URL = 'SiteGlobals/Functions/FlyoutDateien/FlyoutTemplate.html?view=render';
      var json_url_login_info = 'SiteGlobals/Functions/LoginInfo/loginInfo.html?view=renderLoginInfo';
   /* Ende variables_JSON */
   /* Start variables_IMG */
       var image_url_close = '/SiteGlobals/Frontend_Alt/Images/icons/close-b.webp?__blob=normal&amp;v=2';
    var image_url_close_w = '/SiteGlobals/Frontend_Alt/Images/icons/close_w.svg?__blob=normal&amp;v=2';
    var image_url_next = '/SiteGlobals/Frontend/Images/icons/inline-svg/btn-chevron-circle.svg?__blob=normal&amp;v=1';
    var image_url_back = '/SiteGlobals/Frontend/Images/icons/inline-svg/btn-chevron-circle.svg?__blob=normal&amp;v=1';
    var image_url_back_g = '/SiteGlobals/Frontend/Images/icons/inline-svg/btn-chevron-circle.svg?__blob=normal&amp;v=1';
    var image_url_next_g = '/SiteGlobals/Frontend/Images/icons/inline-svg/btn-chevron-circle.svg?__blob=normal&amp;v=1';
    var image_url_loupe_b = '/SiteGlobals/Frontend_Alt/Images/icons/loupe-b.svg?__blob=normal&amp;v=2';
    var image_url_paused = '/SiteGlobals/Frontend_Alt/Images/icons/pause.webp?__blob=normal&amp;v=2';
    var image_url_play = '/SiteGlobals/Frontend_Alt/Images/icons/play.svg?__blob=normal&amp;v=2';
    var image_url_share_facebook_inactive = '/SiteGlobals/Frontend_Alt/Images/icons/socialshareprivacy/share_facebook_inactive.png.png?__blob=normal&amp;v=1';
    var image_url_share_twitter_inactive = '/SiteGlobals/Frontend_Alt/Images/icons/socialshareprivacy/share_twitter_inactive.webp?__blob=normal&amp;v=2';
    var image_url_share_gplus_inactive = '/SiteGlobals/Frontend_Alt/Images/icons/socialshareprivacy/share_gplus_inactive.webp?__blob=normal&amp;v=2';
    var image_url_mobilemenu = '/SiteGlobals/Frontend_Alt/Images/icons/menu.svg?__blob=normal&amp;v=2';
    var image_url_mobilesearch = '/SiteGlobals/Frontend_Alt/Images/icons/suchlupe.svg?__blob=normal&amp;v=2';
    var image_url_mobileclose = '/SiteGlobals/Frontend_Alt/Images/icons/close.svg?__blob=normal&amp;v=2';
    var image_url_logo = '/SiteGlobals/Frontend_Alt/Images/logo.svg?__blob=normal&amp;v=2';
    var image_url_datepicker = '/SiteGlobals/Frontend_Alt/Images/icons/datepicker.webp?__blob=normal&amp;v=2';
    var image_url_datepicker_b = '/SiteGlobals/Frontend_Alt/Images/icons/datepicker-b.webp?__blob=normal&amp;v=2';
    var image_url_close_trans = '/SiteGlobals/Frontend_Alt/Images/icons/close-b.webp?__blob=normal&amp;v=2';
    var image_url_map_marker = '/SiteGlobals/Frontend_Alt/Images/icons/map_marker.svg?__blob=normal&amp;v=2';
    var image_url_toc_menu = '/SiteGlobals/Frontend/Images/icons/inline-svg/btn_inhaltsverzeichnis.svg?__blob=normal&amp;v=2';
    var image_url_mejs_controls = '/SiteGlobals/Frontend/Images/icons/mediaelement/mejs-controls.svg?__blob=normal&amp;v=2';
   /* Ende variables_IMG */
   /* Start variables_LINKS */
   var link_url_logout = 'Login/Login/loginlogout_jsp.html';
   /* Ende variables_LINKS */
   /* Start tracking */
   "use strict";
var matomoConsentFunction = function(t) {
        var e = $("body").attr("data-tracking-site-id"),
            a = $(document.createElement("script"));
        _paq.push(["setConsentGiven"]), /^\d+$/.test(e) && 0 === $("#gsbMatomoScript").length && (_paq.push(["requireConsent"]), _paq.push(["setDocumentTitle", document.domain + "/" + document.title]), _paq.push(["trackPageView"]), _paq.push(["enableLinkTracking"]), _paq.push(["setTrackerUrl", "//matomo02.itzbund.de/js/"]), _paq.push(["setSiteId", Number(e)]), a.attr({
            id: "gsbMatomoScript",
            type: "text/javascript",
            async: !0,
            defer: !0,
            src: "//matomo02.itzbund.de/js/"
        }), $(document.head).append(a))
    },
    matomoRejectFunction = function(t) {
        _paq.push(["forgetConsentGiven"])
    };
   /* Ende tracking */

gsb.jsComponents = {
     config: {},
     definitions: {
       bundle_multimedia: {
         scriptList: [ 'SiteGlobals/Frontend/JavaScript/init/bundle_multimedia.js?v=1' ]
       },
    }
};

   /* Start polyfills */
   /**
 * core-js 3.30.2
 * © 2014-2023 Denis Pushkarev (zloirock.ru)
 * license: https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE
 * source: https://github.com/zloirock/core-js
 */
!function (undefined) { 'use strict'; /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	var __webpack_require__ = function (moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

__webpack_require__(1);
__webpack_require__(71);
__webpack_require__(78);
__webpack_require__(81);
__webpack_require__(82);
__webpack_require__(84);
__webpack_require__(87);
__webpack_require__(97);
__webpack_require__(98);
__webpack_require__(101);
__webpack_require__(107);
__webpack_require__(123);
__webpack_require__(127);
__webpack_require__(128);
__webpack_require__(130);
__webpack_require__(132);
__webpack_require__(135);
__webpack_require__(136);
__webpack_require__(137);
__webpack_require__(138);
__webpack_require__(139);
__webpack_require__(143);
__webpack_require__(146);
__webpack_require__(153);
__webpack_require__(154);
__webpack_require__(157);
__webpack_require__(158);
__webpack_require__(164);
__webpack_require__(165);
__webpack_require__(168);
__webpack_require__(169);
__webpack_require__(170);
__webpack_require__(171);
__webpack_require__(173);
__webpack_require__(174);
__webpack_require__(176);
__webpack_require__(177);
__webpack_require__(178);
__webpack_require__(179);
__webpack_require__(180);
__webpack_require__(181);
__webpack_require__(182);
__webpack_require__(187);
__webpack_require__(210);
__webpack_require__(211);
__webpack_require__(212);
__webpack_require__(214);
__webpack_require__(215);
__webpack_require__(216);
__webpack_require__(217);
__webpack_require__(218);
__webpack_require__(223);
__webpack_require__(224);
__webpack_require__(225);
__webpack_require__(226);
__webpack_require__(227);
__webpack_require__(228);
__webpack_require__(230);
__webpack_require__(231);
__webpack_require__(232);
__webpack_require__(233);
__webpack_require__(234);
__webpack_require__(235);
__webpack_require__(236);
__webpack_require__(237);
__webpack_require__(238);
__webpack_require__(239);
__webpack_require__(240);
__webpack_require__(243);
__webpack_require__(245);
__webpack_require__(247);
__webpack_require__(249);
__webpack_require__(250);
__webpack_require__(251);
__webpack_require__(252);
__webpack_require__(253);
__webpack_require__(254);
__webpack_require__(257);
__webpack_require__(258);
__webpack_require__(260);
__webpack_require__(261);
__webpack_require__(262);
__webpack_require__(263);
__webpack_require__(264);
__webpack_require__(265);
__webpack_require__(268);
__webpack_require__(269);
__webpack_require__(270);
__webpack_require__(271);
__webpack_require__(273);
__webpack_require__(274);
__webpack_require__(275);
__webpack_require__(276);
__webpack_require__(277);
__webpack_require__(281);
__webpack_require__(282);
__webpack_require__(283);
__webpack_require__(284);
__webpack_require__(285);
__webpack_require__(286);
__webpack_require__(287);
__webpack_require__(289);
__webpack_require__(290);
__webpack_require__(291);
__webpack_require__(295);
__webpack_require__(296);
__webpack_require__(298);
__webpack_require__(299);
__webpack_require__(300);
__webpack_require__(306);
__webpack_require__(308);
__webpack_require__(310);
__webpack_require__(311);
__webpack_require__(312);
__webpack_require__(313);
__webpack_require__(314);
__webpack_require__(315);
__webpack_require__(316);
__webpack_require__(317);
__webpack_require__(318);
__webpack_require__(321);
__webpack_require__(322);
__webpack_require__(329);
__webpack_require__(332);
__webpack_require__(333);
__webpack_require__(334);
__webpack_require__(335);
__webpack_require__(336);
__webpack_require__(338);
__webpack_require__(339);
__webpack_require__(341);
__webpack_require__(342);
__webpack_require__(344);
__webpack_require__(345);
__webpack_require__(347);
__webpack_require__(348);
__webpack_require__(349);
__webpack_require__(350);
__webpack_require__(351);
__webpack_require__(352);
__webpack_require__(353);
__webpack_require__(355);
__webpack_require__(356);
__webpack_require__(358);
__webpack_require__(359);
__webpack_require__(361);
__webpack_require__(363);
__webpack_require__(364);
__webpack_require__(366);
__webpack_require__(367);
__webpack_require__(368);
__webpack_require__(372);
__webpack_require__(373);
__webpack_require__(374);
__webpack_require__(375);
__webpack_require__(376);
__webpack_require__(377);
__webpack_require__(378);
__webpack_require__(379);
__webpack_require__(380);
__webpack_require__(381);
__webpack_require__(382);
__webpack_require__(386);
__webpack_require__(387);
__webpack_require__(388);
__webpack_require__(389);
__webpack_require__(390);
__webpack_require__(393);
__webpack_require__(394);
__webpack_require__(395);
__webpack_require__(396);
__webpack_require__(397);
__webpack_require__(400);
__webpack_require__(401);
module.exports = __webpack_require__(402);


/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var toObject = __webpack_require__(39);
var lengthOfArrayLike = __webpack_require__(63);
var setArrayLength = __webpack_require__(68);
var doesNotExceedSafeInteger = __webpack_require__(70);
var fails = __webpack_require__(6);

var INCORRECT_TO_LENGTH = fails(function () {
  return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
});

// V8 and Safari <= 15.4, FF < 23 throws InternalError
// https://bugs.chromium.org/p/v8/issues/detail?id=12681
var properErrorOnNonWritableLength = function () {
  try {
    // eslint-disable-next-line es/no-object-defineproperty -- safe
    Object.defineProperty([], 'length', { writable: false }).push();
  } catch (error) {
    return error instanceof TypeError;
  }
};

var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();

// `Array.prototype.push` method
// https://tc39.es/ecma262/#sec-array.prototype.push
$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
  // eslint-disable-next-line no-unused-vars -- required for `.length`
  push: function push(item) {
    var O = toObject(this);
    var len = lengthOfArrayLike(O);
    var argCount = arguments.length;
    doesNotExceedSafeInteger(len + argCount);
    for (var i = 0; i < argCount; i++) {
      O[len] = arguments[i];
      len++;
    }
    setArrayLength(O, len);
    return len;
  }
});


/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var getOwnPropertyDescriptor = __webpack_require__(4).f;
var createNonEnumerableProperty = __webpack_require__(43);
var defineBuiltIn = __webpack_require__(47);
var defineGlobalProperty = __webpack_require__(37);
var copyConstructorProperties = __webpack_require__(55);
var isForced = __webpack_require__(67);

/*
  options.target         - name of the target object
  options.global         - target is the global object
  options.stat           - export as static methods of target
  options.proto          - export as prototype methods of target
  options.real           - real prototype method for the `pure` version
  options.forced         - export even if the native feature is available
  options.bind           - bind methods to the target, required for the `pure` version
  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version
  options.unsafe         - use the simple assignment of property instead of delete + defineProperty
  options.sham           - add a flag to not completely full polyfills
  options.enumerable     - export as enumerable property
  options.dontCallGetSet - prevent calling a getter on target
  options.name           - the .name of the function if it does not match the key
*/
module.exports = function (options, source) {
  var TARGET = options.target;
  var GLOBAL = options.global;
  var STATIC = options.stat;
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
  if (GLOBAL) {
    target = global;
  } else if (STATIC) {
    target = global[TARGET] || defineGlobalProperty(TARGET, {});
  } else {
    target = (global[TARGET] || {}).prototype;
  }
  if (target) for (key in source) {
    sourceProperty = source[key];
    if (options.dontCallGetSet) {
      descriptor = getOwnPropertyDescriptor(target, key);
      targetProperty = descriptor && descriptor.value;
    } else targetProperty = target[key];
    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
    // contained in target
    if (!FORCED && targetProperty !== undefined) {
      if (typeof sourceProperty == typeof targetProperty) continue;
      copyConstructorProperties(sourceProperty, targetProperty);
    }
    // add a flag to not completely full polyfills
    if (options.sham || (targetProperty && targetProperty.sham)) {
      createNonEnumerableProperty(sourceProperty, 'sham', true);
    }
    defineBuiltIn(target, key, sourceProperty, options);
  }
};


/***/ }),
/* 3 */
/***/ (function(module, exports) {

var check = function (it) {
  return it && it.Math == Math && it;
};

// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
module.exports =
  // eslint-disable-next-line es/no-global-this -- safe
  check(typeof globalThis == 'object' && globalThis) ||
  check(typeof window == 'object' && window) ||
  // eslint-disable-next-line no-restricted-globals -- safe
  check(typeof self == 'object' && self) ||
  check(typeof global == 'object' && global) ||
  // eslint-disable-next-line no-new-func -- fallback
  (function () { return this; })() || this || Function('return this')();


/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var call = __webpack_require__(7);
var propertyIsEnumerableModule = __webpack_require__(9);
var createPropertyDescriptor = __webpack_require__(10);
var toIndexedObject = __webpack_require__(11);
var toPropertyKey = __webpack_require__(17);
var hasOwn = __webpack_require__(38);
var IE8_DOM_DEFINE = __webpack_require__(41);

// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
  O = toIndexedObject(O);
  P = toPropertyKey(P);
  if (IE8_DOM_DEFINE) try {
    return $getOwnPropertyDescriptor(O, P);
  } catch (error) { /* empty */ }
  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
};


/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);

// Detect IE8's incomplete defineProperty implementation
module.exports = !fails(function () {
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
});


/***/ }),
/* 6 */
/***/ (function(module, exports) {

module.exports = function (exec) {
  try {
    return !!exec();
  } catch (error) {
    return true;
  }
};


/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_BIND = __webpack_require__(8);

var call = Function.prototype.call;

module.exports = NATIVE_BIND ? call.bind(call) : function () {
  return call.apply(call, arguments);
};


/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);

module.exports = !fails(function () {
  // eslint-disable-next-line es/no-function-prototype-bind -- safe
  var test = (function () { /* empty */ }).bind();
  // eslint-disable-next-line no-prototype-builtins -- safe
  return typeof test != 'function' || test.hasOwnProperty('prototype');
});


/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $propertyIsEnumerable = {}.propertyIsEnumerable;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);

// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
  var descriptor = getOwnPropertyDescriptor(this, V);
  return !!descriptor && descriptor.enumerable;
} : $propertyIsEnumerable;


/***/ }),
/* 10 */
/***/ (function(module, exports) {

module.exports = function (bitmap, value) {
  return {
    enumerable: !(bitmap & 1),
    configurable: !(bitmap & 2),
    writable: !(bitmap & 4),
    value: value
  };
};


/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {

// toObject with fallback for non-array-like ES3 strings
var IndexedObject = __webpack_require__(12);
var requireObjectCoercible = __webpack_require__(15);

module.exports = function (it) {
  return IndexedObject(requireObjectCoercible(it));
};


/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var fails = __webpack_require__(6);
var classof = __webpack_require__(14);

var $Object = Object;
var split = uncurryThis(''.split);

// fallback for non-array-like ES3 and non-enumerable old V8 strings
module.exports = fails(function () {
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
  // eslint-disable-next-line no-prototype-builtins -- safe
  return !$Object('z').propertyIsEnumerable(0);
}) ? function (it) {
  return classof(it) == 'String' ? split(it, '') : $Object(it);
} : $Object;


/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_BIND = __webpack_require__(8);

var FunctionPrototype = Function.prototype;
var call = FunctionPrototype.call;
var uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);

module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
  return function () {
    return call.apply(fn, arguments);
  };
};


/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

var toString = uncurryThis({}.toString);
var stringSlice = uncurryThis(''.slice);

module.exports = function (it) {
  return stringSlice(toString(it), 8, -1);
};


/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {

var isNullOrUndefined = __webpack_require__(16);

var $TypeError = TypeError;

// `RequireObjectCoercible` abstract operation
// https://tc39.es/ecma262/#sec-requireobjectcoercible
module.exports = function (it) {
  if (isNullOrUndefined(it)) throw $TypeError("Can't call method on " + it);
  return it;
};


/***/ }),
/* 16 */
/***/ (function(module, exports) {

// we can't use just `it == null` since of `document.all` special case
// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec
module.exports = function (it) {
  return it === null || it === undefined;
};


/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {

var toPrimitive = __webpack_require__(18);
var isSymbol = __webpack_require__(22);

// `ToPropertyKey` abstract operation
// https://tc39.es/ecma262/#sec-topropertykey
module.exports = function (argument) {
  var key = toPrimitive(argument, 'string');
  return isSymbol(key) ? key : key + '';
};


/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var isObject = __webpack_require__(19);
var isSymbol = __webpack_require__(22);
var getMethod = __webpack_require__(29);
var ordinaryToPrimitive = __webpack_require__(32);
var wellKnownSymbol = __webpack_require__(33);

var $TypeError = TypeError;
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');

// `ToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-toprimitive
module.exports = function (input, pref) {
  if (!isObject(input) || isSymbol(input)) return input;
  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
  var result;
  if (exoticToPrim) {
    if (pref === undefined) pref = 'default';
    result = call(exoticToPrim, input, pref);
    if (!isObject(result) || isSymbol(result)) return result;
    throw $TypeError("Can't convert object to primitive value");
  }
  if (pref === undefined) pref = 'number';
  return ordinaryToPrimitive(input, pref);
};


/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__(20);
var $documentAll = __webpack_require__(21);

var documentAll = $documentAll.all;

module.exports = $documentAll.IS_HTMLDDA ? function (it) {
  return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;
} : function (it) {
  return typeof it == 'object' ? it !== null : isCallable(it);
};


/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {

var $documentAll = __webpack_require__(21);

var documentAll = $documentAll.all;

// `IsCallable` abstract operation
// https://tc39.es/ecma262/#sec-iscallable
module.exports = $documentAll.IS_HTMLDDA ? function (argument) {
  return typeof argument == 'function' || argument === documentAll;
} : function (argument) {
  return typeof argument == 'function';
};


/***/ }),
/* 21 */
/***/ (function(module, exports) {

var documentAll = typeof document == 'object' && document.all;

// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;

module.exports = {
  all: documentAll,
  IS_HTMLDDA: IS_HTMLDDA
};


/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__(23);
var isCallable = __webpack_require__(20);
var isPrototypeOf = __webpack_require__(24);
var USE_SYMBOL_AS_UID = __webpack_require__(25);

var $Object = Object;

module.exports = USE_SYMBOL_AS_UID ? function (it) {
  return typeof it == 'symbol';
} : function (it) {
  var $Symbol = getBuiltIn('Symbol');
  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));
};


/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var isCallable = __webpack_require__(20);

var aFunction = function (argument) {
  return isCallable(argument) ? argument : undefined;
};

module.exports = function (namespace, method) {
  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
};


/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

module.exports = uncurryThis({}.isPrototypeOf);


/***/ }),
/* 25 */
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-symbol -- required for testing */
var NATIVE_SYMBOL = __webpack_require__(26);

module.exports = NATIVE_SYMBOL
  && !Symbol.sham
  && typeof Symbol.iterator == 'symbol';


/***/ }),
/* 26 */
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-symbol -- required for testing */
var V8_VERSION = __webpack_require__(27);
var fails = __webpack_require__(6);
var global = __webpack_require__(3);

var $String = global.String;

// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
  var symbol = Symbol();
  // Chrome 38 Symbol has incorrect toString conversion
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,
  // of course, fail.
  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||
    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
    !Symbol.sham && V8_VERSION && V8_VERSION < 41;
});


/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var userAgent = __webpack_require__(28);

var process = global.process;
var Deno = global.Deno;
var versions = process && process.versions || Deno && Deno.version;
var v8 = versions && versions.v8;
var match, version;

if (v8) {
  match = v8.split('.');
  // in old Chrome, versions of V8 isn't V8 = Chrome / 10
  // but their correct versions are not interesting for us
  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
}

// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
// so check `userAgent` even if `.v8` exists, but 0
if (!version && userAgent) {
  match = userAgent.match(/Edge\/(\d+)/);
  if (!match || match[1] >= 74) {
    match = userAgent.match(/Chrome\/(\d+)/);
    if (match) version = +match[1];
  }
}

module.exports = version;


/***/ }),
/* 28 */
/***/ (function(module, exports) {

module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';


/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {

var aCallable = __webpack_require__(30);
var isNullOrUndefined = __webpack_require__(16);

// `GetMethod` abstract operation
// https://tc39.es/ecma262/#sec-getmethod
module.exports = function (V, P) {
  var func = V[P];
  return isNullOrUndefined(func) ? undefined : aCallable(func);
};


/***/ }),
/* 30 */
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__(20);
var tryToString = __webpack_require__(31);

var $TypeError = TypeError;

// `Assert: IsCallable(argument) is true`
module.exports = function (argument) {
  if (isCallable(argument)) return argument;
  throw $TypeError(tryToString(argument) + ' is not a function');
};


/***/ }),
/* 31 */
/***/ (function(module, exports) {

var $String = String;

module.exports = function (argument) {
  try {
    return $String(argument);
  } catch (error) {
    return 'Object';
  }
};


/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var isCallable = __webpack_require__(20);
var isObject = __webpack_require__(19);

var $TypeError = TypeError;

// `OrdinaryToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
module.exports = function (input, pref) {
  var fn, val;
  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
  throw $TypeError("Can't convert object to primitive value");
};


/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var shared = __webpack_require__(34);
var hasOwn = __webpack_require__(38);
var uid = __webpack_require__(40);
var NATIVE_SYMBOL = __webpack_require__(26);
var USE_SYMBOL_AS_UID = __webpack_require__(25);

var Symbol = global.Symbol;
var WellKnownSymbolsStore = shared('wks');
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;

module.exports = function (name) {
  if (!hasOwn(WellKnownSymbolsStore, name)) {
    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)
      ? Symbol[name]
      : createWellKnownSymbol('Symbol.' + name);
  } return WellKnownSymbolsStore[name];
};


/***/ }),
/* 34 */
/***/ (function(module, exports, __webpack_require__) {

var IS_PURE = __webpack_require__(35);
var store = __webpack_require__(36);

(module.exports = function (key, value) {
  return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
  version: '3.30.2',
  mode: IS_PURE ? 'pure' : 'global',
  copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
  license: 'https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE',
  source: 'https://github.com/zloirock/core-js'
});


/***/ }),
/* 35 */
/***/ (function(module, exports) {

module.exports = false;


/***/ }),
/* 36 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var defineGlobalProperty = __webpack_require__(37);

var SHARED = '__core-js_shared__';
var store = global[SHARED] || defineGlobalProperty(SHARED, {});

module.exports = store;


/***/ }),
/* 37 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);

// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;

module.exports = function (key, value) {
  try {
    defineProperty(global, key, { value: value, configurable: true, writable: true });
  } catch (error) {
    global[key] = value;
  } return value;
};


/***/ }),
/* 38 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var toObject = __webpack_require__(39);

var hasOwnProperty = uncurryThis({}.hasOwnProperty);

// `HasOwnProperty` abstract operation
// https://tc39.es/ecma262/#sec-hasownproperty
// eslint-disable-next-line es/no-object-hasown -- safe
module.exports = Object.hasOwn || function hasOwn(it, key) {
  return hasOwnProperty(toObject(it), key);
};


/***/ }),
/* 39 */
/***/ (function(module, exports, __webpack_require__) {

var requireObjectCoercible = __webpack_require__(15);

var $Object = Object;

// `ToObject` abstract operation
// https://tc39.es/ecma262/#sec-toobject
module.exports = function (argument) {
  return $Object(requireObjectCoercible(argument));
};


/***/ }),
/* 40 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

var id = 0;
var postfix = Math.random();
var toString = uncurryThis(1.0.toString);

module.exports = function (key) {
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
};


/***/ }),
/* 41 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var fails = __webpack_require__(6);
var createElement = __webpack_require__(42);

// Thanks to IE8 for its funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  return Object.defineProperty(createElement('div'), 'a', {
    get: function () { return 7; }
  }).a != 7;
});


/***/ }),
/* 42 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var isObject = __webpack_require__(19);

var document = global.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject(document) && isObject(document.createElement);

module.exports = function (it) {
  return EXISTS ? document.createElement(it) : {};
};


/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var definePropertyModule = __webpack_require__(44);
var createPropertyDescriptor = __webpack_require__(10);

module.exports = DESCRIPTORS ? function (object, key, value) {
  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
  object[key] = value;
  return object;
};


/***/ }),
/* 44 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var IE8_DOM_DEFINE = __webpack_require__(41);
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45);
var anObject = __webpack_require__(46);
var toPropertyKey = __webpack_require__(17);

var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var $defineProperty = Object.defineProperty;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var ENUMERABLE = 'enumerable';
var CONFIGURABLE = 'configurable';
var WRITABLE = 'writable';

// `Object.defineProperty` method
// https://tc39.es/ecma262/#sec-object.defineproperty
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
  anObject(O);
  P = toPropertyKey(P);
  anObject(Attributes);
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
    var current = $getOwnPropertyDescriptor(O, P);
    if (current && current[WRITABLE]) {
      O[P] = Attributes.value;
      Attributes = {
        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
        writable: false
      };
    }
  } return $defineProperty(O, P, Attributes);
} : $defineProperty : function defineProperty(O, P, Attributes) {
  anObject(O);
  P = toPropertyKey(P);
  anObject(Attributes);
  if (IE8_DOM_DEFINE) try {
    return $defineProperty(O, P, Attributes);
  } catch (error) { /* empty */ }
  if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
  if ('value' in Attributes) O[P] = Attributes.value;
  return O;
};


/***/ }),
/* 45 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var fails = __webpack_require__(6);

// V8 ~ Chrome 36-
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
module.exports = DESCRIPTORS && fails(function () {
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
    value: 42,
    writable: false
  }).prototype != 42;
});


/***/ }),
/* 46 */
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(19);

var $String = String;
var $TypeError = TypeError;

// `Assert: Type(argument) is Object`
module.exports = function (argument) {
  if (isObject(argument)) return argument;
  throw $TypeError($String(argument) + ' is not an object');
};


/***/ }),
/* 47 */
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__(20);
var definePropertyModule = __webpack_require__(44);
var makeBuiltIn = __webpack_require__(48);
var defineGlobalProperty = __webpack_require__(37);

module.exports = function (O, key, value, options) {
  if (!options) options = {};
  var simple = options.enumerable;
  var name = options.name !== undefined ? options.name : key;
  if (isCallable(value)) makeBuiltIn(value, name, options);
  if (options.global) {
    if (simple) O[key] = value;
    else defineGlobalProperty(key, value);
  } else {
    try {
      if (!options.unsafe) delete O[key];
      else if (O[key]) simple = true;
    } catch (error) { /* empty */ }
    if (simple) O[key] = value;
    else definePropertyModule.f(O, key, {
      value: value,
      enumerable: false,
      configurable: !options.nonConfigurable,
      writable: !options.nonWritable
    });
  } return O;
};


/***/ }),
/* 48 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var fails = __webpack_require__(6);
var isCallable = __webpack_require__(20);
var hasOwn = __webpack_require__(38);
var DESCRIPTORS = __webpack_require__(5);
var CONFIGURABLE_FUNCTION_NAME = __webpack_require__(49).CONFIGURABLE;
var inspectSource = __webpack_require__(50);
var InternalStateModule = __webpack_require__(51);

var enforceInternalState = InternalStateModule.enforce;
var getInternalState = InternalStateModule.get;
var $String = String;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;
var stringSlice = uncurryThis(''.slice);
var replace = uncurryThis(''.replace);
var join = uncurryThis([].join);

var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {
  return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
});

var TEMPLATE = String(String).split('String');

var makeBuiltIn = module.exports = function (value, name, options) {
  if (stringSlice($String(name), 0, 7) === 'Symbol(') {
    name = '[' + replace($String(name), /^Symbol\(([^)]*)\)/, '$1') + ']';
  }
  if (options && options.getter) name = 'get ' + name;
  if (options && options.setter) name = 'set ' + name;
  if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
    if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });
    else value.name = name;
  }
  if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {
    defineProperty(value, 'length', { value: options.arity });
  }
  try {
    if (options && hasOwn(options, 'constructor') && options.constructor) {
      if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });
    // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
    } else if (value.prototype) value.prototype = undefined;
  } catch (error) { /* empty */ }
  var state = enforceInternalState(value);
  if (!hasOwn(state, 'source')) {
    state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
  } return value;
};

// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
// eslint-disable-next-line no-extend-native -- required
Function.prototype.toString = makeBuiltIn(function toString() {
  return isCallable(this) && getInternalState(this).source || inspectSource(this);
}, 'toString');


/***/ }),
/* 49 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var hasOwn = __webpack_require__(38);

var FunctionPrototype = Function.prototype;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;

var EXISTS = hasOwn(FunctionPrototype, 'name');
// additional protection from minified / mangled / dropped function names
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));

module.exports = {
  EXISTS: EXISTS,
  PROPER: PROPER,
  CONFIGURABLE: CONFIGURABLE
};


/***/ }),
/* 50 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var isCallable = __webpack_require__(20);
var store = __webpack_require__(36);

var functionToString = uncurryThis(Function.toString);

// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
if (!isCallable(store.inspectSource)) {
  store.inspectSource = function (it) {
    return functionToString(it);
  };
}

module.exports = store.inspectSource;


/***/ }),
/* 51 */
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_WEAK_MAP = __webpack_require__(52);
var global = __webpack_require__(3);
var isObject = __webpack_require__(19);
var createNonEnumerableProperty = __webpack_require__(43);
var hasOwn = __webpack_require__(38);
var shared = __webpack_require__(36);
var sharedKey = __webpack_require__(53);
var hiddenKeys = __webpack_require__(54);

var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
var TypeError = global.TypeError;
var WeakMap = global.WeakMap;
var set, get, has;

var enforce = function (it) {
  return has(it) ? get(it) : set(it, {});
};

var getterFor = function (TYPE) {
  return function (it) {
    var state;
    if (!isObject(it) || (state = get(it)).type !== TYPE) {
      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
    } return state;
  };
};

if (NATIVE_WEAK_MAP || shared.state) {
  var store = shared.state || (shared.state = new WeakMap());
  /* eslint-disable no-self-assign -- prototype methods protection */
  store.get = store.get;
  store.has = store.has;
  store.set = store.set;
  /* eslint-enable no-self-assign -- prototype methods protection */
  set = function (it, metadata) {
    if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
    metadata.facade = it;
    store.set(it, metadata);
    return metadata;
  };
  get = function (it) {
    return store.get(it) || {};
  };
  has = function (it) {
    return store.has(it);
  };
} else {
  var STATE = sharedKey('state');
  hiddenKeys[STATE] = true;
  set = function (it, metadata) {
    if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
    metadata.facade = it;
    createNonEnumerableProperty(it, STATE, metadata);
    return metadata;
  };
  get = function (it) {
    return hasOwn(it, STATE) ? it[STATE] : {};
  };
  has = function (it) {
    return hasOwn(it, STATE);
  };
}

module.exports = {
  set: set,
  get: get,
  has: has,
  enforce: enforce,
  getterFor: getterFor
};


/***/ }),
/* 52 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var isCallable = __webpack_require__(20);

var WeakMap = global.WeakMap;

module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));


/***/ }),
/* 53 */
/***/ (function(module, exports, __webpack_require__) {

var shared = __webpack_require__(34);
var uid = __webpack_require__(40);

var keys = shared('keys');

module.exports = function (key) {
  return keys[key] || (keys[key] = uid(key));
};


/***/ }),
/* 54 */
/***/ (function(module, exports) {

module.exports = {};


/***/ }),
/* 55 */
/***/ (function(module, exports, __webpack_require__) {

var hasOwn = __webpack_require__(38);
var ownKeys = __webpack_require__(56);
var getOwnPropertyDescriptorModule = __webpack_require__(4);
var definePropertyModule = __webpack_require__(44);

module.exports = function (target, source, exceptions) {
  var keys = ownKeys(source);
  var defineProperty = definePropertyModule.f;
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
  for (var i = 0; i < keys.length; i++) {
    var key = keys[i];
    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
    }
  }
};


/***/ }),
/* 56 */
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__(23);
var uncurryThis = __webpack_require__(13);
var getOwnPropertyNamesModule = __webpack_require__(57);
var getOwnPropertySymbolsModule = __webpack_require__(66);
var anObject = __webpack_require__(46);

var concat = uncurryThis([].concat);

// all object keys, includes non-enumerable and symbols
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
  var keys = getOwnPropertyNamesModule.f(anObject(it));
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
};


/***/ }),
/* 57 */
/***/ (function(module, exports, __webpack_require__) {

var internalObjectKeys = __webpack_require__(58);
var enumBugKeys = __webpack_require__(65);

var hiddenKeys = enumBugKeys.concat('length', 'prototype');

// `Object.getOwnPropertyNames` method
// https://tc39.es/ecma262/#sec-object.getownpropertynames
// eslint-disable-next-line es/no-object-getownpropertynames -- safe
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  return internalObjectKeys(O, hiddenKeys);
};


/***/ }),
/* 58 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var hasOwn = __webpack_require__(38);
var toIndexedObject = __webpack_require__(11);
var indexOf = __webpack_require__(59).indexOf;
var hiddenKeys = __webpack_require__(54);

var push = uncurryThis([].push);

module.exports = function (object, names) {
  var O = toIndexedObject(object);
  var i = 0;
  var result = [];
  var key;
  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);
  // Don't enum bug & hidden keys
  while (names.length > i) if (hasOwn(O, key = names[i++])) {
    ~indexOf(result, key) || push(result, key);
  }
  return result;
};


/***/ }),
/* 59 */
/***/ (function(module, exports, __webpack_require__) {

var toIndexedObject = __webpack_require__(11);
var toAbsoluteIndex = __webpack_require__(60);
var lengthOfArrayLike = __webpack_require__(63);

// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
  return function ($this, el, fromIndex) {
    var O = toIndexedObject($this);
    var length = lengthOfArrayLike(O);
    var index = toAbsoluteIndex(fromIndex, length);
    var value;
    // Array#includes uses SameValueZero equality algorithm
    // eslint-disable-next-line no-self-compare -- NaN check
    if (IS_INCLUDES && el != el) while (length > index) {
      value = O[index++];
      // eslint-disable-next-line no-self-compare -- NaN check
      if (value != value) return true;
    // Array#indexOf ignores holes, Array#includes - not
    } else for (;length > index; index++) {
      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
    } return !IS_INCLUDES && -1;
  };
};

module.exports = {
  // `Array.prototype.includes` method
  // https://tc39.es/ecma262/#sec-array.prototype.includes
  includes: createMethod(true),
  // `Array.prototype.indexOf` method
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
  indexOf: createMethod(false)
};


/***/ }),
/* 60 */
/***/ (function(module, exports, __webpack_require__) {

var toIntegerOrInfinity = __webpack_require__(61);

var max = Math.max;
var min = Math.min;

// Helper for a popular repeating case of the spec:
// Let integer be ? ToInteger(index).
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
module.exports = function (index, length) {
  var integer = toIntegerOrInfinity(index);
  return integer < 0 ? max(integer + length, 0) : min(integer, length);
};


/***/ }),
/* 61 */
/***/ (function(module, exports, __webpack_require__) {

var trunc = __webpack_require__(62);

// `ToIntegerOrInfinity` abstract operation
// https://tc39.es/ecma262/#sec-tointegerorinfinity
module.exports = function (argument) {
  var number = +argument;
  // eslint-disable-next-line no-self-compare -- NaN check
  return number !== number || number === 0 ? 0 : trunc(number);
};


/***/ }),
/* 62 */
/***/ (function(module, exports) {

var ceil = Math.ceil;
var floor = Math.floor;

// `Math.trunc` method
// https://tc39.es/ecma262/#sec-math.trunc
// eslint-disable-next-line es/no-math-trunc -- safe
module.exports = Math.trunc || function trunc(x) {
  var n = +x;
  return (n > 0 ? floor : ceil)(n);
};


/***/ }),
/* 63 */
/***/ (function(module, exports, __webpack_require__) {

var toLength = __webpack_require__(64);

// `LengthOfArrayLike` abstract operation
// https://tc39.es/ecma262/#sec-lengthofarraylike
module.exports = function (obj) {
  return toLength(obj.length);
};


/***/ }),
/* 64 */
/***/ (function(module, exports, __webpack_require__) {

var toIntegerOrInfinity = __webpack_require__(61);

var min = Math.min;

// `ToLength` abstract operation
// https://tc39.es/ecma262/#sec-tolength
module.exports = function (argument) {
  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};


/***/ }),
/* 65 */
/***/ (function(module, exports) {

// IE8- don't enum bug keys
module.exports = [
  'constructor',
  'hasOwnProperty',
  'isPrototypeOf',
  'propertyIsEnumerable',
  'toLocaleString',
  'toString',
  'valueOf'
];


/***/ }),
/* 66 */
/***/ (function(module, exports) {

// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
exports.f = Object.getOwnPropertySymbols;


/***/ }),
/* 67 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);
var isCallable = __webpack_require__(20);

var replacement = /#|\.prototype\./;

var isForced = function (feature, detection) {
  var value = data[normalize(feature)];
  return value == POLYFILL ? true
    : value == NATIVE ? false
    : isCallable(detection) ? fails(detection)
    : !!detection;
};

var normalize = isForced.normalize = function (string) {
  return String(string).replace(replacement, '.').toLowerCase();
};

var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';

module.exports = isForced;


/***/ }),
/* 68 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var DESCRIPTORS = __webpack_require__(5);
var isArray = __webpack_require__(69);

var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// Safari < 13 does not throw an error in this case
var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
  // makes no sense without proper strict mode support
  if (this !== undefined) return true;
  try {
    // eslint-disable-next-line es/no-object-defineproperty -- safe
    Object.defineProperty([], 'length', { writable: false }).length = 1;
  } catch (error) {
    return error instanceof TypeError;
  }
}();

module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
  if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
    throw $TypeError('Cannot set read only .length');
  } return O.length = length;
} : function (O, length) {
  return O.length = length;
};


/***/ }),
/* 69 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(14);

// `IsArray` abstract operation
// https://tc39.es/ecma262/#sec-isarray
// eslint-disable-next-line es/no-array-isarray -- safe
module.exports = Array.isArray || function isArray(argument) {
  return classof(argument) == 'Array';
};


/***/ }),
/* 70 */
/***/ (function(module, exports) {

var $TypeError = TypeError;
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991

module.exports = function (it) {
  if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');
  return it;
};


/***/ }),
/* 71 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var arrayToReversed = __webpack_require__(72);
var toIndexedObject = __webpack_require__(11);
var addToUnscopables = __webpack_require__(73);

var $Array = Array;

// `Array.prototype.toReversed` method
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed
$({ target: 'Array', proto: true }, {
  toReversed: function toReversed() {
    return arrayToReversed(toIndexedObject(this), $Array);
  }
});

addToUnscopables('toReversed');


/***/ }),
/* 72 */
/***/ (function(module, exports, __webpack_require__) {

var lengthOfArrayLike = __webpack_require__(63);

// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed
module.exports = function (O, C) {
  var len = lengthOfArrayLike(O);
  var A = new C(len);
  var k = 0;
  for (; k < len; k++) A[k] = O[len - k - 1];
  return A;
};


/***/ }),
/* 73 */
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__(33);
var create = __webpack_require__(74);
var defineProperty = __webpack_require__(44).f;

var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;

// Array.prototype[@@unscopables]
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
if (ArrayPrototype[UNSCOPABLES] == undefined) {
  defineProperty(ArrayPrototype, UNSCOPABLES, {
    configurable: true,
    value: create(null)
  });
}

// add a key to Array.prototype[@@unscopables]
module.exports = function (key) {
  ArrayPrototype[UNSCOPABLES][key] = true;
};


/***/ }),
/* 74 */
/***/ (function(module, exports, __webpack_require__) {

/* global ActiveXObject -- old IE, WSH */
var anObject = __webpack_require__(46);
var definePropertiesModule = __webpack_require__(75);
var enumBugKeys = __webpack_require__(65);
var hiddenKeys = __webpack_require__(54);
var html = __webpack_require__(77);
var documentCreateElement = __webpack_require__(42);
var sharedKey = __webpack_require__(53);

var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');

var EmptyConstructor = function () { /* empty */ };

var scriptTag = function (content) {
  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};

// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
var NullProtoObjectViaActiveX = function (activeXDocument) {
  activeXDocument.write(scriptTag(''));
  activeXDocument.close();
  var temp = activeXDocument.parentWindow.Object;
  activeXDocument = null; // avoid memory leak
  return temp;
};

// Create object with fake `null` prototype: use iframe Object with cleared prototype
var NullProtoObjectViaIFrame = function () {
  // Thrash, waste and sodomy: IE GC bug
  var iframe = documentCreateElement('iframe');
  var JS = 'java' + SCRIPT + ':';
  var iframeDocument;
  iframe.style.display = 'none';
  html.appendChild(iframe);
  // https://github.com/zloirock/core-js/issues/475
  iframe.src = String(JS);
  iframeDocument = iframe.contentWindow.document;
  iframeDocument.open();
  iframeDocument.write(scriptTag('document.F=Object'));
  iframeDocument.close();
  return iframeDocument.F;
};

// Check for document.domain and active x support
// No need to use active x approach when document.domain is not set
// see https://github.com/es-shims/es5-shim/issues/150
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
// avoid IE GC bug
var activeXDocument;
var NullProtoObject = function () {
  try {
    activeXDocument = new ActiveXObject('htmlfile');
  } catch (error) { /* ignore */ }
  NullProtoObject = typeof document != 'undefined'
    ? document.domain && activeXDocument
      ? NullProtoObjectViaActiveX(activeXDocument) // old IE
      : NullProtoObjectViaIFrame()
    : NullProtoObjectViaActiveX(activeXDocument); // WSH
  var length = enumBugKeys.length;
  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
  return NullProtoObject();
};

hiddenKeys[IE_PROTO] = true;

// `Object.create` method
// https://tc39.es/ecma262/#sec-object.create
// eslint-disable-next-line es/no-object-create -- safe
module.exports = Object.create || function create(O, Properties) {
  var result;
  if (O !== null) {
    EmptyConstructor[PROTOTYPE] = anObject(O);
    result = new EmptyConstructor();
    EmptyConstructor[PROTOTYPE] = null;
    // add "__proto__" for Object.getPrototypeOf polyfill
    result[IE_PROTO] = O;
  } else result = NullProtoObject();
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
};


/***/ }),
/* 75 */
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__(5);
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__(45);
var definePropertyModule = __webpack_require__(44);
var anObject = __webpack_require__(46);
var toIndexedObject = __webpack_require__(11);
var objectKeys = __webpack_require__(76);

// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
// eslint-disable-next-line es/no-object-defineproperties -- safe
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
  anObject(O);
  var props = toIndexedObject(Properties);
  var keys = objectKeys(Properties);
  var length = keys.length;
  var index = 0;
  var key;
  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
  return O;
};


/***/ }),
/* 76 */
/***/ (function(module, exports, __webpack_require__) {

var internalObjectKeys = __webpack_require__(58);
var enumBugKeys = __webpack_require__(65);

// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
// eslint-disable-next-line es/no-object-keys -- safe
module.exports = Object.keys || function keys(O) {
  return internalObjectKeys(O, enumBugKeys);
};


/***/ }),
/* 77 */
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__(23);

module.exports = getBuiltIn('document', 'documentElement');


/***/ }),
/* 78 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var aCallable = __webpack_require__(30);
var toIndexedObject = __webpack_require__(11);
var arrayFromConstructorAndList = __webpack_require__(79);
var getVirtual = __webpack_require__(80);
var addToUnscopables = __webpack_require__(73);

var $Array = Array;
var sort = uncurryThis(getVirtual('Array').sort);

// `Array.prototype.toSorted` method
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSorted
$({ target: 'Array', proto: true }, {
  toSorted: function toSorted(compareFn) {
    if (compareFn !== undefined) aCallable(compareFn);
    var O = toIndexedObject(this);
    var A = arrayFromConstructorAndList($Array, O);
    return sort(A, compareFn);
  }
});

addToUnscopables('toSorted');


/***/ }),
/* 79 */
/***/ (function(module, exports, __webpack_require__) {

var lengthOfArrayLike = __webpack_require__(63);

module.exports = function (Constructor, list) {
  var index = 0;
  var length = lengthOfArrayLike(list);
  var result = new Constructor(length);
  while (length > index) result[index] = list[index++];
  return result;
};


/***/ }),
/* 80 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);

module.exports = function (CONSTRUCTOR) {
  return global[CONSTRUCTOR].prototype;
};


/***/ }),
/* 81 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var addToUnscopables = __webpack_require__(73);
var doesNotExceedSafeInteger = __webpack_require__(70);
var lengthOfArrayLike = __webpack_require__(63);
var toAbsoluteIndex = __webpack_require__(60);
var toIndexedObject = __webpack_require__(11);
var toIntegerOrInfinity = __webpack_require__(61);

var $Array = Array;
var max = Math.max;
var min = Math.min;

// `Array.prototype.toSpliced` method
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced
$({ target: 'Array', proto: true }, {
  toSpliced: function toSpliced(start, deleteCount /* , ...items */) {
    var O = toIndexedObject(this);
    var len = lengthOfArrayLike(O);
    var actualStart = toAbsoluteIndex(start, len);
    var argumentsLength = arguments.length;
    var k = 0;
    var insertCount, actualDeleteCount, newLen, A;
    if (argumentsLength === 0) {
      insertCount = actualDeleteCount = 0;
    } else if (argumentsLength === 1) {
      insertCount = 0;
      actualDeleteCount = len - actualStart;
    } else {
      insertCount = argumentsLength - 2;
      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
    }
    newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
    A = $Array(newLen);

    for (; k < actualStart; k++) A[k] = O[k];
    for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2];
    for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount];

    return A;
  }
});

addToUnscopables('toSpliced');


/***/ }),
/* 82 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var arrayWith = __webpack_require__(83);
var toIndexedObject = __webpack_require__(11);

var $Array = Array;

// `Array.prototype.with` method
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
$({ target: 'Array', proto: true }, {
  'with': function (index, value) {
    return arrayWith(toIndexedObject(this), $Array, index, value);
  }
});


/***/ }),
/* 83 */
/***/ (function(module, exports, __webpack_require__) {

var lengthOfArrayLike = __webpack_require__(63);
var toIntegerOrInfinity = __webpack_require__(61);

var $RangeError = RangeError;

// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
module.exports = function (O, C, index, value) {
  var len = lengthOfArrayLike(O);
  var relativeIndex = toIntegerOrInfinity(index);
  var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
  if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');
  var A = new C(len);
  var k = 0;
  for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];
  return A;
};


/***/ }),
/* 84 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var DESCRIPTORS = __webpack_require__(5);
var defineBuiltInAccessor = __webpack_require__(85);
var regExpFlags = __webpack_require__(86);
var fails = __webpack_require__(6);

// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError
var RegExp = global.RegExp;
var RegExpPrototype = RegExp.prototype;

var FORCED = DESCRIPTORS && fails(function () {
  var INDICES_SUPPORT = true;
  try {
    RegExp('.', 'd');
  } catch (error) {
    INDICES_SUPPORT = false;
  }

  var O = {};
  // modern V8 bug
  var calls = '';
  var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';

  var addGetter = function (key, chr) {
    // eslint-disable-next-line es/no-object-defineproperty -- safe
    Object.defineProperty(O, key, { get: function () {
      calls += chr;
      return true;
    } });
  };

  var pairs = {
    dotAll: 's',
    global: 'g',
    ignoreCase: 'i',
    multiline: 'm',
    sticky: 'y'
  };

  if (INDICES_SUPPORT) pairs.hasIndices = 'd';

  for (var key in pairs) addGetter(key, pairs[key]);

  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
  var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);

  return result !== expected || calls !== expected;
});

// `RegExp.prototype.flags` getter
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {
  configurable: true,
  get: regExpFlags
});


/***/ }),
/* 85 */
/***/ (function(module, exports, __webpack_require__) {

var makeBuiltIn = __webpack_require__(48);
var defineProperty = __webpack_require__(44);

module.exports = function (target, name, descriptor) {
  if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
  if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
  return defineProperty.f(target, name, descriptor);
};


/***/ }),
/* 86 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var anObject = __webpack_require__(46);

// `RegExp.prototype.flags` getter implementation
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
module.exports = function () {
  var that = anObject(this);
  var result = '';
  if (that.hasIndices) result += 'd';
  if (that.global) result += 'g';
  if (that.ignoreCase) result += 'i';
  if (that.multiline) result += 'm';
  if (that.dotAll) result += 's';
  if (that.unicode) result += 'u';
  if (that.unicodeSets) result += 'v';
  if (that.sticky) result += 'y';
  return result;
};


/***/ }),
/* 87 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var arrayToReversed = __webpack_require__(72);
var ArrayBufferViewCore = __webpack_require__(88);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;

// `%TypedArray%.prototype.toReversed` method
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed
exportTypedArrayMethod('toReversed', function toReversed() {
  return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));
});


/***/ }),
/* 88 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var NATIVE_ARRAY_BUFFER = __webpack_require__(89);
var DESCRIPTORS = __webpack_require__(5);
var global = __webpack_require__(3);
var isCallable = __webpack_require__(20);
var isObject = __webpack_require__(19);
var hasOwn = __webpack_require__(38);
var classof = __webpack_require__(90);
var tryToString = __webpack_require__(31);
var createNonEnumerableProperty = __webpack_require__(43);
var defineBuiltIn = __webpack_require__(47);
var defineBuiltInAccessor = __webpack_require__(85);
var isPrototypeOf = __webpack_require__(24);
var getPrototypeOf = __webpack_require__(92);
var setPrototypeOf = __webpack_require__(94);
var wellKnownSymbol = __webpack_require__(33);
var uid = __webpack_require__(40);
var InternalStateModule = __webpack_require__(51);

var enforceInternalState = InternalStateModule.enforce;
var getInternalState = InternalStateModule.get;
var Int8Array = global.Int8Array;
var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
var Uint8ClampedArray = global.Uint8ClampedArray;
var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
var TypedArray = Int8Array && getPrototypeOf(Int8Array);
var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
var ObjectPrototype = Object.prototype;
var TypeError = global.TypeError;

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
var TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';
// Fixing native typed arrays in Opera Presto crashes the browser, see #595
var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
var TYPED_ARRAY_TAG_REQUIRED = false;
var NAME, Constructor, Prototype;

var TypedArrayConstructorsList = {
  Int8Array: 1,
  Uint8Array: 1,
  Uint8ClampedArray: 1,
  Int16Array: 2,
  Uint16Array: 2,
  Int32Array: 4,
  Uint32Array: 4,
  Float32Array: 4,
  Float64Array: 8
};

var BigIntArrayConstructorsList = {
  BigInt64Array: 8,
  BigUint64Array: 8
};

var isView = function isView(it) {
  if (!isObject(it)) return false;
  var klass = classof(it);
  return klass === 'DataView'
    || hasOwn(TypedArrayConstructorsList, klass)
    || hasOwn(BigIntArrayConstructorsList, klass);
};

var getTypedArrayConstructor = function (it) {
  var proto = getPrototypeOf(it);
  if (!isObject(proto)) return;
  var state = getInternalState(proto);
  return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);
};

var isTypedArray = function (it) {
  if (!isObject(it)) return false;
  var klass = classof(it);
  return hasOwn(TypedArrayConstructorsList, klass)
    || hasOwn(BigIntArrayConstructorsList, klass);
};

var aTypedArray = function (it) {
  if (isTypedArray(it)) return it;
  throw TypeError('Target is not a typed array');
};

var aTypedArrayConstructor = function (C) {
  if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;
  throw TypeError(tryToString(C) + ' is not a typed array constructor');
};

var exportTypedArrayMethod = function (KEY, property, forced, options) {
  if (!DESCRIPTORS) return;
  if (forced) for (var ARRAY in TypedArrayConstructorsList) {
    var TypedArrayConstructor = global[ARRAY];
    if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {
      delete TypedArrayConstructor.prototype[KEY];
    } catch (error) {
      // old WebKit bug - some methods are non-configurable
      try {
        TypedArrayConstructor.prototype[KEY] = property;
      } catch (error2) { /* empty */ }
    }
  }
  if (!TypedArrayPrototype[KEY] || forced) {
    defineBuiltIn(TypedArrayPrototype, KEY, forced ? property
      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
  }
};

var exportTypedArrayStaticMethod = function (KEY, property, forced) {
  var ARRAY, TypedArrayConstructor;
  if (!DESCRIPTORS) return;
  if (setPrototypeOf) {
    if (forced) for (ARRAY in TypedArrayConstructorsList) {
      TypedArrayConstructor = global[ARRAY];
      if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {
        delete TypedArrayConstructor[KEY];
      } catch (error) { /* empty */ }
    }
    if (!TypedArray[KEY] || forced) {
      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
      try {
        return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
      } catch (error) { /* empty */ }
    } else return;
  }
  for (ARRAY in TypedArrayConstructorsList) {
    TypedArrayConstructor = global[ARRAY];
    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
      defineBuiltIn(TypedArrayConstructor, KEY, property);
    }
  }
};

for (NAME in TypedArrayConstructorsList) {
  Constructor = global[NAME];
  Prototype = Constructor && Constructor.prototype;
  if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
  else NATIVE_ARRAY_BUFFER_VIEWS = false;
}

for (NAME in BigIntArrayConstructorsList) {
  Constructor = global[NAME];
  Prototype = Constructor && Constructor.prototype;
  if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;
}

// WebKit bug - typed arrays constructors prototype is Object.prototype
if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {
  // eslint-disable-next-line no-shadow -- safe
  TypedArray = function TypedArray() {
    throw TypeError('Incorrect invocation');
  };
  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
  }
}

if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
  TypedArrayPrototype = TypedArray.prototype;
  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
  }
}

// WebKit bug - one more object in Uint8ClampedArray prototype chain
if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
}

if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
  TYPED_ARRAY_TAG_REQUIRED = true;
  defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {
    configurable: true,
    get: function () {
      return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
    }
  });
  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
  }
}

module.exports = {
  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,
  aTypedArray: aTypedArray,
  aTypedArrayConstructor: aTypedArrayConstructor,
  exportTypedArrayMethod: exportTypedArrayMethod,
  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
  getTypedArrayConstructor: getTypedArrayConstructor,
  isView: isView,
  isTypedArray: isTypedArray,
  TypedArray: TypedArray,
  TypedArrayPrototype: TypedArrayPrototype
};


/***/ }),
/* 89 */
/***/ (function(module, exports) {

// eslint-disable-next-line es/no-typed-arrays -- safe
module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';


/***/ }),
/* 90 */
/***/ (function(module, exports, __webpack_require__) {

var TO_STRING_TAG_SUPPORT = __webpack_require__(91);
var isCallable = __webpack_require__(20);
var classofRaw = __webpack_require__(14);
var wellKnownSymbol = __webpack_require__(33);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var $Object = Object;

// ES3 wrong here
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';

// fallback for IE11 Script Access Denied error
var tryGet = function (it, key) {
  try {
    return it[key];
  } catch (error) { /* empty */ }
};

// getting tag from ES6+ `Object.prototype.toString`
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
  var O, tag, result;
  return it === undefined ? 'Undefined' : it === null ? 'Null'
    // @@toStringTag case
    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
    // builtinTag case
    : CORRECT_ARGUMENTS ? classofRaw(O)
    // ES3 arguments fallback
    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
};


/***/ }),
/* 91 */
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__(33);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var test = {};

test[TO_STRING_TAG] = 'z';

module.exports = String(test) === '[object z]';


/***/ }),
/* 92 */
/***/ (function(module, exports, __webpack_require__) {

var hasOwn = __webpack_require__(38);
var isCallable = __webpack_require__(20);
var toObject = __webpack_require__(39);
var sharedKey = __webpack_require__(53);
var CORRECT_PROTOTYPE_GETTER = __webpack_require__(93);

var IE_PROTO = sharedKey('IE_PROTO');
var $Object = Object;
var ObjectPrototype = $Object.prototype;

// `Object.getPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.getprototypeof
// eslint-disable-next-line es/no-object-getprototypeof -- safe
module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {
  var object = toObject(O);
  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
  var constructor = object.constructor;
  if (isCallable(constructor) && object instanceof constructor) {
    return constructor.prototype;
  } return object instanceof $Object ? ObjectPrototype : null;
};


/***/ }),
/* 93 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);

module.exports = !fails(function () {
  function F() { /* empty */ }
  F.prototype.constructor = null;
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
  return Object.getPrototypeOf(new F()) !== F.prototype;
});


/***/ }),
/* 94 */
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable no-proto -- safe */
var uncurryThisAccessor = __webpack_require__(95);
var anObject = __webpack_require__(46);
var aPossiblePrototype = __webpack_require__(96);

// `Object.setPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.setprototypeof
// Works with __proto__ only. Old v8 can't work with null proto objects.
// eslint-disable-next-line es/no-object-setprototypeof -- safe
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
  var CORRECT_SETTER = false;
  var test = {};
  var setter;
  try {
    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
    setter(test, []);
    CORRECT_SETTER = test instanceof Array;
  } catch (error) { /* empty */ }
  return function setPrototypeOf(O, proto) {
    anObject(O);
    aPossiblePrototype(proto);
    if (CORRECT_SETTER) setter(O, proto);
    else O.__proto__ = proto;
    return O;
  };
}() : undefined);


/***/ }),
/* 95 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var aCallable = __webpack_require__(30);

module.exports = function (object, key, method) {
  try {
    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
  } catch (error) { /* empty */ }
};


/***/ }),
/* 96 */
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__(20);

var $String = String;
var $TypeError = TypeError;

module.exports = function (argument) {
  if (typeof argument == 'object' || isCallable(argument)) return argument;
  throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
};


/***/ }),
/* 97 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__(88);
var uncurryThis = __webpack_require__(13);
var aCallable = __webpack_require__(30);
var arrayFromConstructorAndList = __webpack_require__(79);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);

// `%TypedArray%.prototype.toSorted` method
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSorted
exportTypedArrayMethod('toSorted', function toSorted(compareFn) {
  if (compareFn !== undefined) aCallable(compareFn);
  var O = aTypedArray(this);
  var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);
  return sort(A, compareFn);
});


/***/ }),
/* 98 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var arrayWith = __webpack_require__(83);
var ArrayBufferViewCore = __webpack_require__(88);
var isBigIntArray = __webpack_require__(99);
var toIntegerOrInfinity = __webpack_require__(61);
var toBigInt = __webpack_require__(100);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

var PROPER_ORDER = !!function () {
  try {
    // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing
    new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });
  } catch (error) {
    // some early implementations, like WebKit, does not follow the final semantic
    // https://github.com/tc39/proposal-change-array-by-copy/pull/86
    return error === 8;
  }
}();

// `%TypedArray%.prototype.with` method
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
exportTypedArrayMethod('with', { 'with': function (index, value) {
  var O = aTypedArray(this);
  var relativeIndex = toIntegerOrInfinity(index);
  var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;
  return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);
} }['with'], !PROPER_ORDER);


/***/ }),
/* 99 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(90);

module.exports = function (it) {
  var klass = classof(it);
  return klass == 'BigInt64Array' || klass == 'BigUint64Array';
};


/***/ }),
/* 100 */
/***/ (function(module, exports, __webpack_require__) {

var toPrimitive = __webpack_require__(18);

var $TypeError = TypeError;

// `ToBigInt` abstract operation
// https://tc39.es/ecma262/#sec-tobigint
module.exports = function (argument) {
  var prim = toPrimitive(argument, 'number');
  if (typeof prim == 'number') throw $TypeError("Can't convert number to bigint");
  // eslint-disable-next-line es/no-bigint -- safe
  return BigInt(prim);
};


/***/ }),
/* 101 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var isPrototypeOf = __webpack_require__(24);
var getPrototypeOf = __webpack_require__(92);
var setPrototypeOf = __webpack_require__(94);
var copyConstructorProperties = __webpack_require__(55);
var create = __webpack_require__(74);
var createNonEnumerableProperty = __webpack_require__(43);
var createPropertyDescriptor = __webpack_require__(10);
var installErrorStack = __webpack_require__(102);
var normalizeStringArgument = __webpack_require__(105);
var wellKnownSymbol = __webpack_require__(33);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var $Error = Error;

var $SuppressedError = function SuppressedError(error, suppressed, message) {
  var isInstance = isPrototypeOf(SuppressedErrorPrototype, this);
  var that;
  if (setPrototypeOf) {
    that = setPrototypeOf($Error(), isInstance ? getPrototypeOf(this) : SuppressedErrorPrototype);
  } else {
    that = isInstance ? this : create(SuppressedErrorPrototype);
    createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
  }
  if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));
  installErrorStack(that, $SuppressedError, that.stack, 1);
  createNonEnumerableProperty(that, 'error', error);
  createNonEnumerableProperty(that, 'suppressed', suppressed);
  return that;
};

if (setPrototypeOf) setPrototypeOf($SuppressedError, $Error);
else copyConstructorProperties($SuppressedError, $Error, { name: true });

var SuppressedErrorPrototype = $SuppressedError.prototype = create($Error.prototype, {
  constructor: createPropertyDescriptor(1, $SuppressedError),
  message: createPropertyDescriptor(1, ''),
  name: createPropertyDescriptor(1, 'SuppressedError')
});

// `SuppressedError` constructor
// https://github.com/tc39/proposal-explicit-resource-management
$({ global: true, constructor: true, arity: 3 }, {
  SuppressedError: $SuppressedError
});


/***/ }),
/* 102 */
/***/ (function(module, exports, __webpack_require__) {

var createNonEnumerableProperty = __webpack_require__(43);
var clearErrorStack = __webpack_require__(103);
var ERROR_STACK_INSTALLABLE = __webpack_require__(104);

// non-standard V8
var captureStackTrace = Error.captureStackTrace;

module.exports = function (error, C, stack, dropEntries) {
  if (ERROR_STACK_INSTALLABLE) {
    if (captureStackTrace) captureStackTrace(error, C);
    else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));
  }
};


/***/ }),
/* 103 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

var $Error = Error;
var replace = uncurryThis(''.replace);

var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');
// eslint-disable-next-line redos/no-vulnerable -- safe
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);

module.exports = function (stack, dropEntries) {
  if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
    while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
  } return stack;
};


/***/ }),
/* 104 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);
var createPropertyDescriptor = __webpack_require__(10);

module.exports = !fails(function () {
  var error = Error('a');
  if (!('stack' in error)) return true;
  // eslint-disable-next-line es/no-object-defineproperty -- safe
  Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
  return error.stack !== 7;
});


/***/ }),
/* 105 */
/***/ (function(module, exports, __webpack_require__) {

var toString = __webpack_require__(106);

module.exports = function (argument, $default) {
  return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
};


/***/ }),
/* 106 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(90);

var $String = String;

module.exports = function (argument) {
  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
  return $String(argument);
};


/***/ }),
/* 107 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var fromAsync = __webpack_require__(108);

// `Array.fromAsync` method
// https://github.com/tc39/proposal-array-from-async
$({ target: 'Array', stat: true }, {
  fromAsync: fromAsync
});


/***/ }),
/* 108 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var bind = __webpack_require__(109);
var uncurryThis = __webpack_require__(13);
var toObject = __webpack_require__(39);
var isConstructor = __webpack_require__(111);
var getAsyncIterator = __webpack_require__(112);
var getIterator = __webpack_require__(117);
var getIteratorDirect = __webpack_require__(120);
var getIteratorMethod = __webpack_require__(118);
var getMethod = __webpack_require__(29);
var getVirtual = __webpack_require__(80);
var getBuiltIn = __webpack_require__(23);
var wellKnownSymbol = __webpack_require__(33);
var AsyncFromSyncIterator = __webpack_require__(113);
var toArray = __webpack_require__(121).toArray;

var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
var arrayIterator = uncurryThis(getVirtual('Array').values);
var arrayIteratorNext = uncurryThis(arrayIterator([]).next);

var safeArrayIterator = function () {
  return new SafeArrayIterator(this);
};

var SafeArrayIterator = function (O) {
  this.iterator = arrayIterator(O);
};

SafeArrayIterator.prototype.next = function () {
  return arrayIteratorNext(this.iterator);
};

// `Array.fromAsync` method implementation
// https://github.com/tc39/proposal-array-from-async
module.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {
  var C = this;
  var argumentsLength = arguments.length;
  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
  var thisArg = argumentsLength > 2 ? arguments[2] : undefined;
  return new (getBuiltIn('Promise'))(function (resolve) {
    var O = toObject(asyncItems);
    if (mapfn !== undefined) mapfn = bind(mapfn, thisArg);
    var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR);
    var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || safeArrayIterator;
    var A = isConstructor(C) ? new C() : [];
    var iterator = usingAsyncIterator
      ? getAsyncIterator(O, usingAsyncIterator)
      : new AsyncFromSyncIterator(getIteratorDirect(getIterator(O, usingSyncIterator)));
    resolve(toArray(iterator, mapfn, A));
  });
};


/***/ }),
/* 109 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(110);
var aCallable = __webpack_require__(30);
var NATIVE_BIND = __webpack_require__(8);

var bind = uncurryThis(uncurryThis.bind);

// optional / simple context binding
module.exports = function (fn, that) {
  aCallable(fn);
  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
    return fn.apply(that, arguments);
  };
};


/***/ }),
/* 110 */
/***/ (function(module, exports, __webpack_require__) {

var classofRaw = __webpack_require__(14);
var uncurryThis = __webpack_require__(13);

module.exports = function (fn) {
  // Nashorn bug:
  //   https://github.com/zloirock/core-js/issues/1128
  //   https://github.com/zloirock/core-js/issues/1130
  if (classofRaw(fn) === 'Function') return uncurryThis(fn);
};


/***/ }),
/* 111 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var fails = __webpack_require__(6);
var isCallable = __webpack_require__(20);
var classof = __webpack_require__(90);
var getBuiltIn = __webpack_require__(23);
var inspectSource = __webpack_require__(50);

var noop = function () { /* empty */ };
var empty = [];
var construct = getBuiltIn('Reflect', 'construct');
var constructorRegExp = /^\s*(?:class|function)\b/;
var exec = uncurryThis(constructorRegExp.exec);
var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);

var isConstructorModern = function isConstructor(argument) {
  if (!isCallable(argument)) return false;
  try {
    construct(noop, empty, argument);
    return true;
  } catch (error) {
    return false;
  }
};

var isConstructorLegacy = function isConstructor(argument) {
  if (!isCallable(argument)) return false;
  switch (classof(argument)) {
    case 'AsyncFunction':
    case 'GeneratorFunction':
    case 'AsyncGeneratorFunction': return false;
  }
  try {
    // we can't check .prototype since constructors produced by .bind haven't it
    // `Function#toString` throws on some built-it function in some legacy engines
    // (for example, `DOMQuad` and similar in FF41-)
    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
  } catch (error) {
    return true;
  }
};

isConstructorLegacy.sham = true;

// `IsConstructor` abstract operation
// https://tc39.es/ecma262/#sec-isconstructor
module.exports = !construct || fails(function () {
  var called;
  return isConstructorModern(isConstructorModern.call)
    || !isConstructorModern(Object)
    || !isConstructorModern(function () { called = true; })
    || called;
}) ? isConstructorLegacy : isConstructorModern;


/***/ }),
/* 112 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var AsyncFromSyncIterator = __webpack_require__(113);
var anObject = __webpack_require__(46);
var getIterator = __webpack_require__(117);
var getIteratorDirect = __webpack_require__(120);
var getMethod = __webpack_require__(29);
var wellKnownSymbol = __webpack_require__(33);

var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');

module.exports = function (it, usingIterator) {
  var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator;
  return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIteratorDirect(getIterator(it)));
};


/***/ }),
/* 113 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var create = __webpack_require__(74);
var getMethod = __webpack_require__(29);
var defineBuiltIns = __webpack_require__(114);
var InternalStateModule = __webpack_require__(51);
var getBuiltIn = __webpack_require__(23);
var AsyncIteratorPrototype = __webpack_require__(115);
var createIterResultObject = __webpack_require__(116);

var Promise = getBuiltIn('Promise');

var ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(ASYNC_FROM_SYNC_ITERATOR);

var asyncFromSyncIteratorContinuation = function (result, resolve, reject) {
  var done = result.done;
  Promise.resolve(result.value).then(function (value) {
    resolve(createIterResultObject(value, done));
  }, reject);
};

var AsyncFromSyncIterator = function AsyncIterator(iteratorRecord) {
  iteratorRecord.type = ASYNC_FROM_SYNC_ITERATOR;
  setInternalState(this, iteratorRecord);
};

AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {
  next: function next() {
    var state = getInternalState(this);
    return new Promise(function (resolve, reject) {
      var result = anObject(call(state.next, state.iterator));
      asyncFromSyncIteratorContinuation(result, resolve, reject);
    });
  },
  'return': function () {
    var iterator = getInternalState(this).iterator;
    return new Promise(function (resolve, reject) {
      var $return = getMethod(iterator, 'return');
      if ($return === undefined) return resolve(createIterResultObject(undefined, true));
      var result = anObject(call($return, iterator));
      asyncFromSyncIteratorContinuation(result, resolve, reject);
    });
  }
});

module.exports = AsyncFromSyncIterator;


/***/ }),
/* 114 */
/***/ (function(module, exports, __webpack_require__) {

var defineBuiltIn = __webpack_require__(47);

module.exports = function (target, src, options) {
  for (var key in src) defineBuiltIn(target, key, src[key], options);
  return target;
};


/***/ }),
/* 115 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var shared = __webpack_require__(36);
var isCallable = __webpack_require__(20);
var create = __webpack_require__(74);
var getPrototypeOf = __webpack_require__(92);
var defineBuiltIn = __webpack_require__(47);
var wellKnownSymbol = __webpack_require__(33);
var IS_PURE = __webpack_require__(35);

var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
var AsyncIterator = global.AsyncIterator;
var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype;
var AsyncIteratorPrototype, prototype;

if (PassedAsyncIteratorPrototype) {
  AsyncIteratorPrototype = PassedAsyncIteratorPrototype;
} else if (isCallable(AsyncIterator)) {
  AsyncIteratorPrototype = AsyncIterator.prototype;
} else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) {
  try {
    // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax
    prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')())));
    if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype;
  } catch (error) { /* empty */ }
}

if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};
else if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype);

if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {
  defineBuiltIn(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
    return this;
  });
}

module.exports = AsyncIteratorPrototype;


/***/ }),
/* 116 */
/***/ (function(module, exports) {

// `CreateIterResultObject` abstract operation
// https://tc39.es/ecma262/#sec-createiterresultobject
module.exports = function (value, done) {
  return { value: value, done: done };
};


/***/ }),
/* 117 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var tryToString = __webpack_require__(31);
var getIteratorMethod = __webpack_require__(118);

var $TypeError = TypeError;

module.exports = function (argument, usingIterator) {
  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
  throw $TypeError(tryToString(argument) + ' is not iterable');
};


/***/ }),
/* 118 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(90);
var getMethod = __webpack_require__(29);
var isNullOrUndefined = __webpack_require__(16);
var Iterators = __webpack_require__(119);
var wellKnownSymbol = __webpack_require__(33);

var ITERATOR = wellKnownSymbol('iterator');

module.exports = function (it) {
  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
    || getMethod(it, '@@iterator')
    || Iterators[classof(it)];
};


/***/ }),
/* 119 */
/***/ (function(module, exports) {

module.exports = {};


/***/ }),
/* 120 */
/***/ (function(module, exports, __webpack_require__) {

var aCallable = __webpack_require__(30);

module.exports = function (obj) {
  return {
    iterator: obj,
    next: aCallable(obj.next)
  };
};


/***/ }),
/* 121 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-iterator-helpers
// https://github.com/tc39/proposal-array-from-async
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var isObject = __webpack_require__(19);
var doesNotExceedSafeInteger = __webpack_require__(70);
var getBuiltIn = __webpack_require__(23);
var getIteratorDirect = __webpack_require__(120);
var closeAsyncIteration = __webpack_require__(122);

var createMethod = function (TYPE) {
  var IS_TO_ARRAY = TYPE == 0;
  var IS_FOR_EACH = TYPE == 1;
  var IS_EVERY = TYPE == 2;
  var IS_SOME = TYPE == 3;
  return function (object, fn, target) {
    anObject(object);
    var MAPPING = fn !== undefined;
    if (MAPPING || !IS_TO_ARRAY) aCallable(fn);
    var record = getIteratorDirect(object);
    var Promise = getBuiltIn('Promise');
    var iterator = record.iterator;
    var next = record.next;
    var counter = 0;

    return new Promise(function (resolve, reject) {
      var ifAbruptCloseAsyncIterator = function (error) {
        closeAsyncIteration(iterator, reject, error, reject);
      };

      var loop = function () {
        try {
          if (MAPPING) try {
            doesNotExceedSafeInteger(counter);
          } catch (error5) { ifAbruptCloseAsyncIterator(error5); }
          Promise.resolve(anObject(call(next, iterator))).then(function (step) {
            try {
              if (anObject(step).done) {
                if (IS_TO_ARRAY) {
                  target.length = counter;
                  resolve(target);
                } else resolve(IS_SOME ? false : IS_EVERY || undefined);
              } else {
                var value = step.value;
                try {
                  if (MAPPING) {
                    var result = fn(value, counter);

                    var handler = function ($result) {
                      if (IS_FOR_EACH) {
                        loop();
                      } else if (IS_EVERY) {
                        $result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);
                      } else if (IS_TO_ARRAY) {
                        try {
                          target[counter++] = $result;
                          loop();
                        } catch (error4) { ifAbruptCloseAsyncIterator(error4); }
                      } else {
                        $result ? closeAsyncIteration(iterator, resolve, IS_SOME || value, reject) : loop();
                      }
                    };

                    if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
                    else handler(result);
                  } else {
                    target[counter++] = value;
                    loop();
                  }
                } catch (error3) { ifAbruptCloseAsyncIterator(error3); }
              }
            } catch (error2) { reject(error2); }
          }, reject);
        } catch (error) { reject(error); }
      };

      loop();
    });
  };
};

module.exports = {
  toArray: createMethod(0),
  forEach: createMethod(1),
  every: createMethod(2),
  some: createMethod(3),
  find: createMethod(4)
};


/***/ }),
/* 122 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var getBuiltIn = __webpack_require__(23);
var getMethod = __webpack_require__(29);

module.exports = function (iterator, method, argument, reject) {
  try {
    var returnMethod = getMethod(iterator, 'return');
    if (returnMethod) {
      return getBuiltIn('Promise').resolve(call(returnMethod, iterator)).then(function () {
        method(argument);
      }, function (error) {
        reject(error);
      });
    }
  } catch (error2) {
    return reject(error2);
  } method(argument);
};


/***/ }),
/* 123 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: remove from `core-js@4`
var $ = __webpack_require__(2);
var $filterReject = __webpack_require__(124).filterReject;
var addToUnscopables = __webpack_require__(73);

// `Array.prototype.filterOut` method
// https://github.com/tc39/proposal-array-filtering
$({ target: 'Array', proto: true, forced: true }, {
  filterOut: function filterOut(callbackfn /* , thisArg */) {
    return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

addToUnscopables('filterOut');


/***/ }),
/* 124 */
/***/ (function(module, exports, __webpack_require__) {

var bind = __webpack_require__(109);
var uncurryThis = __webpack_require__(13);
var IndexedObject = __webpack_require__(12);
var toObject = __webpack_require__(39);
var lengthOfArrayLike = __webpack_require__(63);
var arraySpeciesCreate = __webpack_require__(125);

var push = uncurryThis([].push);

// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
var createMethod = function (TYPE) {
  var IS_MAP = TYPE == 1;
  var IS_FILTER = TYPE == 2;
  var IS_SOME = TYPE == 3;
  var IS_EVERY = TYPE == 4;
  var IS_FIND_INDEX = TYPE == 6;
  var IS_FILTER_REJECT = TYPE == 7;
  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  return function ($this, callbackfn, that, specificCreate) {
    var O = toObject($this);
    var self = IndexedObject(O);
    var boundFunction = bind(callbackfn, that);
    var length = lengthOfArrayLike(self);
    var index = 0;
    var create = specificCreate || arraySpeciesCreate;
    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
    var value, result;
    for (;length > index; index++) if (NO_HOLES || index in self) {
      value = self[index];
      result = boundFunction(value, index, O);
      if (TYPE) {
        if (IS_MAP) target[index] = result; // map
        else if (result) switch (TYPE) {
          case 3: return true;              // some
          case 5: return value;             // find
          case 6: return index;             // findIndex
          case 2: push(target, value);      // filter
        } else switch (TYPE) {
          case 4: return false;             // every
          case 7: push(target, value);      // filterReject
        }
      }
    }
    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
  };
};

module.exports = {
  // `Array.prototype.forEach` method
  // https://tc39.es/ecma262/#sec-array.prototype.foreach
  forEach: createMethod(0),
  // `Array.prototype.map` method
  // https://tc39.es/ecma262/#sec-array.prototype.map
  map: createMethod(1),
  // `Array.prototype.filter` method
  // https://tc39.es/ecma262/#sec-array.prototype.filter
  filter: createMethod(2),
  // `Array.prototype.some` method
  // https://tc39.es/ecma262/#sec-array.prototype.some
  some: createMethod(3),
  // `Array.prototype.every` method
  // https://tc39.es/ecma262/#sec-array.prototype.every
  every: createMethod(4),
  // `Array.prototype.find` method
  // https://tc39.es/ecma262/#sec-array.prototype.find
  find: createMethod(5),
  // `Array.prototype.findIndex` method
  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
  findIndex: createMethod(6),
  // `Array.prototype.filterReject` method
  // https://github.com/tc39/proposal-array-filtering
  filterReject: createMethod(7)
};


/***/ }),
/* 125 */
/***/ (function(module, exports, __webpack_require__) {

var arraySpeciesConstructor = __webpack_require__(126);

// `ArraySpeciesCreate` abstract operation
// https://tc39.es/ecma262/#sec-arrayspeciescreate
module.exports = function (originalArray, length) {
  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
};


/***/ }),
/* 126 */
/***/ (function(module, exports, __webpack_require__) {

var isArray = __webpack_require__(69);
var isConstructor = __webpack_require__(111);
var isObject = __webpack_require__(19);
var wellKnownSymbol = __webpack_require__(33);

var SPECIES = wellKnownSymbol('species');
var $Array = Array;

// a part of `ArraySpeciesCreate` abstract operation
// https://tc39.es/ecma262/#sec-arrayspeciescreate
module.exports = function (originalArray) {
  var C;
  if (isArray(originalArray)) {
    C = originalArray.constructor;
    // cross-realm fallback
    if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
    else if (isObject(C)) {
      C = C[SPECIES];
      if (C === null) C = undefined;
    }
  } return C === undefined ? $Array : C;
};


/***/ }),
/* 127 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $filterReject = __webpack_require__(124).filterReject;
var addToUnscopables = __webpack_require__(73);

// `Array.prototype.filterReject` method
// https://github.com/tc39/proposal-array-filtering
$({ target: 'Array', proto: true, forced: true }, {
  filterReject: function filterReject(callbackfn /* , thisArg */) {
    return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});

addToUnscopables('filterReject');


/***/ }),
/* 128 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $group = __webpack_require__(129);
var addToUnscopables = __webpack_require__(73);

// `Array.prototype.group` method
// https://github.com/tc39/proposal-array-grouping
$({ target: 'Array', proto: true }, {
  group: function group(callbackfn /* , thisArg */) {
    var thisArg = arguments.length > 1 ? arguments[1] : undefined;
    return $group(this, callbackfn, thisArg);
  }
});

addToUnscopables('group');


/***/ }),
/* 129 */
/***/ (function(module, exports, __webpack_require__) {

var bind = __webpack_require__(109);
var uncurryThis = __webpack_require__(13);
var IndexedObject = __webpack_require__(12);
var toObject = __webpack_require__(39);
var toPropertyKey = __webpack_require__(17);
var lengthOfArrayLike = __webpack_require__(63);
var objectCreate = __webpack_require__(74);
var arrayFromConstructorAndList = __webpack_require__(79);

var $Array = Array;
var push = uncurryThis([].push);

module.exports = function ($this, callbackfn, that, specificConstructor) {
  var O = toObject($this);
  var self = IndexedObject(O);
  var boundFunction = bind(callbackfn, that);
  var target = objectCreate(null);
  var length = lengthOfArrayLike(self);
  var index = 0;
  var Constructor, key, value;
  for (;length > index; index++) {
    value = self[index];
    key = toPropertyKey(boundFunction(value, index, O));
    // in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys
    // but since it's a `null` prototype object, we can safely use `in`
    if (key in target) push(target[key], value);
    else target[key] = [value];
  }
  // TODO: Remove this block from `core-js@4`
  if (specificConstructor) {
    Constructor = specificConstructor(O);
    if (Constructor !== $Array) {
      for (key in target) target[key] = arrayFromConstructorAndList(Constructor, target[key]);
    }
  } return target;
};


/***/ }),
/* 130 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var $group = __webpack_require__(129);
var arrayMethodIsStrict = __webpack_require__(131);
var addToUnscopables = __webpack_require__(73);

// `Array.prototype.groupBy` method
// https://github.com/tc39/proposal-array-grouping
// https://bugs.webkit.org/show_bug.cgi?id=236541
$({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupBy') }, {
  groupBy: function groupBy(callbackfn /* , thisArg */) {
    var thisArg = arguments.length > 1 ? arguments[1] : undefined;
    return $group(this, callbackfn, thisArg);
  }
});

addToUnscopables('groupBy');


/***/ }),
/* 131 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var fails = __webpack_require__(6);

module.exports = function (METHOD_NAME, argument) {
  var method = [][METHOD_NAME];
  return !!method && fails(function () {
    // eslint-disable-next-line no-useless-call -- required for testing
    method.call(null, argument || function () { return 1; }, 1);
  });
};


/***/ }),
/* 132 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var arrayMethodIsStrict = __webpack_require__(131);
var addToUnscopables = __webpack_require__(73);
var $groupToMap = __webpack_require__(133);
var IS_PURE = __webpack_require__(35);

// `Array.prototype.groupByToMap` method
// https://github.com/tc39/proposal-array-grouping
// https://bugs.webkit.org/show_bug.cgi?id=236541
$({ target: 'Array', proto: true, name: 'groupToMap', forced: IS_PURE || !arrayMethodIsStrict('groupByToMap') }, {
  groupByToMap: $groupToMap
});

addToUnscopables('groupByToMap');


/***/ }),
/* 133 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var bind = __webpack_require__(109);
var uncurryThis = __webpack_require__(13);
var IndexedObject = __webpack_require__(12);
var toObject = __webpack_require__(39);
var lengthOfArrayLike = __webpack_require__(63);
var MapHelpers = __webpack_require__(134);

var Map = MapHelpers.Map;
var mapGet = MapHelpers.get;
var mapHas = MapHelpers.has;
var mapSet = MapHelpers.set;
var push = uncurryThis([].push);

// `Array.prototype.groupToMap` method
// https://github.com/tc39/proposal-array-grouping
module.exports = function groupToMap(callbackfn /* , thisArg */) {
  var O = toObject(this);
  var self = IndexedObject(O);
  var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  var map = new Map();
  var length = lengthOfArrayLike(self);
  var index = 0;
  var key, value;
  for (;length > index; index++) {
    value = self[index];
    key = boundFunction(value, index, O);
    if (mapHas(map, key)) push(mapGet(map, key), value);
    else mapSet(map, key, [value]);
  } return map;
};


/***/ }),
/* 134 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

// eslint-disable-next-line es/no-map -- safe
var MapPrototype = Map.prototype;

module.exports = {
  // eslint-disable-next-line es/no-map -- safe
  Map: Map,
  set: uncurryThis(MapPrototype.set),
  get: uncurryThis(MapPrototype.get),
  has: uncurryThis(MapPrototype.has),
  remove: uncurryThis(MapPrototype['delete']),
  proto: MapPrototype
};


/***/ }),
/* 135 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var addToUnscopables = __webpack_require__(73);
var $groupToMap = __webpack_require__(133);
var IS_PURE = __webpack_require__(35);

// `Array.prototype.groupToMap` method
// https://github.com/tc39/proposal-array-grouping
$({ target: 'Array', proto: true, forced: IS_PURE }, {
  groupToMap: $groupToMap
});

addToUnscopables('groupToMap');


/***/ }),
/* 136 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var isArray = __webpack_require__(69);

// eslint-disable-next-line es/no-object-isfrozen -- safe
var isFrozen = Object.isFrozen;

var isFrozenStringArray = function (array, allowUndefined) {
  if (!isFrozen || !isArray(array) || !isFrozen(array)) return false;
  var index = 0;
  var length = array.length;
  var element;
  while (index < length) {
    element = array[index++];
    if (!(typeof element == 'string' || (allowUndefined && element === undefined))) {
      return false;
    }
  } return length !== 0;
};

// `Array.isTemplateObject` method
// https://github.com/tc39/proposal-array-is-template-object
$({ target: 'Array', stat: true, sham: true, forced: true }, {
  isTemplateObject: function isTemplateObject(value) {
    if (!isFrozenStringArray(value, true)) return false;
    var raw = value.raw;
    return raw.length === value.length && isFrozenStringArray(raw, false);
  }
});


/***/ }),
/* 137 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var DESCRIPTORS = __webpack_require__(5);
var addToUnscopables = __webpack_require__(73);
var toObject = __webpack_require__(39);
var lengthOfArrayLike = __webpack_require__(63);
var defineBuiltInAccessor = __webpack_require__(85);

// `Array.prototype.lastIndex` getter
// https://github.com/keithamus/proposal-array-last
if (DESCRIPTORS) {
  defineBuiltInAccessor(Array.prototype, 'lastIndex', {
    configurable: true,
    get: function lastIndex() {
      var O = toObject(this);
      var len = lengthOfArrayLike(O);
      return len == 0 ? 0 : len - 1;
    }
  });

  addToUnscopables('lastIndex');
}


/***/ }),
/* 138 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var DESCRIPTORS = __webpack_require__(5);
var addToUnscopables = __webpack_require__(73);
var toObject = __webpack_require__(39);
var lengthOfArrayLike = __webpack_require__(63);
var defineBuiltInAccessor = __webpack_require__(85);

// `Array.prototype.lastIndex` accessor
// https://github.com/keithamus/proposal-array-last
if (DESCRIPTORS) {
  defineBuiltInAccessor(Array.prototype, 'lastItem', {
    configurable: true,
    get: function lastItem() {
      var O = toObject(this);
      var len = lengthOfArrayLike(O);
      return len == 0 ? undefined : O[len - 1];
    },
    set: function lastItem(value) {
      var O = toObject(this);
      var len = lengthOfArrayLike(O);
      return O[len == 0 ? 0 : len - 1] = value;
    }
  });

  addToUnscopables('lastItem');
}


/***/ }),
/* 139 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var addToUnscopables = __webpack_require__(73);
var uniqueBy = __webpack_require__(140);

// `Array.prototype.uniqueBy` method
// https://github.com/tc39/proposal-array-unique
$({ target: 'Array', proto: true, forced: true }, {
  uniqueBy: uniqueBy
});

addToUnscopables('uniqueBy');


/***/ }),
/* 140 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var uncurryThis = __webpack_require__(13);
var aCallable = __webpack_require__(30);
var isNullOrUndefined = __webpack_require__(16);
var lengthOfArrayLike = __webpack_require__(63);
var toObject = __webpack_require__(39);
var MapHelpers = __webpack_require__(134);
var iterate = __webpack_require__(141);

var Map = MapHelpers.Map;
var mapHas = MapHelpers.has;
var mapSet = MapHelpers.set;
var push = uncurryThis([].push);

// `Array.prototype.uniqueBy` method
// https://github.com/tc39/proposal-array-unique
module.exports = function uniqueBy(resolver) {
  var that = toObject(this);
  var length = lengthOfArrayLike(that);
  var result = [];
  var map = new Map();
  var resolverFunction = !isNullOrUndefined(resolver) ? aCallable(resolver) : function (value) {
    return value;
  };
  var index, item, key;
  for (index = 0; index < length; index++) {
    item = that[index];
    key = resolverFunction(item);
    if (!mapHas(map, key)) mapSet(map, key, item);
  }
  iterate(map, function (value) {
    push(result, value);
  });
  return result;
};


/***/ }),
/* 141 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var iterateSimple = __webpack_require__(142);
var MapHelpers = __webpack_require__(134);

var Map = MapHelpers.Map;
var MapPrototype = MapHelpers.proto;
var forEach = uncurryThis(MapPrototype.forEach);
var entries = uncurryThis(MapPrototype.entries);
var next = entries(new Map()).next;

module.exports = function (map, fn, interruptible) {
  return interruptible ? iterateSimple(entries(map), function (entry) {
    return fn(entry[1], entry[0]);
  }, next) : forEach(map, fn);
};


/***/ }),
/* 142 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);

module.exports = function (iterator, fn, $next) {
  var next = $next || iterator.next;
  var step, result;
  while (!(step = call(next, iterator)).done) {
    result = fn(step.value);
    if (result !== undefined) return result;
  }
};


/***/ }),
/* 143 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var DESCRIPTORS = __webpack_require__(5);
var defineBuiltInAccessor = __webpack_require__(85);
var isDetached = __webpack_require__(144);

var ArrayBufferPrototype = ArrayBuffer.prototype;

if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {
  defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {
    configurable: true,
    get: function detached() {
      return isDetached(this);
    }
  });
}


/***/ }),
/* 144 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var arrayBufferByteLength = __webpack_require__(145);

var slice = uncurryThis(ArrayBuffer.prototype.slice);

module.exports = function (O) {
  if (arrayBufferByteLength(O) !== 0) return false;
  try {
    slice(O, 0, 0);
    return false;
  } catch (error) {
    return true;
  }
};


/***/ }),
/* 145 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThisAccessor = __webpack_require__(95);
var classof = __webpack_require__(14);

var $TypeError = TypeError;

// Includes
// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).
// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.
module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {
  if (classof(O) != 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');
  return O.byteLength;
};


/***/ }),
/* 146 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $transfer = __webpack_require__(147);

// `ArrayBuffer.prototype.transfer` method
// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer
if ($transfer) $({ target: 'ArrayBuffer', proto: true }, {
  transfer: function transfer() {
    return $transfer(this, arguments.length ? arguments[0] : undefined, true);
  }
});


/***/ }),
/* 147 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var uncurryThis = __webpack_require__(13);
var uncurryThisAccessor = __webpack_require__(95);
var toIndex = __webpack_require__(148);
var isDetached = __webpack_require__(144);
var arrayBufferByteLength = __webpack_require__(145);
var PROPER_TRANSFER = __webpack_require__(149);

var TypeError = global.TypeError;
var structuredClone = global.structuredClone;
var ArrayBuffer = global.ArrayBuffer;
var DataView = global.DataView;
var min = Math.min;
var ArrayBufferPrototype = ArrayBuffer.prototype;
var DataViewPrototype = DataView.prototype;
var slice = uncurryThis(ArrayBufferPrototype.slice);
var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get');
var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get');
var getInt8 = uncurryThis(DataViewPrototype.getInt8);
var setInt8 = uncurryThis(DataViewPrototype.setInt8);

module.exports = PROPER_TRANSFER && function (arrayBuffer, newLength, preserveResizability) {
  var byteLength = arrayBufferByteLength(arrayBuffer);
  var newByteLength = newLength === undefined ? byteLength : min(toIndex(newLength), byteLength);
  var fixedLength = !isResizable || !isResizable(arrayBuffer);
  if (isDetached(arrayBuffer)) throw TypeError('ArrayBuffer is detached');
  var newBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });
  if (byteLength == newByteLength && (preserveResizability || fixedLength)) return newBuffer;
  if (!preserveResizability || fixedLength) return slice(newBuffer, 0, newByteLength);
  var newNewBuffer = new ArrayBuffer(newByteLength, maxByteLength && { maxByteLength: maxByteLength(newBuffer) });
  var a = new DataView(newBuffer);
  var b = new DataView(newNewBuffer);
  for (var i = 0; i < newByteLength; i++) setInt8(b, i, getInt8(a, i));
  return newNewBuffer;
};


/***/ }),
/* 148 */
/***/ (function(module, exports, __webpack_require__) {

var toIntegerOrInfinity = __webpack_require__(61);
var toLength = __webpack_require__(64);

var $RangeError = RangeError;

// `ToIndex` abstract operation
// https://tc39.es/ecma262/#sec-toindex
module.exports = function (it) {
  if (it === undefined) return 0;
  var number = toIntegerOrInfinity(it);
  var length = toLength(number);
  if (number !== length) throw $RangeError('Wrong length or index');
  return length;
};


/***/ }),
/* 149 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var fails = __webpack_require__(6);
var V8 = __webpack_require__(27);
var IS_BROWSER = __webpack_require__(150);
var IS_DENO = __webpack_require__(151);
var IS_NODE = __webpack_require__(152);

var structuredClone = global.structuredClone;

module.exports = !!structuredClone && !fails(function () {
  // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation
  // https://github.com/zloirock/core-js/issues/679
  if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;
  var buffer = new ArrayBuffer(8);
  var clone = structuredClone(buffer, { transfer: [buffer] });
  return buffer.byteLength != 0 || clone.byteLength != 8;
});


/***/ }),
/* 150 */
/***/ (function(module, exports, __webpack_require__) {

var IS_DENO = __webpack_require__(151);
var IS_NODE = __webpack_require__(152);

module.exports = !IS_DENO && !IS_NODE
  && typeof window == 'object'
  && typeof document == 'object';


/***/ }),
/* 151 */
/***/ (function(module, exports) {

/* global Deno -- Deno case */
module.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';


/***/ }),
/* 152 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(14);

module.exports = typeof process != 'undefined' && classof(process) == 'process';


/***/ }),
/* 153 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $transfer = __webpack_require__(147);

// `ArrayBuffer.prototype.transferToFixedLength` method
// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength
if ($transfer) $({ target: 'ArrayBuffer', proto: true }, {
  transferToFixedLength: function transferToFixedLength() {
    return $transfer(this, arguments.length ? arguments[0] : undefined, false);
  }
});


/***/ }),
/* 154 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-async-explicit-resource-management
var $ = __webpack_require__(2);
var DESCRIPTORS = __webpack_require__(5);
var getBuiltIn = __webpack_require__(23);
var aCallable = __webpack_require__(30);
var anInstance = __webpack_require__(155);
var defineBuiltIn = __webpack_require__(47);
var defineBuiltIns = __webpack_require__(114);
var defineBuiltInAccessor = __webpack_require__(85);
var wellKnownSymbol = __webpack_require__(33);
var InternalStateModule = __webpack_require__(51);
var addDisposableResource = __webpack_require__(156);

var Promise = getBuiltIn('Promise');
var SuppressedError = getBuiltIn('SuppressedError');
var $ReferenceError = ReferenceError;

var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');

var ASYNC_DISPOSABLE_STACK = 'AsyncDisposableStack';
var setInternalState = InternalStateModule.set;
var getAsyncDisposableStackInternalState = InternalStateModule.getterFor(ASYNC_DISPOSABLE_STACK);

var HINT = 'async-dispose';
var DISPOSED = 'disposed';
var PENDING = 'pending';

var getPendingAsyncDisposableStackInternalState = function (stack) {
  var internalState = getAsyncDisposableStackInternalState(stack);
  if (internalState.state == DISPOSED) throw $ReferenceError(ASYNC_DISPOSABLE_STACK + ' already disposed');
  return internalState;
};

var $AsyncDisposableStack = function AsyncDisposableStack() {
  setInternalState(anInstance(this, AsyncDisposableStackPrototype), {
    type: ASYNC_DISPOSABLE_STACK,
    state: PENDING,
    stack: []
  });

  if (!DESCRIPTORS) this.disposed = false;
};

var AsyncDisposableStackPrototype = $AsyncDisposableStack.prototype;

defineBuiltIns(AsyncDisposableStackPrototype, {
  disposeAsync: function disposeAsync() {
    var asyncDisposableStack = this;
    return new Promise(function (resolve, reject) {
      var internalState = getAsyncDisposableStackInternalState(asyncDisposableStack);
      if (internalState.state == DISPOSED) return resolve(undefined);
      internalState.state = DISPOSED;
      if (!DESCRIPTORS) asyncDisposableStack.disposed = true;
      var stack = internalState.stack;
      var i = stack.length;
      var thrown = false;
      var suppressed;

      var handleError = function (result) {
        if (thrown) {
          suppressed = new SuppressedError(result, suppressed);
        } else {
          thrown = true;
          suppressed = result;
        }

        loop();
      };

      var loop = function () {
        if (i) {
          var disposeMethod = stack[--i];
          stack[i] = null;
          try {
            Promise.resolve(disposeMethod()).then(loop, handleError);
          } catch (error) {
            handleError(error);
          }
        } else {
          internalState.stack = null;
          thrown ? reject(suppressed) : resolve(undefined);
        }
      };

      loop();
    });
  },
  use: function use(value) {
    addDisposableResource(getPendingAsyncDisposableStackInternalState(this), value, HINT);
    return value;
  },
  adopt: function adopt(value, onDispose) {
    var internalState = getPendingAsyncDisposableStackInternalState(this);
    aCallable(onDispose);
    addDisposableResource(internalState, undefined, HINT, function () {
      onDispose(value);
    });
    return value;
  },
  defer: function defer(onDispose) {
    var internalState = getPendingAsyncDisposableStackInternalState(this);
    aCallable(onDispose);
    addDisposableResource(internalState, undefined, HINT, onDispose);
  },
  move: function move() {
    var internalState = getPendingAsyncDisposableStackInternalState(this);
    var newAsyncDisposableStack = new $AsyncDisposableStack();
    getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack;
    internalState.stack = [];
    internalState.state = DISPOSED;
    if (!DESCRIPTORS) this.disposed = true;
    return newAsyncDisposableStack;
  }
});

if (DESCRIPTORS) defineBuiltInAccessor(AsyncDisposableStackPrototype, 'disposed', {
  configurable: true,
  get: function disposed() {
    return getAsyncDisposableStackInternalState(this).state == DISPOSED;
  }
});

defineBuiltIn(AsyncDisposableStackPrototype, ASYNC_DISPOSE, AsyncDisposableStackPrototype.disposeAsync, { name: 'disposeAsync' });
defineBuiltIn(AsyncDisposableStackPrototype, TO_STRING_TAG, ASYNC_DISPOSABLE_STACK, { nonWritable: true });

$({ global: true, constructor: true, forced: true }, {
  AsyncDisposableStack: $AsyncDisposableStack
});


/***/ }),
/* 155 */
/***/ (function(module, exports, __webpack_require__) {

var isPrototypeOf = __webpack_require__(24);

var $TypeError = TypeError;

module.exports = function (it, Prototype) {
  if (isPrototypeOf(Prototype, it)) return it;
  throw $TypeError('Incorrect invocation');
};


/***/ }),
/* 156 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var bind = __webpack_require__(109);
var anObject = __webpack_require__(46);
var isNullOrUndefined = __webpack_require__(16);
var getMethod = __webpack_require__(29);
var wellKnownSymbol = __webpack_require__(33);

var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');
var DISPOSE = wellKnownSymbol('dispose');

var push = uncurryThis([].push);

var getDisposeMethod = function (V, hint) {
  if (hint == 'async-dispose') {
    return getMethod(V, ASYNC_DISPOSE) || getMethod(V, DISPOSE);
  } return getMethod(V, DISPOSE);
};

// `CreateDisposableResource` abstract operation
// https://tc39.es/proposal-explicit-resource-management/#sec-createdisposableresource
var createDisposableResource = function (V, hint, method) {
  return bind(method || getDisposeMethod(V, hint), V);
};

// `AddDisposableResource` abstract operation
// https://tc39.es/proposal-explicit-resource-management/#sec-adddisposableresource-disposable-v-hint-disposemethod
module.exports = function (disposable, V, hint, method) {
  var resource;
  if (!method) {
    if (isNullOrUndefined(V)) return;
    resource = createDisposableResource(anObject(V), hint);
  } else {
    resource = createDisposableResource(undefined, hint, method);
  }

  push(disposable.stack, resource);
};


/***/ }),
/* 157 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var anInstance = __webpack_require__(155);
var createNonEnumerableProperty = __webpack_require__(43);
var hasOwn = __webpack_require__(38);
var wellKnownSymbol = __webpack_require__(33);
var AsyncIteratorPrototype = __webpack_require__(115);
var IS_PURE = __webpack_require__(35);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');

var AsyncIteratorConstructor = function AsyncIterator() {
  anInstance(this, AsyncIteratorPrototype);
};

AsyncIteratorConstructor.prototype = AsyncIteratorPrototype;

if (!hasOwn(AsyncIteratorPrototype, TO_STRING_TAG)) {
  createNonEnumerableProperty(AsyncIteratorPrototype, TO_STRING_TAG, 'AsyncIterator');
}

if (IS_PURE || !hasOwn(AsyncIteratorPrototype, 'constructor') || AsyncIteratorPrototype.constructor === Object) {
  createNonEnumerableProperty(AsyncIteratorPrototype, 'constructor', AsyncIteratorConstructor);
}

// `AsyncIterator` constructor
// https://github.com/tc39/proposal-async-iterator-helpers
$({ global: true, constructor: true, forced: IS_PURE }, {
  AsyncIterator: AsyncIteratorConstructor
});


/***/ }),
/* 158 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var indexed = __webpack_require__(159);

// `AsyncIterator.prototype.asIndexedPairs` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, {
  asIndexedPairs: indexed
});


/***/ }),
/* 159 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var map = __webpack_require__(160);

var callback = function (value, counter) {
  return [counter, value];
};

// `AsyncIterator.prototype.indexed` method
// https://github.com/tc39/proposal-iterator-helpers
module.exports = function indexed() {
  return call(map, this, callback);
};


/***/ }),
/* 160 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var isObject = __webpack_require__(19);
var getIteratorDirect = __webpack_require__(120);
var createAsyncIteratorProxy = __webpack_require__(161);
var createIterResultObject = __webpack_require__(116);
var closeAsyncIteration = __webpack_require__(122);

var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
  var state = this;
  var iterator = state.iterator;
  var mapper = state.mapper;

  return new Promise(function (resolve, reject) {
    var doneAndReject = function (error) {
      state.done = true;
      reject(error);
    };

    var ifAbruptCloseAsyncIterator = function (error) {
      closeAsyncIteration(iterator, doneAndReject, error, doneAndReject);
    };

    Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {
      try {
        if (anObject(step).done) {
          state.done = true;
          resolve(createIterResultObject(undefined, true));
        } else {
          var value = step.value;
          try {
            var result = mapper(value, state.counter++);

            var handler = function (mapped) {
              resolve(createIterResultObject(mapped, false));
            };

            if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
            else handler(result);
          } catch (error2) { ifAbruptCloseAsyncIterator(error2); }
        }
      } catch (error) { doneAndReject(error); }
    }, doneAndReject);
  });
});

// `AsyncIterator.prototype.map` method
// https://github.com/tc39/proposal-iterator-helpers
module.exports = function map(mapper) {
  anObject(this);
  aCallable(mapper);
  return new AsyncIteratorProxy(getIteratorDirect(this), {
    mapper: mapper
  });
};


/***/ }),
/* 161 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var perform = __webpack_require__(162);
var anObject = __webpack_require__(46);
var create = __webpack_require__(74);
var createNonEnumerableProperty = __webpack_require__(43);
var defineBuiltIns = __webpack_require__(114);
var wellKnownSymbol = __webpack_require__(33);
var InternalStateModule = __webpack_require__(51);
var getBuiltIn = __webpack_require__(23);
var getMethod = __webpack_require__(29);
var AsyncIteratorPrototype = __webpack_require__(115);
var createIterResultObject = __webpack_require__(116);
var iteratorClose = __webpack_require__(163);

var Promise = getBuiltIn('Promise');

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ASYNC_ITERATOR_HELPER = 'AsyncIteratorHelper';
var WRAP_FOR_VALID_ASYNC_ITERATOR = 'WrapForValidAsyncIterator';
var setInternalState = InternalStateModule.set;

var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) {
  var IS_GENERATOR = !IS_ITERATOR;
  var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER);

  var getStateOrEarlyExit = function (that) {
    var stateCompletion = perform(function () {
      return getInternalState(that);
    });

    var stateError = stateCompletion.error;
    var state = stateCompletion.value;

    if (stateError || (IS_GENERATOR && state.done)) {
      return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve(createIterResultObject(undefined, true)) };
    } return { exit: false, value: state };
  };

  return defineBuiltIns(create(AsyncIteratorPrototype), {
    next: function next() {
      var stateCompletion = getStateOrEarlyExit(this);
      var state = stateCompletion.value;
      if (stateCompletion.exit) return state;
      var handlerCompletion = perform(function () {
        return anObject(state.nextHandler(Promise));
      });
      var handlerError = handlerCompletion.error;
      var value = handlerCompletion.value;
      if (handlerError) state.done = true;
      return handlerError ? Promise.reject(value) : Promise.resolve(value);
    },
    'return': function () {
      var stateCompletion = getStateOrEarlyExit(this);
      var state = stateCompletion.value;
      if (stateCompletion.exit) return state;
      state.done = true;
      var iterator = state.iterator;
      var returnMethod, result;
      var completion = perform(function () {
        if (state.inner) try {
          iteratorClose(state.inner.iterator, 'normal');
        } catch (error) {
          return iteratorClose(iterator, 'throw', error);
        }
        return getMethod(iterator, 'return');
      });
      returnMethod = result = completion.value;
      if (completion.error) return Promise.reject(result);
      if (returnMethod === undefined) return Promise.resolve(createIterResultObject(undefined, true));
      completion = perform(function () {
        return call(returnMethod, iterator);
      });
      result = completion.value;
      if (completion.error) return Promise.reject(result);
      return IS_ITERATOR ? Promise.resolve(result) : Promise.resolve(result).then(function (resolved) {
        anObject(resolved);
        return createIterResultObject(undefined, true);
      });
    }
  });
};

var WrapForValidAsyncIteratorPrototype = createAsyncIteratorProxyPrototype(true);
var AsyncIteratorHelperPrototype = createAsyncIteratorProxyPrototype(false);

createNonEnumerableProperty(AsyncIteratorHelperPrototype, TO_STRING_TAG, 'Async Iterator Helper');

module.exports = function (nextHandler, IS_ITERATOR) {
  var AsyncIteratorProxy = function AsyncIterator(record, state) {
    if (state) {
      state.iterator = record.iterator;
      state.next = record.next;
    } else state = record;
    state.type = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER;
    state.nextHandler = nextHandler;
    state.counter = 0;
    state.done = false;
    setInternalState(this, state);
  };

  AsyncIteratorProxy.prototype = IS_ITERATOR ? WrapForValidAsyncIteratorPrototype : AsyncIteratorHelperPrototype;

  return AsyncIteratorProxy;
};


/***/ }),
/* 162 */
/***/ (function(module, exports) {

module.exports = function (exec) {
  try {
    return { error: false, value: exec() };
  } catch (error) {
    return { error: true, value: error };
  }
};


/***/ }),
/* 163 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var getMethod = __webpack_require__(29);

module.exports = function (iterator, kind, value) {
  var innerResult, innerError;
  anObject(iterator);
  try {
    innerResult = getMethod(iterator, 'return');
    if (!innerResult) {
      if (kind === 'throw') throw value;
      return value;
    }
    innerResult = call(innerResult, iterator);
  } catch (error) {
    innerError = true;
    innerResult = error;
  }
  if (kind === 'throw') throw value;
  if (innerError) throw innerResult;
  anObject(innerResult);
  return value;
};


/***/ }),
/* 164 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-async-explicit-resource-management
var call = __webpack_require__(7);
var defineBuiltIn = __webpack_require__(47);
var getBuiltIn = __webpack_require__(23);
var getMethod = __webpack_require__(29);
var hasOwn = __webpack_require__(38);
var wellKnownSymbol = __webpack_require__(33);
var AsyncIteratorPrototype = __webpack_require__(115);

var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');
var Promise = getBuiltIn('Promise');

if (!hasOwn(AsyncIteratorPrototype, ASYNC_DISPOSE)) {
  defineBuiltIn(AsyncIteratorPrototype, ASYNC_DISPOSE, function () {
    var O = this;
    return new Promise(function (resolve, reject) {
      var $return = getMethod(O, 'return');
      if ($return) {
        Promise.resolve(call($return, O)).then(function () {
          resolve(undefined);
        }, reject);
      } else resolve(undefined);
    });
  });
}


/***/ }),
/* 165 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var notANaN = __webpack_require__(166);
var toPositiveInteger = __webpack_require__(167);
var createAsyncIteratorProxy = __webpack_require__(161);
var createIterResultObject = __webpack_require__(116);

var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
  var state = this;

  return new Promise(function (resolve, reject) {
    var doneAndReject = function (error) {
      state.done = true;
      reject(error);
    };

    var loop = function () {
      try {
        Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) {
          try {
            if (anObject(step).done) {
              state.done = true;
              resolve(createIterResultObject(undefined, true));
            } else if (state.remaining) {
              state.remaining--;
              loop();
            } else resolve(createIterResultObject(step.value, false));
          } catch (err) { doneAndReject(err); }
        }, doneAndReject);
      } catch (error) { doneAndReject(error); }
    };

    loop();
  });
});

// `AsyncIterator.prototype.drop` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  drop: function drop(limit) {
    anObject(this);
    var remaining = toPositiveInteger(notANaN(+limit));
    return new AsyncIteratorProxy(getIteratorDirect(this), {
      remaining: remaining
    });
  }
});


/***/ }),
/* 166 */
/***/ (function(module, exports) {

var $RangeError = RangeError;

module.exports = function (it) {
  // eslint-disable-next-line no-self-compare -- NaN check
  if (it === it) return it;
  throw $RangeError('NaN is not allowed');
};


/***/ }),
/* 167 */
/***/ (function(module, exports, __webpack_require__) {

var toIntegerOrInfinity = __webpack_require__(61);

var $RangeError = RangeError;

module.exports = function (it) {
  var result = toIntegerOrInfinity(it);
  if (result < 0) throw $RangeError("The argument can't be less than 0");
  return result;
};


/***/ }),
/* 168 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $every = __webpack_require__(121).every;

// `AsyncIterator.prototype.every` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  every: function every(predicate) {
    return $every(this, predicate);
  }
});


/***/ }),
/* 169 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var isObject = __webpack_require__(19);
var getIteratorDirect = __webpack_require__(120);
var createAsyncIteratorProxy = __webpack_require__(161);
var createIterResultObject = __webpack_require__(116);
var closeAsyncIteration = __webpack_require__(122);

var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
  var state = this;
  var iterator = state.iterator;
  var predicate = state.predicate;

  return new Promise(function (resolve, reject) {
    var doneAndReject = function (error) {
      state.done = true;
      reject(error);
    };

    var ifAbruptCloseAsyncIterator = function (error) {
      closeAsyncIteration(iterator, doneAndReject, error, doneAndReject);
    };

    var loop = function () {
      try {
        Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {
          try {
            if (anObject(step).done) {
              state.done = true;
              resolve(createIterResultObject(undefined, true));
            } else {
              var value = step.value;
              try {
                var result = predicate(value, state.counter++);

                var handler = function (selected) {
                  selected ? resolve(createIterResultObject(value, false)) : loop();
                };

                if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
                else handler(result);
              } catch (error3) { ifAbruptCloseAsyncIterator(error3); }
            }
          } catch (error2) { doneAndReject(error2); }
        }, doneAndReject);
      } catch (error) { doneAndReject(error); }
    };

    loop();
  });
});

// `AsyncIterator.prototype.filter` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  filter: function filter(predicate) {
    anObject(this);
    aCallable(predicate);
    return new AsyncIteratorProxy(getIteratorDirect(this), {
      predicate: predicate
    });
  }
});


/***/ }),
/* 170 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $find = __webpack_require__(121).find;

// `AsyncIterator.prototype.find` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  find: function find(predicate) {
    return $find(this, predicate);
  }
});


/***/ }),
/* 171 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var isObject = __webpack_require__(19);
var getIteratorDirect = __webpack_require__(120);
var createAsyncIteratorProxy = __webpack_require__(161);
var createIterResultObject = __webpack_require__(116);
var getAsyncIteratorFlattenable = __webpack_require__(172);
var closeAsyncIteration = __webpack_require__(122);

var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
  var state = this;
  var iterator = state.iterator;
  var mapper = state.mapper;

  return new Promise(function (resolve, reject) {
    var doneAndReject = function (error) {
      state.done = true;
      reject(error);
    };

    var ifAbruptCloseAsyncIterator = function (error) {
      closeAsyncIteration(iterator, doneAndReject, error, doneAndReject);
    };

    var outerLoop = function () {
      try {
        Promise.resolve(anObject(call(state.next, iterator))).then(function (step) {
          try {
            if (anObject(step).done) {
              state.done = true;
              resolve(createIterResultObject(undefined, true));
            } else {
              var value = step.value;
              try {
                var result = mapper(value, state.counter++);

                var handler = function (mapped) {
                  try {
                    state.inner = getAsyncIteratorFlattenable(mapped);
                    innerLoop();
                  } catch (error4) { ifAbruptCloseAsyncIterator(error4); }
                };

                if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
                else handler(result);
              } catch (error3) { ifAbruptCloseAsyncIterator(error3); }
            }
          } catch (error2) { doneAndReject(error2); }
        }, doneAndReject);
      } catch (error) { doneAndReject(error); }
    };

    var innerLoop = function () {
      var inner = state.inner;
      if (inner) {
        try {
          Promise.resolve(anObject(call(inner.next, inner.iterator))).then(function (result) {
            try {
              if (anObject(result).done) {
                state.inner = null;
                outerLoop();
              } else resolve(createIterResultObject(result.value, false));
            } catch (error1) { ifAbruptCloseAsyncIterator(error1); }
          }, ifAbruptCloseAsyncIterator);
        } catch (error) { ifAbruptCloseAsyncIterator(error); }
      } else outerLoop();
    };

    innerLoop();
  });
});

// `AsyncIterator.prototype.flaMap` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  flatMap: function flatMap(mapper) {
    anObject(this);
    aCallable(mapper);
    return new AsyncIteratorProxy(getIteratorDirect(this), {
      mapper: mapper,
      inner: null
    });
  }
});


/***/ }),
/* 172 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var isCallable = __webpack_require__(20);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var getIteratorMethod = __webpack_require__(118);
var getMethod = __webpack_require__(29);
var wellKnownSymbol = __webpack_require__(33);
var AsyncFromSyncIterator = __webpack_require__(113);

var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');

module.exports = function from(obj) {
  var object = anObject(obj);
  var alreadyAsync = true;
  var method = getMethod(object, ASYNC_ITERATOR);
  var iterator;
  if (!isCallable(method)) {
    method = getIteratorMethod(object);
    alreadyAsync = false;
  }
  if (method !== undefined) {
    iterator = call(method, object);
  } else {
    iterator = object;
    alreadyAsync = true;
  }
  anObject(iterator);
  return getIteratorDirect(alreadyAsync ? iterator : new AsyncFromSyncIterator(getIteratorDirect(iterator)));
};


/***/ }),
/* 173 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $forEach = __webpack_require__(121).forEach;

// `AsyncIterator.prototype.forEach` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  forEach: function forEach(fn) {
    return $forEach(this, fn);
  }
});


/***/ }),
/* 174 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var toObject = __webpack_require__(39);
var isPrototypeOf = __webpack_require__(24);
var getAsyncIteratorFlattenable = __webpack_require__(172);
var AsyncIteratorPrototype = __webpack_require__(115);
var WrapAsyncIterator = __webpack_require__(175);

// `AsyncIterator.from` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', stat: true }, {
  from: function from(O) {
    var iteratorRecord = getAsyncIteratorFlattenable(typeof O == 'string' ? toObject(O) : O);
    return isPrototypeOf(AsyncIteratorPrototype, iteratorRecord.iterator)
      ? iteratorRecord.iterator
      : new WrapAsyncIterator(iteratorRecord);
  }
});


/***/ }),
/* 175 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var createAsyncIteratorProxy = __webpack_require__(161);

module.exports = createAsyncIteratorProxy(function () {
  return call(this.next, this.iterator);
}, true);


/***/ }),
/* 176 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var indexed = __webpack_require__(159);

// `AsyncIterator.prototype.indexed` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
  indexed: indexed
});


/***/ }),
/* 177 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var map = __webpack_require__(160);

// `AsyncIterator.prototype.map` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  map: map
});



/***/ }),
/* 178 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var isObject = __webpack_require__(19);
var getBuiltIn = __webpack_require__(23);
var getIteratorDirect = __webpack_require__(120);
var closeAsyncIteration = __webpack_require__(122);

var Promise = getBuiltIn('Promise');
var $TypeError = TypeError;

// `AsyncIterator.prototype.reduce` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  reduce: function reduce(reducer /* , initialValue */) {
    anObject(this);
    aCallable(reducer);
    var record = getIteratorDirect(this);
    var iterator = record.iterator;
    var next = record.next;
    var noInitial = arguments.length < 2;
    var accumulator = noInitial ? undefined : arguments[1];
    var counter = 0;

    return new Promise(function (resolve, reject) {
      var ifAbruptCloseAsyncIterator = function (error) {
        closeAsyncIteration(iterator, reject, error, reject);
      };

      var loop = function () {
        try {
          Promise.resolve(anObject(call(next, iterator))).then(function (step) {
            try {
              if (anObject(step).done) {
                noInitial ? reject($TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator);
              } else {
                var value = step.value;
                if (noInitial) {
                  noInitial = false;
                  accumulator = value;
                  loop();
                } else try {
                  var result = reducer(accumulator, value, counter);

                  var handler = function ($result) {
                    accumulator = $result;
                    loop();
                  };

                  if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
                  else handler(result);
                } catch (error3) { ifAbruptCloseAsyncIterator(error3); }
              }
              counter++;
            } catch (error2) { reject(error2); }
          }, reject);
        } catch (error) { reject(error); }
      };

      loop();
    });
  }
});


/***/ }),
/* 179 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $some = __webpack_require__(121).some;

// `AsyncIterator.prototype.some` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  some: function some(predicate) {
    return $some(this, predicate);
  }
});


/***/ }),
/* 180 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var notANaN = __webpack_require__(166);
var toPositiveInteger = __webpack_require__(167);
var createAsyncIteratorProxy = __webpack_require__(161);
var createIterResultObject = __webpack_require__(116);

var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
  var state = this;
  var iterator = state.iterator;
  var returnMethod;

  if (!state.remaining--) {
    var resultDone = createIterResultObject(undefined, true);
    state.done = true;
    returnMethod = iterator['return'];
    if (returnMethod !== undefined) {
      return Promise.resolve(call(returnMethod, iterator, undefined)).then(function () {
        return resultDone;
      });
    }
    return resultDone;
  } return Promise.resolve(call(state.next, iterator)).then(function (step) {
    if (anObject(step).done) {
      state.done = true;
      return createIterResultObject(undefined, true);
    } return createIterResultObject(step.value, false);
  }).then(null, function (error) {
    state.done = true;
    throw error;
  });
});

// `AsyncIterator.prototype.take` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  take: function take(limit) {
    anObject(this);
    var remaining = toPositiveInteger(notANaN(+limit));
    return new AsyncIteratorProxy(getIteratorDirect(this), {
      remaining: remaining
    });
  }
});


/***/ }),
/* 181 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var $toArray = __webpack_require__(121).toArray;

// `AsyncIterator.prototype.toArray` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'AsyncIterator', proto: true, real: true }, {
  toArray: function toArray() {
    return $toArray(this, undefined, []);
  }
});


/***/ }),
/* 182 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

/* eslint-disable es/no-bigint -- safe */
var $ = __webpack_require__(2);
var NumericRangeIterator = __webpack_require__(183);

// `BigInt.range` method
// https://github.com/tc39/proposal-Number.range
// TODO: Remove from `core-js@4`
if (typeof BigInt == 'function') {
  $({ target: 'BigInt', stat: true, forced: true }, {
    range: function range(start, end, option) {
      return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
    }
  });
}


/***/ }),
/* 183 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var InternalStateModule = __webpack_require__(51);
var createIteratorConstructor = __webpack_require__(184);
var createIterResultObject = __webpack_require__(116);
var isNullOrUndefined = __webpack_require__(16);
var isObject = __webpack_require__(19);
var defineBuiltInAccessor = __webpack_require__(85);
var DESCRIPTORS = __webpack_require__(5);

var INCORRECT_RANGE = 'Incorrect Iterator.range arguments';
var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';

var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR);

var $RangeError = RangeError;
var $TypeError = TypeError;

var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
  // TODO: Drop the first `typeof` check after removing legacy methods in `core-js@4`
  if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
    throw $TypeError(INCORRECT_RANGE);
  }
  if (start === Infinity || start === -Infinity) {
    throw $RangeError(INCORRECT_RANGE);
  }
  var ifIncrease = end > start;
  var inclusiveEnd = false;
  var step;
  if (option === undefined) {
    step = undefined;
  } else if (isObject(option)) {
    step = option.step;
    inclusiveEnd = !!option.inclusive;
  } else if (typeof option == type) {
    step = option;
  } else {
    throw $TypeError(INCORRECT_RANGE);
  }
  if (isNullOrUndefined(step)) {
    step = ifIncrease ? one : -one;
  }
  if (typeof step != type) {
    throw $TypeError(INCORRECT_RANGE);
  }
  if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
    throw $RangeError(INCORRECT_RANGE);
  }
  // eslint-disable-next-line no-self-compare -- NaN check
  var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);
  setInternalState(this, {
    type: NUMERIC_RANGE_ITERATOR,
    start: start,
    end: end,
    step: step,
    inclusive: inclusiveEnd,
    hitsEnd: hitsEnd,
    currentCount: zero,
    zero: zero
  });
  if (!DESCRIPTORS) {
    this.start = start;
    this.end = end;
    this.step = step;
    this.inclusive = inclusiveEnd;
  }
}, NUMERIC_RANGE_ITERATOR, function next() {
  var state = getInternalState(this);
  if (state.hitsEnd) return createIterResultObject(undefined, true);
  var start = state.start;
  var end = state.end;
  var step = state.step;
  var currentYieldingValue = start + (step * state.currentCount++);
  if (currentYieldingValue === end) state.hitsEnd = true;
  var inclusiveEnd = state.inclusive;
  var endCondition;
  if (end > start) {
    endCondition = inclusiveEnd ? currentYieldingValue > end : currentYieldingValue >= end;
  } else {
    endCondition = inclusiveEnd ? end > currentYieldingValue : end >= currentYieldingValue;
  }
  if (endCondition) {
    state.hitsEnd = true;
    return createIterResultObject(undefined, true);
  } return createIterResultObject(currentYieldingValue, false);
});

var addGetter = function (key) {
  defineBuiltInAccessor($RangeIterator.prototype, key, {
    get: function () {
      return getInternalState(this)[key];
    },
    set: function () { /* empty */ },
    configurable: true,
    enumerable: false
  });
};

if (DESCRIPTORS) {
  addGetter('start');
  addGetter('end');
  addGetter('inclusive');
  addGetter('step');
}

module.exports = $RangeIterator;


/***/ }),
/* 184 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var IteratorPrototype = __webpack_require__(185).IteratorPrototype;
var create = __webpack_require__(74);
var createPropertyDescriptor = __webpack_require__(10);
var setToStringTag = __webpack_require__(186);
var Iterators = __webpack_require__(119);

var returnThis = function () { return this; };

module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
  var TO_STRING_TAG = NAME + ' Iterator';
  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
  Iterators[TO_STRING_TAG] = returnThis;
  return IteratorConstructor;
};


/***/ }),
/* 185 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var fails = __webpack_require__(6);
var isCallable = __webpack_require__(20);
var isObject = __webpack_require__(19);
var create = __webpack_require__(74);
var getPrototypeOf = __webpack_require__(92);
var defineBuiltIn = __webpack_require__(47);
var wellKnownSymbol = __webpack_require__(33);
var IS_PURE = __webpack_require__(35);

var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;

// `%IteratorPrototype%` object
// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;

/* eslint-disable es/no-array-prototype-keys -- safe */
if ([].keys) {
  arrayIterator = [].keys();
  // Safari 8 has buggy iterators w/o `next`
  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
  else {
    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
  }
}

var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {
  var test = {};
  // FF44- legacy iterators case
  return IteratorPrototype[ITERATOR].call(test) !== test;
});

if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);

// `%IteratorPrototype%[@@iterator]()` method
// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
if (!isCallable(IteratorPrototype[ITERATOR])) {
  defineBuiltIn(IteratorPrototype, ITERATOR, function () {
    return this;
  });
}

module.exports = {
  IteratorPrototype: IteratorPrototype,
  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
};


/***/ }),
/* 186 */
/***/ (function(module, exports, __webpack_require__) {

var defineProperty = __webpack_require__(44).f;
var hasOwn = __webpack_require__(38);
var wellKnownSymbol = __webpack_require__(33);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');

module.exports = function (target, TAG, STATIC) {
  if (target && !STATIC) target = target.prototype;
  if (target && !hasOwn(target, TO_STRING_TAG)) {
    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
  }
};


/***/ }),
/* 187 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var apply = __webpack_require__(188);
var getCompositeKeyNode = __webpack_require__(189);
var getBuiltIn = __webpack_require__(23);
var create = __webpack_require__(74);

var $Object = Object;

var initializer = function () {
  var freeze = getBuiltIn('Object', 'freeze');
  return freeze ? freeze(create(null)) : create(null);
};

// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
$({ global: true, forced: true }, {
  compositeKey: function compositeKey() {
    return apply(getCompositeKeyNode, $Object, arguments).get('object', initializer);
  }
});


/***/ }),
/* 188 */
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_BIND = __webpack_require__(8);

var FunctionPrototype = Function.prototype;
var apply = FunctionPrototype.apply;
var call = FunctionPrototype.call;

// eslint-disable-next-line es/no-reflect -- safe
module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
  return call.apply(apply, arguments);
});


/***/ }),
/* 189 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
__webpack_require__(190);
__webpack_require__(207);
var getBuiltIn = __webpack_require__(23);
var create = __webpack_require__(74);
var isObject = __webpack_require__(19);

var $Object = Object;
var $TypeError = TypeError;
var Map = getBuiltIn('Map');
var WeakMap = getBuiltIn('WeakMap');

var Node = function () {
  // keys
  this.object = null;
  this.symbol = null;
  // child nodes
  this.primitives = null;
  this.objectsByIndex = create(null);
};

Node.prototype.get = function (key, initializer) {
  return this[key] || (this[key] = initializer());
};

Node.prototype.next = function (i, it, IS_OBJECT) {
  var store = IS_OBJECT
    ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap())
    : this.primitives || (this.primitives = new Map());
  var entry = store.get(it);
  if (!entry) store.set(it, entry = new Node());
  return entry;
};

var root = new Node();

module.exports = function () {
  var active = root;
  var length = arguments.length;
  var i, it;
  // for prevent leaking, start from objects
  for (i = 0; i < length; i++) {
    if (isObject(it = arguments[i])) active = active.next(i, it, true);
  }
  if (this === $Object && active === root) throw $TypeError('Composite keys must contain a non-primitive component');
  for (i = 0; i < length; i++) {
    if (!isObject(it = arguments[i])) active = active.next(i, it, false);
  } return active;
};


/***/ }),
/* 190 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove this module from `core-js@4` since it's replaced to module below
__webpack_require__(191);


/***/ }),
/* 191 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var collection = __webpack_require__(192);
var collectionStrong = __webpack_require__(204);

// `Map` constructor
// https://tc39.es/ecma262/#sec-map-objects
collection('Map', function (init) {
  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
}, collectionStrong);


/***/ }),
/* 192 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var global = __webpack_require__(3);
var uncurryThis = __webpack_require__(13);
var isForced = __webpack_require__(67);
var defineBuiltIn = __webpack_require__(47);
var InternalMetadataModule = __webpack_require__(193);
var iterate = __webpack_require__(200);
var anInstance = __webpack_require__(155);
var isCallable = __webpack_require__(20);
var isNullOrUndefined = __webpack_require__(16);
var isObject = __webpack_require__(19);
var fails = __webpack_require__(6);
var checkCorrectnessOfIteration = __webpack_require__(202);
var setToStringTag = __webpack_require__(186);
var inheritIfRequired = __webpack_require__(203);

module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
  var ADDER = IS_MAP ? 'set' : 'add';
  var NativeConstructor = global[CONSTRUCTOR_NAME];
  var NativePrototype = NativeConstructor && NativeConstructor.prototype;
  var Constructor = NativeConstructor;
  var exported = {};

  var fixMethod = function (KEY) {
    var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);
    defineBuiltIn(NativePrototype, KEY,
      KEY == 'add' ? function add(value) {
        uncurriedNativeMethod(this, value === 0 ? 0 : value);
        return this;
      } : KEY == 'delete' ? function (key) {
        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
      } : KEY == 'get' ? function get(key) {
        return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);
      } : KEY == 'has' ? function has(key) {
        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
      } : function set(key, value) {
        uncurriedNativeMethod(this, key === 0 ? 0 : key, value);
        return this;
      }
    );
  };

  var REPLACE = isForced(
    CONSTRUCTOR_NAME,
    !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
      new NativeConstructor().entries().next();
    }))
  );

  if (REPLACE) {
    // create collection constructor
    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
    InternalMetadataModule.enable();
  } else if (isForced(CONSTRUCTOR_NAME, true)) {
    var instance = new Constructor();
    // early implementations not supports chaining
    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });
    // most early implementations doesn't supports iterables, most modern - not close it correctly
    // eslint-disable-next-line no-new -- required for testing
    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });
    // for early implementations -0 and +0 not the same
    var BUGGY_ZERO = !IS_WEAK && fails(function () {
      // V8 ~ Chromium 42- fails only with 5+ elements
      var $instance = new NativeConstructor();
      var index = 5;
      while (index--) $instance[ADDER](index, index);
      return !$instance.has(-0);
    });

    if (!ACCEPT_ITERABLES) {
      Constructor = wrapper(function (dummy, iterable) {
        anInstance(dummy, NativePrototype);
        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
        if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
        return that;
      });
      Constructor.prototype = NativePrototype;
      NativePrototype.constructor = Constructor;
    }

    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
      fixMethod('delete');
      fixMethod('has');
      IS_MAP && fixMethod('get');
    }

    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);

    // weak collections should not contains .clear method
    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
  }

  exported[CONSTRUCTOR_NAME] = Constructor;
  $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);

  setToStringTag(Constructor, CONSTRUCTOR_NAME);

  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);

  return Constructor;
};


/***/ }),
/* 193 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var hiddenKeys = __webpack_require__(54);
var isObject = __webpack_require__(19);
var hasOwn = __webpack_require__(38);
var defineProperty = __webpack_require__(44).f;
var getOwnPropertyNamesModule = __webpack_require__(57);
var getOwnPropertyNamesExternalModule = __webpack_require__(194);
var isExtensible = __webpack_require__(197);
var uid = __webpack_require__(40);
var FREEZING = __webpack_require__(199);

var REQUIRED = false;
var METADATA = uid('meta');
var id = 0;

var setMetadata = function (it) {
  defineProperty(it, METADATA, { value: {
    objectID: 'O' + id++, // object ID
    weakData: {}          // weak collections IDs
  } });
};

var fastKey = function (it, create) {
  // return a primitive with prefix
  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
  if (!hasOwn(it, METADATA)) {
    // can't set metadata to uncaught frozen object
    if (!isExtensible(it)) return 'F';
    // not necessary to add metadata
    if (!create) return 'E';
    // add missing metadata
    setMetadata(it);
  // return object ID
  } return it[METADATA].objectID;
};

var getWeakData = function (it, create) {
  if (!hasOwn(it, METADATA)) {
    // can't set metadata to uncaught frozen object
    if (!isExtensible(it)) return true;
    // not necessary to add metadata
    if (!create) return false;
    // add missing metadata
    setMetadata(it);
  // return the store of weak collections IDs
  } return it[METADATA].weakData;
};

// add metadata on freeze-family methods calling
var onFreeze = function (it) {
  if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);
  return it;
};

var enable = function () {
  meta.enable = function () { /* empty */ };
  REQUIRED = true;
  var getOwnPropertyNames = getOwnPropertyNamesModule.f;
  var splice = uncurryThis([].splice);
  var test = {};
  test[METADATA] = 1;

  // prevent exposing of metadata key
  if (getOwnPropertyNames(test).length) {
    getOwnPropertyNamesModule.f = function (it) {
      var result = getOwnPropertyNames(it);
      for (var i = 0, length = result.length; i < length; i++) {
        if (result[i] === METADATA) {
          splice(result, i, 1);
          break;
        }
      } return result;
    };

    $({ target: 'Object', stat: true, forced: true }, {
      getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
    });
  }
};

var meta = module.exports = {
  enable: enable,
  fastKey: fastKey,
  getWeakData: getWeakData,
  onFreeze: onFreeze
};

hiddenKeys[METADATA] = true;


/***/ }),
/* 194 */
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-object-getownpropertynames -- safe */
var classof = __webpack_require__(14);
var toIndexedObject = __webpack_require__(11);
var $getOwnPropertyNames = __webpack_require__(57).f;
var arraySlice = __webpack_require__(195);

var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
  ? Object.getOwnPropertyNames(window) : [];

var getWindowNames = function (it) {
  try {
    return $getOwnPropertyNames(it);
  } catch (error) {
    return arraySlice(windowNames);
  }
};

// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
module.exports.f = function getOwnPropertyNames(it) {
  return windowNames && classof(it) == 'Window'
    ? getWindowNames(it)
    : $getOwnPropertyNames(toIndexedObject(it));
};


/***/ }),
/* 195 */
/***/ (function(module, exports, __webpack_require__) {

var toAbsoluteIndex = __webpack_require__(60);
var lengthOfArrayLike = __webpack_require__(63);
var createProperty = __webpack_require__(196);

var $Array = Array;
var max = Math.max;

module.exports = function (O, start, end) {
  var length = lengthOfArrayLike(O);
  var k = toAbsoluteIndex(start, length);
  var fin = toAbsoluteIndex(end === undefined ? length : end, length);
  var result = $Array(max(fin - k, 0));
  for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
  result.length = n;
  return result;
};


/***/ }),
/* 196 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var toPropertyKey = __webpack_require__(17);
var definePropertyModule = __webpack_require__(44);
var createPropertyDescriptor = __webpack_require__(10);

module.exports = function (object, key, value) {
  var propertyKey = toPropertyKey(key);
  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
  else object[propertyKey] = value;
};


/***/ }),
/* 197 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);
var isObject = __webpack_require__(19);
var classof = __webpack_require__(14);
var ARRAY_BUFFER_NON_EXTENSIBLE = __webpack_require__(198);

// eslint-disable-next-line es/no-object-isextensible -- safe
var $isExtensible = Object.isExtensible;
var FAILS_ON_PRIMITIVES = fails(function () { $isExtensible(1); });

// `Object.isExtensible` method
// https://tc39.es/ecma262/#sec-object.isextensible
module.exports = (FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE) ? function isExtensible(it) {
  if (!isObject(it)) return false;
  if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer') return false;
  return $isExtensible ? $isExtensible(it) : true;
} : $isExtensible;


/***/ }),
/* 198 */
/***/ (function(module, exports, __webpack_require__) {

// FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it
var fails = __webpack_require__(6);

module.exports = fails(function () {
  if (typeof ArrayBuffer == 'function') {
    var buffer = new ArrayBuffer(8);
    // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe
    if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });
  }
});


/***/ }),
/* 199 */
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__(6);

module.exports = !fails(function () {
  // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing
  return Object.isExtensible(Object.preventExtensions({}));
});


/***/ }),
/* 200 */
/***/ (function(module, exports, __webpack_require__) {

var bind = __webpack_require__(109);
var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var tryToString = __webpack_require__(31);
var isArrayIteratorMethod = __webpack_require__(201);
var lengthOfArrayLike = __webpack_require__(63);
var isPrototypeOf = __webpack_require__(24);
var getIterator = __webpack_require__(117);
var getIteratorMethod = __webpack_require__(118);
var iteratorClose = __webpack_require__(163);

var $TypeError = TypeError;

var Result = function (stopped, result) {
  this.stopped = stopped;
  this.result = result;
};

var ResultPrototype = Result.prototype;

module.exports = function (iterable, unboundFunction, options) {
  var that = options && options.that;
  var AS_ENTRIES = !!(options && options.AS_ENTRIES);
  var IS_RECORD = !!(options && options.IS_RECORD);
  var IS_ITERATOR = !!(options && options.IS_ITERATOR);
  var INTERRUPTED = !!(options && options.INTERRUPTED);
  var fn = bind(unboundFunction, that);
  var iterator, iterFn, index, length, result, next, step;

  var stop = function (condition) {
    if (iterator) iteratorClose(iterator, 'normal', condition);
    return new Result(true, condition);
  };

  var callFn = function (value) {
    if (AS_ENTRIES) {
      anObject(value);
      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
    } return INTERRUPTED ? fn(value, stop) : fn(value);
  };

  if (IS_RECORD) {
    iterator = iterable.iterator;
  } else if (IS_ITERATOR) {
    iterator = iterable;
  } else {
    iterFn = getIteratorMethod(iterable);
    if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');
    // optimisation for array iterators
    if (isArrayIteratorMethod(iterFn)) {
      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
        result = callFn(iterable[index]);
        if (result && isPrototypeOf(ResultPrototype, result)) return result;
      } return new Result(false);
    }
    iterator = getIterator(iterable, iterFn);
  }

  next = IS_RECORD ? iterable.next : iterator.next;
  while (!(step = call(next, iterator)).done) {
    try {
      result = callFn(step.value);
    } catch (error) {
      iteratorClose(iterator, 'throw', error);
    }
    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
  } return new Result(false);
};


/***/ }),
/* 201 */
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__(33);
var Iterators = __webpack_require__(119);

var ITERATOR = wellKnownSymbol('iterator');
var ArrayPrototype = Array.prototype;

// check on default Array iterator
module.exports = function (it) {
  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
};


/***/ }),
/* 202 */
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__(33);

var ITERATOR = wellKnownSymbol('iterator');
var SAFE_CLOSING = false;

try {
  var called = 0;
  var iteratorWithReturn = {
    next: function () {
      return { done: !!called++ };
    },
    'return': function () {
      SAFE_CLOSING = true;
    }
  };
  iteratorWithReturn[ITERATOR] = function () {
    return this;
  };
  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
  Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ }

module.exports = function (exec, SKIP_CLOSING) {
  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
  var ITERATION_SUPPORT = false;
  try {
    var object = {};
    object[ITERATOR] = function () {
      return {
        next: function () {
          return { done: ITERATION_SUPPORT = true };
        }
      };
    };
    exec(object);
  } catch (error) { /* empty */ }
  return ITERATION_SUPPORT;
};


/***/ }),
/* 203 */
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__(20);
var isObject = __webpack_require__(19);
var setPrototypeOf = __webpack_require__(94);

// makes subclassing work correct for wrapped built-ins
module.exports = function ($this, dummy, Wrapper) {
  var NewTarget, NewTargetPrototype;
  if (
    // it can work only with native `setPrototypeOf`
    setPrototypeOf &&
    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
    isCallable(NewTarget = dummy.constructor) &&
    NewTarget !== Wrapper &&
    isObject(NewTargetPrototype = NewTarget.prototype) &&
    NewTargetPrototype !== Wrapper.prototype
  ) setPrototypeOf($this, NewTargetPrototype);
  return $this;
};


/***/ }),
/* 204 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var create = __webpack_require__(74);
var defineBuiltInAccessor = __webpack_require__(85);
var defineBuiltIns = __webpack_require__(114);
var bind = __webpack_require__(109);
var anInstance = __webpack_require__(155);
var isNullOrUndefined = __webpack_require__(16);
var iterate = __webpack_require__(200);
var defineIterator = __webpack_require__(205);
var createIterResultObject = __webpack_require__(116);
var setSpecies = __webpack_require__(206);
var DESCRIPTORS = __webpack_require__(5);
var fastKey = __webpack_require__(193).fastKey;
var InternalStateModule = __webpack_require__(51);

var setInternalState = InternalStateModule.set;
var internalStateGetterFor = InternalStateModule.getterFor;

module.exports = {
  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
    var Constructor = wrapper(function (that, iterable) {
      anInstance(that, Prototype);
      setInternalState(that, {
        type: CONSTRUCTOR_NAME,
        index: create(null),
        first: undefined,
        last: undefined,
        size: 0
      });
      if (!DESCRIPTORS) that.size = 0;
      if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
    });

    var Prototype = Constructor.prototype;

    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);

    var define = function (that, key, value) {
      var state = getInternalState(that);
      var entry = getEntry(that, key);
      var previous, index;
      // change existing entry
      if (entry) {
        entry.value = value;
      // create new entry
      } else {
        state.last = entry = {
          index: index = fastKey(key, true),
          key: key,
          value: value,
          previous: previous = state.last,
          next: undefined,
          removed: false
        };
        if (!state.first) state.first = entry;
        if (previous) previous.next = entry;
        if (DESCRIPTORS) state.size++;
        else that.size++;
        // add to index
        if (index !== 'F') state.index[index] = entry;
      } return that;
    };

    var getEntry = function (that, key) {
      var state = getInternalState(that);
      // fast case
      var index = fastKey(key);
      var entry;
      if (index !== 'F') return state.index[index];
      // frozen object case
      for (entry = state.first; entry; entry = entry.next) {
        if (entry.key == key) return entry;
      }
    };

    defineBuiltIns(Prototype, {
      // `{ Map, Set }.prototype.clear()` methods
      // https://tc39.es/ecma262/#sec-map.prototype.clear
      // https://tc39.es/ecma262/#sec-set.prototype.clear
      clear: function clear() {
        var that = this;
        var state = getInternalState(that);
        var data = state.index;
        var entry = state.first;
        while (entry) {
          entry.removed = true;
          if (entry.previous) entry.previous = entry.previous.next = undefined;
          delete data[entry.index];
          entry = entry.next;
        }
        state.first = state.last = undefined;
        if (DESCRIPTORS) state.size = 0;
        else that.size = 0;
      },
      // `{ Map, Set }.prototype.delete(key)` methods
      // https://tc39.es/ecma262/#sec-map.prototype.delete
      // https://tc39.es/ecma262/#sec-set.prototype.delete
      'delete': function (key) {
        var that = this;
        var state = getInternalState(that);
        var entry = getEntry(that, key);
        if (entry) {
          var next = entry.next;
          var prev = entry.previous;
          delete state.index[entry.index];
          entry.removed = true;
          if (prev) prev.next = next;
          if (next) next.previous = prev;
          if (state.first == entry) state.first = next;
          if (state.last == entry) state.last = prev;
          if (DESCRIPTORS) state.size--;
          else that.size--;
        } return !!entry;
      },
      // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
      // https://tc39.es/ecma262/#sec-map.prototype.foreach
      // https://tc39.es/ecma262/#sec-set.prototype.foreach
      forEach: function forEach(callbackfn /* , that = undefined */) {
        var state = getInternalState(this);
        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        var entry;
        while (entry = entry ? entry.next : state.first) {
          boundFunction(entry.value, entry.key, this);
          // revert to the last existing entry
          while (entry && entry.removed) entry = entry.previous;
        }
      },
      // `{ Map, Set}.prototype.has(key)` methods
      // https://tc39.es/ecma262/#sec-map.prototype.has
      // https://tc39.es/ecma262/#sec-set.prototype.has
      has: function has(key) {
        return !!getEntry(this, key);
      }
    });

    defineBuiltIns(Prototype, IS_MAP ? {
      // `Map.prototype.get(key)` method
      // https://tc39.es/ecma262/#sec-map.prototype.get
      get: function get(key) {
        var entry = getEntry(this, key);
        return entry && entry.value;
      },
      // `Map.prototype.set(key, value)` method
      // https://tc39.es/ecma262/#sec-map.prototype.set
      set: function set(key, value) {
        return define(this, key === 0 ? 0 : key, value);
      }
    } : {
      // `Set.prototype.add(value)` method
      // https://tc39.es/ecma262/#sec-set.prototype.add
      add: function add(value) {
        return define(this, value = value === 0 ? 0 : value, value);
      }
    });
    if (DESCRIPTORS) defineBuiltInAccessor(Prototype, 'size', {
      configurable: true,
      get: function () {
        return getInternalState(this).size;
      }
    });
    return Constructor;
  },
  setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {
    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
    // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods
    // https://tc39.es/ecma262/#sec-map.prototype.entries
    // https://tc39.es/ecma262/#sec-map.prototype.keys
    // https://tc39.es/ecma262/#sec-map.prototype.values
    // https://tc39.es/ecma262/#sec-map.prototype-@@iterator
    // https://tc39.es/ecma262/#sec-set.prototype.entries
    // https://tc39.es/ecma262/#sec-set.prototype.keys
    // https://tc39.es/ecma262/#sec-set.prototype.values
    // https://tc39.es/ecma262/#sec-set.prototype-@@iterator
    defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {
      setInternalState(this, {
        type: ITERATOR_NAME,
        target: iterated,
        state: getInternalCollectionState(iterated),
        kind: kind,
        last: undefined
      });
    }, function () {
      var state = getInternalIteratorState(this);
      var kind = state.kind;
      var entry = state.last;
      // revert to the last existing entry
      while (entry && entry.removed) entry = entry.previous;
      // get next entry
      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
        // or finish the iteration
        state.target = undefined;
        return createIterResultObject(undefined, true);
      }
      // return step by kind
      if (kind == 'keys') return createIterResultObject(entry.key, false);
      if (kind == 'values') return createIterResultObject(entry.value, false);
      return createIterResultObject([entry.key, entry.value], false);
    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);

    // `{ Map, Set }.prototype[@@species]` accessors
    // https://tc39.es/ecma262/#sec-get-map-@@species
    // https://tc39.es/ecma262/#sec-get-set-@@species
    setSpecies(CONSTRUCTOR_NAME);
  }
};


/***/ }),
/* 205 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var IS_PURE = __webpack_require__(35);
var FunctionName = __webpack_require__(49);
var isCallable = __webpack_require__(20);
var createIteratorConstructor = __webpack_require__(184);
var getPrototypeOf = __webpack_require__(92);
var setPrototypeOf = __webpack_require__(94);
var setToStringTag = __webpack_require__(186);
var createNonEnumerableProperty = __webpack_require__(43);
var defineBuiltIn = __webpack_require__(47);
var wellKnownSymbol = __webpack_require__(33);
var Iterators = __webpack_require__(119);
var IteratorsCore = __webpack_require__(185);

var PROPER_FUNCTION_NAME = FunctionName.PROPER;
var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR = wellKnownSymbol('iterator');
var KEYS = 'keys';
var VALUES = 'values';
var ENTRIES = 'entries';

var returnThis = function () { return this; };

module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
  createIteratorConstructor(IteratorConstructor, NAME, next);

  var getIterationMethod = function (KIND) {
    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
    switch (KIND) {
      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
    } return function () { return new IteratorConstructor(this); };
  };

  var TO_STRING_TAG = NAME + ' Iterator';
  var INCORRECT_VALUES_NAME = false;
  var IterablePrototype = Iterable.prototype;
  var nativeIterator = IterablePrototype[ITERATOR]
    || IterablePrototype['@@iterator']
    || DEFAULT && IterablePrototype[DEFAULT];
  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
  var CurrentIteratorPrototype, methods, KEY;

  // fix native
  if (anyNativeIterator) {
    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
        if (setPrototypeOf) {
          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);
        }
      }
      // Set @@toStringTag to native iterators
      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
    }
  }

  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
    } else {
      INCORRECT_VALUES_NAME = true;
      defaultIterator = function values() { return call(nativeIterator, this); };
    }
  }

  // export additional methods
  if (DEFAULT) {
    methods = {
      values: getIterationMethod(VALUES),
      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
      entries: getIterationMethod(ENTRIES)
    };
    if (FORCED) for (KEY in methods) {
      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
      }
    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
  }

  // define iterator
  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
  }
  Iterators[NAME] = defaultIterator;

  return methods;
};


/***/ }),
/* 206 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var getBuiltIn = __webpack_require__(23);
var defineBuiltInAccessor = __webpack_require__(85);
var wellKnownSymbol = __webpack_require__(33);
var DESCRIPTORS = __webpack_require__(5);

var SPECIES = wellKnownSymbol('species');

module.exports = function (CONSTRUCTOR_NAME) {
  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);

  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
    defineBuiltInAccessor(Constructor, SPECIES, {
      configurable: true,
      get: function () { return this; }
    });
  }
};


/***/ }),
/* 207 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove this module from `core-js@4` since it's replaced to module below
__webpack_require__(208);


/***/ }),
/* 208 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var FREEZING = __webpack_require__(199);
var global = __webpack_require__(3);
var uncurryThis = __webpack_require__(13);
var defineBuiltIns = __webpack_require__(114);
var InternalMetadataModule = __webpack_require__(193);
var collection = __webpack_require__(192);
var collectionWeak = __webpack_require__(209);
var isObject = __webpack_require__(19);
var enforceInternalState = __webpack_require__(51).enforce;
var fails = __webpack_require__(6);
var NATIVE_WEAK_MAP = __webpack_require__(52);

var $Object = Object;
// eslint-disable-next-line es/no-array-isarray -- safe
var isArray = Array.isArray;
// eslint-disable-next-line es/no-object-isextensible -- safe
var isExtensible = $Object.isExtensible;
// eslint-disable-next-line es/no-object-isfrozen -- safe
var isFrozen = $Object.isFrozen;
// eslint-disable-next-line es/no-object-issealed -- safe
var isSealed = $Object.isSealed;
// eslint-disable-next-line es/no-object-freeze -- safe
var freeze = $Object.freeze;
// eslint-disable-next-line es/no-object-seal -- safe
var seal = $Object.seal;

var FROZEN = {};
var SEALED = {};
var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
var InternalWeakMap;

var wrapper = function (init) {
  return function WeakMap() {
    return init(this, arguments.length ? arguments[0] : undefined);
  };
};

// `WeakMap` constructor
// https://tc39.es/ecma262/#sec-weakmap-constructor
var $WeakMap = collection('WeakMap', wrapper, collectionWeak);
var WeakMapPrototype = $WeakMap.prototype;
var nativeSet = uncurryThis(WeakMapPrototype.set);

// Chakra Edge bug: adding frozen arrays to WeakMap unfreeze them
var hasMSEdgeFreezingBug = function () {
  return FREEZING && fails(function () {
    var frozenArray = freeze([]);
    nativeSet(new $WeakMap(), frozenArray, 1);
    return !isFrozen(frozenArray);
  });
};

// IE11 WeakMap frozen keys fix
// We can't use feature detection because it crash some old IE builds
// https://github.com/zloirock/core-js/issues/485
if (NATIVE_WEAK_MAP) if (IS_IE11) {
  InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
  InternalMetadataModule.enable();
  var nativeDelete = uncurryThis(WeakMapPrototype['delete']);
  var nativeHas = uncurryThis(WeakMapPrototype.has);
  var nativeGet = uncurryThis(WeakMapPrototype.get);
  defineBuiltIns(WeakMapPrototype, {
    'delete': function (key) {
      if (isObject(key) && !isExtensible(key)) {
        var state = enforceInternalState(this);
        if (!state.frozen) state.frozen = new InternalWeakMap();
        return nativeDelete(this, key) || state.frozen['delete'](key);
      } return nativeDelete(this, key);
    },
    has: function has(key) {
      if (isObject(key) && !isExtensible(key)) {
        var state = enforceInternalState(this);
        if (!state.frozen) state.frozen = new InternalWeakMap();
        return nativeHas(this, key) || state.frozen.has(key);
      } return nativeHas(this, key);
    },
    get: function get(key) {
      if (isObject(key) && !isExtensible(key)) {
        var state = enforceInternalState(this);
        if (!state.frozen) state.frozen = new InternalWeakMap();
        return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);
      } return nativeGet(this, key);
    },
    set: function set(key, value) {
      if (isObject(key) && !isExtensible(key)) {
        var state = enforceInternalState(this);
        if (!state.frozen) state.frozen = new InternalWeakMap();
        nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);
      } else nativeSet(this, key, value);
      return this;
    }
  });
// Chakra Edge frozen keys fix
} else if (hasMSEdgeFreezingBug()) {
  defineBuiltIns(WeakMapPrototype, {
    set: function set(key, value) {
      var arrayIntegrityLevel;
      if (isArray(key)) {
        if (isFrozen(key)) arrayIntegrityLevel = FROZEN;
        else if (isSealed(key)) arrayIntegrityLevel = SEALED;
      }
      nativeSet(this, key, value);
      if (arrayIntegrityLevel == FROZEN) freeze(key);
      if (arrayIntegrityLevel == SEALED) seal(key);
      return this;
    }
  });
}


/***/ }),
/* 209 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var uncurryThis = __webpack_require__(13);
var defineBuiltIns = __webpack_require__(114);
var getWeakData = __webpack_require__(193).getWeakData;
var anInstance = __webpack_require__(155);
var anObject = __webpack_require__(46);
var isNullOrUndefined = __webpack_require__(16);
var isObject = __webpack_require__(19);
var iterate = __webpack_require__(200);
var ArrayIterationModule = __webpack_require__(124);
var hasOwn = __webpack_require__(38);
var InternalStateModule = __webpack_require__(51);

var setInternalState = InternalStateModule.set;
var internalStateGetterFor = InternalStateModule.getterFor;
var find = ArrayIterationModule.find;
var findIndex = ArrayIterationModule.findIndex;
var splice = uncurryThis([].splice);
var id = 0;

// fallback for uncaught frozen keys
var uncaughtFrozenStore = function (state) {
  return state.frozen || (state.frozen = new UncaughtFrozenStore());
};

var UncaughtFrozenStore = function () {
  this.entries = [];
};

var findUncaughtFrozen = function (store, key) {
  return find(store.entries, function (it) {
    return it[0] === key;
  });
};

UncaughtFrozenStore.prototype = {
  get: function (key) {
    var entry = findUncaughtFrozen(this, key);
    if (entry) return entry[1];
  },
  has: function (key) {
    return !!findUncaughtFrozen(this, key);
  },
  set: function (key, value) {
    var entry = findUncaughtFrozen(this, key);
    if (entry) entry[1] = value;
    else this.entries.push([key, value]);
  },
  'delete': function (key) {
    var index = findIndex(this.entries, function (it) {
      return it[0] === key;
    });
    if (~index) splice(this.entries, index, 1);
    return !!~index;
  }
};

module.exports = {
  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
    var Constructor = wrapper(function (that, iterable) {
      anInstance(that, Prototype);
      setInternalState(that, {
        type: CONSTRUCTOR_NAME,
        id: id++,
        frozen: undefined
      });
      if (!isNullOrUndefined(iterable)) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });
    });

    var Prototype = Constructor.prototype;

    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);

    var define = function (that, key, value) {
      var state = getInternalState(that);
      var data = getWeakData(anObject(key), true);
      if (data === true) uncaughtFrozenStore(state).set(key, value);
      else data[state.id] = value;
      return that;
    };

    defineBuiltIns(Prototype, {
      // `{ WeakMap, WeakSet }.prototype.delete(key)` methods
      // https://tc39.es/ecma262/#sec-weakmap.prototype.delete
      // https://tc39.es/ecma262/#sec-weakset.prototype.delete
      'delete': function (key) {
        var state = getInternalState(this);
        if (!isObject(key)) return false;
        var data = getWeakData(key);
        if (data === true) return uncaughtFrozenStore(state)['delete'](key);
        return data && hasOwn(data, state.id) && delete data[state.id];
      },
      // `{ WeakMap, WeakSet }.prototype.has(key)` methods
      // https://tc39.es/ecma262/#sec-weakmap.prototype.has
      // https://tc39.es/ecma262/#sec-weakset.prototype.has
      has: function has(key) {
        var state = getInternalState(this);
        if (!isObject(key)) return false;
        var data = getWeakData(key);
        if (data === true) return uncaughtFrozenStore(state).has(key);
        return data && hasOwn(data, state.id);
      }
    });

    defineBuiltIns(Prototype, IS_MAP ? {
      // `WeakMap.prototype.get(key)` method
      // https://tc39.es/ecma262/#sec-weakmap.prototype.get
      get: function get(key) {
        var state = getInternalState(this);
        if (isObject(key)) {
          var data = getWeakData(key);
          if (data === true) return uncaughtFrozenStore(state).get(key);
          return data ? data[state.id] : undefined;
        }
      },
      // `WeakMap.prototype.set(key, value)` method
      // https://tc39.es/ecma262/#sec-weakmap.prototype.set
      set: function set(key, value) {
        return define(this, key, value);
      }
    } : {
      // `WeakSet.prototype.add(value)` method
      // https://tc39.es/ecma262/#sec-weakset.prototype.add
      add: function add(value) {
        return define(this, value, true);
      }
    });

    return Constructor;
  }
};


/***/ }),
/* 210 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var getCompositeKeyNode = __webpack_require__(189);
var getBuiltIn = __webpack_require__(23);
var apply = __webpack_require__(188);

// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
$({ global: true, forced: true }, {
  compositeSymbol: function compositeSymbol() {
    if (arguments.length == 1 && typeof arguments[0] == 'string') return getBuiltIn('Symbol')['for'](arguments[0]);
    return apply(getCompositeKeyNode, null, arguments).get('symbol', getBuiltIn('Symbol'));
  }
});


/***/ }),
/* 211 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-explicit-resource-management
var $ = __webpack_require__(2);
var DESCRIPTORS = __webpack_require__(5);
var getBuiltIn = __webpack_require__(23);
var aCallable = __webpack_require__(30);
var anInstance = __webpack_require__(155);
var defineBuiltIn = __webpack_require__(47);
var defineBuiltIns = __webpack_require__(114);
var defineBuiltInAccessor = __webpack_require__(85);
var wellKnownSymbol = __webpack_require__(33);
var InternalStateModule = __webpack_require__(51);
var addDisposableResource = __webpack_require__(156);

var SuppressedError = getBuiltIn('SuppressedError');
var $ReferenceError = ReferenceError;

var DISPOSE = wellKnownSymbol('dispose');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');

var DISPOSABLE_STACK = 'DisposableStack';
var setInternalState = InternalStateModule.set;
var getDisposableStackInternalState = InternalStateModule.getterFor(DISPOSABLE_STACK);

var HINT = 'sync-dispose';
var DISPOSED = 'disposed';
var PENDING = 'pending';

var getPendingDisposableStackInternalState = function (stack) {
  var internalState = getDisposableStackInternalState(stack);
  if (internalState.state == DISPOSED) throw $ReferenceError(DISPOSABLE_STACK + ' already disposed');
  return internalState;
};

var $DisposableStack = function DisposableStack() {
  setInternalState(anInstance(this, DisposableStackPrototype), {
    type: DISPOSABLE_STACK,
    state: PENDING,
    stack: []
  });

  if (!DESCRIPTORS) this.disposed = false;
};

var DisposableStackPrototype = $DisposableStack.prototype;

defineBuiltIns(DisposableStackPrototype, {
  dispose: function dispose() {
    var internalState = getDisposableStackInternalState(this);
    if (internalState.state == DISPOSED) return;
    internalState.state = DISPOSED;
    if (!DESCRIPTORS) this.disposed = true;
    var stack = internalState.stack;
    var i = stack.length;
    var thrown = false;
    var suppressed;
    while (i) {
      var disposeMethod = stack[--i];
      stack[i] = null;
      try {
        disposeMethod();
      } catch (errorResult) {
        if (thrown) {
          suppressed = new SuppressedError(errorResult, suppressed);
        } else {
          thrown = true;
          suppressed = errorResult;
        }
      }
    }
    internalState.stack = null;
    if (thrown) throw suppressed;
  },
  use: function use(value) {
    addDisposableResource(getPendingDisposableStackInternalState(this), value, HINT);
    return value;
  },
  adopt: function adopt(value, onDispose) {
    var internalState = getPendingDisposableStackInternalState(this);
    aCallable(onDispose);
    addDisposableResource(internalState, undefined, HINT, function () {
      onDispose(value);
    });
    return value;
  },
  defer: function defer(onDispose) {
    var internalState = getPendingDisposableStackInternalState(this);
    aCallable(onDispose);
    addDisposableResource(internalState, undefined, HINT, onDispose);
  },
  move: function move() {
    var internalState = getPendingDisposableStackInternalState(this);
    var newDisposableStack = new $DisposableStack();
    getDisposableStackInternalState(newDisposableStack).stack = internalState.stack;
    internalState.stack = [];
    internalState.state = DISPOSED;
    if (!DESCRIPTORS) this.disposed = true;
    return newDisposableStack;
  }
});

if (DESCRIPTORS) defineBuiltInAccessor(DisposableStackPrototype, 'disposed', {
  configurable: true,
  get: function disposed() {
    return getDisposableStackInternalState(this).state == DISPOSED;
  }
});

defineBuiltIn(DisposableStackPrototype, DISPOSE, DisposableStackPrototype.dispose, { name: 'dispose' });
defineBuiltIn(DisposableStackPrototype, TO_STRING_TAG, DISPOSABLE_STACK, { nonWritable: true });

$({ global: true, constructor: true }, {
  DisposableStack: $DisposableStack
});


/***/ }),
/* 212 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var demethodize = __webpack_require__(213);

// `Function.prototype.demethodize` method
// https://github.com/js-choi/proposal-function-demethodize
$({ target: 'Function', proto: true, forced: true }, {
  demethodize: demethodize
});


/***/ }),
/* 213 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var uncurryThis = __webpack_require__(13);
var aCallable = __webpack_require__(30);

module.exports = function demethodize() {
  return uncurryThis(aCallable(this));
};


/***/ }),
/* 214 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var $isCallable = __webpack_require__(20);
var inspectSource = __webpack_require__(50);
var hasOwn = __webpack_require__(38);
var DESCRIPTORS = __webpack_require__(5);

// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var classRegExp = /^\s*class\b/;
var exec = uncurryThis(classRegExp.exec);

var isClassConstructor = function (argument) {
  try {
    // `Function#toString` throws on some built-it function in some legacy engines
    // (for example, `DOMQuad` and similar in FF41-)
    if (!DESCRIPTORS || !exec(classRegExp, inspectSource(argument))) return false;
  } catch (error) { /* empty */ }
  var prototype = getOwnPropertyDescriptor(argument, 'prototype');
  return !!prototype && hasOwn(prototype, 'writable') && !prototype.writable;
};

// `Function.isCallable` method
// https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md
$({ target: 'Function', stat: true, sham: true, forced: true }, {
  isCallable: function isCallable(argument) {
    return $isCallable(argument) && !isClassConstructor(argument);
  }
});


/***/ }),
/* 215 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var isConstructor = __webpack_require__(111);

// `Function.isConstructor` method
// https://github.com/caitp/TC39-Proposals/blob/trunk/tc39-reflect-isconstructor-iscallable.md
$({ target: 'Function', stat: true, forced: true }, {
  isConstructor: isConstructor
});


/***/ }),
/* 216 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var demethodize = __webpack_require__(213);

// `Function.prototype.unThis` method
// https://github.com/js-choi/proposal-function-demethodize
// TODO: Remove from `core-js@4`
$({ target: 'Function', proto: true, forced: true, name: 'demethodize' }, {
  unThis: demethodize
});


/***/ }),
/* 217 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var global = __webpack_require__(3);
var anInstance = __webpack_require__(155);
var isCallable = __webpack_require__(20);
var createNonEnumerableProperty = __webpack_require__(43);
var fails = __webpack_require__(6);
var hasOwn = __webpack_require__(38);
var wellKnownSymbol = __webpack_require__(33);
var IteratorPrototype = __webpack_require__(185).IteratorPrototype;
var IS_PURE = __webpack_require__(35);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');

var NativeIterator = global.Iterator;

// FF56- have non-standard global helper `Iterator`
var FORCED = IS_PURE
  || !isCallable(NativeIterator)
  || NativeIterator.prototype !== IteratorPrototype
  // FF44- non-standard `Iterator` passes previous tests
  || !fails(function () { NativeIterator({}); });

var IteratorConstructor = function Iterator() {
  anInstance(this, IteratorPrototype);
};

if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) {
  createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator');
}

if (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {
  createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);
}

IteratorConstructor.prototype = IteratorPrototype;

// `Iterator` constructor
// https://github.com/tc39/proposal-iterator-helpers
$({ global: true, constructor: true, forced: FORCED }, {
  Iterator: IteratorConstructor
});


/***/ }),
/* 218 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var indexed = __webpack_require__(219);

// `Iterator.prototype.asIndexedPairs` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', name: 'indexed', proto: true, real: true, forced: true }, {
  asIndexedPairs: indexed
});


/***/ }),
/* 219 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var map = __webpack_require__(220);

var callback = function (value, counter) {
  return [counter, value];
};

// `Iterator.prototype.indexed` method
// https://github.com/tc39/proposal-iterator-helpers
module.exports = function indexed() {
  return call(map, this, callback);
};


/***/ }),
/* 220 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var createIteratorProxy = __webpack_require__(221);
var callWithSafeIterationClosing = __webpack_require__(222);

var IteratorProxy = createIteratorProxy(function () {
  var iterator = this.iterator;
  var result = anObject(call(this.next, iterator));
  var done = this.done = !!result.done;
  if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);
});

// `Iterator.prototype.map` method
// https://github.com/tc39/proposal-iterator-helpers
module.exports = function map(mapper) {
  anObject(this);
  aCallable(mapper);
  return new IteratorProxy(getIteratorDirect(this), {
    mapper: mapper
  });
};


/***/ }),
/* 221 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var create = __webpack_require__(74);
var createNonEnumerableProperty = __webpack_require__(43);
var defineBuiltIns = __webpack_require__(114);
var wellKnownSymbol = __webpack_require__(33);
var InternalStateModule = __webpack_require__(51);
var getMethod = __webpack_require__(29);
var IteratorPrototype = __webpack_require__(185).IteratorPrototype;
var createIterResultObject = __webpack_require__(116);
var iteratorClose = __webpack_require__(163);

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ITERATOR_HELPER = 'IteratorHelper';
var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator';
var setInternalState = InternalStateModule.set;

var createIteratorProxyPrototype = function (IS_ITERATOR) {
  var getInternalState = InternalStateModule.getterFor(IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER);

  return defineBuiltIns(create(IteratorPrototype), {
    next: function next() {
      var state = getInternalState(this);
      // for simplification:
      //   for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject`
      //   for `%IteratorHelperPrototype%.next` - just a value
      if (IS_ITERATOR) return state.nextHandler();
      try {
        var result = state.done ? undefined : state.nextHandler();
        return createIterResultObject(result, state.done);
      } catch (error) {
        state.done = true;
        throw error;
      }
    },
    'return': function () {
      var state = getInternalState(this);
      var iterator = state.iterator;
      state.done = true;
      if (IS_ITERATOR) {
        var returnMethod = getMethod(iterator, 'return');
        return returnMethod ? call(returnMethod, iterator) : createIterResultObject(undefined, true);
      }
      if (state.inner) try {
        iteratorClose(state.inner.iterator, 'normal');
      } catch (error) {
        return iteratorClose(iterator, 'throw', error);
      }
      iteratorClose(iterator, 'normal');
      return createIterResultObject(undefined, true);
    }
  });
};

var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true);
var IteratorHelperPrototype = createIteratorProxyPrototype(false);

createNonEnumerableProperty(IteratorHelperPrototype, TO_STRING_TAG, 'Iterator Helper');

module.exports = function (nextHandler, IS_ITERATOR) {
  var IteratorProxy = function Iterator(record, state) {
    if (state) {
      state.iterator = record.iterator;
      state.next = record.next;
    } else state = record;
    state.type = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER;
    state.nextHandler = nextHandler;
    state.counter = 0;
    state.done = false;
    setInternalState(this, state);
  };

  IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype;

  return IteratorProxy;
};


/***/ }),
/* 222 */
/***/ (function(module, exports, __webpack_require__) {

var anObject = __webpack_require__(46);
var iteratorClose = __webpack_require__(163);

// call something on iterator step with safe closing on error
module.exports = function (iterator, fn, value, ENTRIES) {
  try {
    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
  } catch (error) {
    iteratorClose(iterator, 'throw', error);
  }
};


/***/ }),
/* 223 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-explicit-resource-management
var call = __webpack_require__(7);
var defineBuiltIn = __webpack_require__(47);
var getMethod = __webpack_require__(29);
var hasOwn = __webpack_require__(38);
var wellKnownSymbol = __webpack_require__(33);
var IteratorPrototype = __webpack_require__(185).IteratorPrototype;

var DISPOSE = wellKnownSymbol('dispose');

if (!hasOwn(IteratorPrototype, DISPOSE)) {
  defineBuiltIn(IteratorPrototype, DISPOSE, function () {
    var $return = getMethod(this, 'return');
    if ($return) call($return, this);
  });
}


/***/ }),
/* 224 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var notANaN = __webpack_require__(166);
var toPositiveInteger = __webpack_require__(167);
var createIteratorProxy = __webpack_require__(221);

var IteratorProxy = createIteratorProxy(function () {
  var iterator = this.iterator;
  var next = this.next;
  var result, done;
  while (this.remaining) {
    this.remaining--;
    result = anObject(call(next, iterator));
    done = this.done = !!result.done;
    if (done) return;
  }
  result = anObject(call(next, iterator));
  done = this.done = !!result.done;
  if (!done) return result.value;
});

// `Iterator.prototype.drop` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  drop: function drop(limit) {
    anObject(this);
    var remaining = toPositiveInteger(notANaN(+limit));
    return new IteratorProxy(getIteratorDirect(this), {
      remaining: remaining
    });
  }
});


/***/ }),
/* 225 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var iterate = __webpack_require__(200);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);

// `Iterator.prototype.every` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  every: function every(predicate) {
    anObject(this);
    aCallable(predicate);
    var record = getIteratorDirect(this);
    var counter = 0;
    return !iterate(record, function (value, stop) {
      if (!predicate(value, counter++)) return stop();
    }, { IS_RECORD: true, INTERRUPTED: true }).stopped;
  }
});


/***/ }),
/* 226 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var createIteratorProxy = __webpack_require__(221);
var callWithSafeIterationClosing = __webpack_require__(222);

var IteratorProxy = createIteratorProxy(function () {
  var iterator = this.iterator;
  var predicate = this.predicate;
  var next = this.next;
  var result, done, value;
  while (true) {
    result = anObject(call(next, iterator));
    done = this.done = !!result.done;
    if (done) return;
    value = result.value;
    if (callWithSafeIterationClosing(iterator, predicate, [value, this.counter++], true)) return value;
  }
});

// `Iterator.prototype.filter` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  filter: function filter(predicate) {
    anObject(this);
    aCallable(predicate);
    return new IteratorProxy(getIteratorDirect(this), {
      predicate: predicate
    });
  }
});


/***/ }),
/* 227 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var iterate = __webpack_require__(200);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);

// `Iterator.prototype.find` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  find: function find(predicate) {
    anObject(this);
    aCallable(predicate);
    var record = getIteratorDirect(this);
    var counter = 0;
    return iterate(record, function (value, stop) {
      if (predicate(value, counter++)) return stop(value);
    }, { IS_RECORD: true, INTERRUPTED: true }).result;
  }
});


/***/ }),
/* 228 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var getIteratorFlattenable = __webpack_require__(229);
var createIteratorProxy = __webpack_require__(221);
var iteratorClose = __webpack_require__(163);

var IteratorProxy = createIteratorProxy(function () {
  var iterator = this.iterator;
  var mapper = this.mapper;
  var result, inner;

  while (true) {
    if (inner = this.inner) try {
      result = anObject(call(inner.next, inner.iterator));
      if (!result.done) return result.value;
      this.inner = null;
    } catch (error) { iteratorClose(iterator, 'throw', error); }

    result = anObject(call(this.next, iterator));

    if (this.done = !!result.done) return;

    try {
      this.inner = getIteratorFlattenable(mapper(result.value, this.counter++));
    } catch (error) { iteratorClose(iterator, 'throw', error); }
  }
});

// `Iterator.prototype.flatMap` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  flatMap: function flatMap(mapper) {
    anObject(this);
    aCallable(mapper);
    return new IteratorProxy(getIteratorDirect(this), {
      mapper: mapper,
      inner: null
    });
  }
});


/***/ }),
/* 229 */
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var getIteratorMethod = __webpack_require__(118);

module.exports = function (obj) {
  var object = anObject(obj);
  var method = getIteratorMethod(object);
  return getIteratorDirect(anObject(method !== undefined ? call(method, object) : object));
};


/***/ }),
/* 230 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var iterate = __webpack_require__(200);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);

// `Iterator.prototype.forEach` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  forEach: function forEach(fn) {
    anObject(this);
    aCallable(fn);
    var record = getIteratorDirect(this);
    var counter = 0;
    iterate(record, function (value) {
      fn(value, counter++);
    }, { IS_RECORD: true });
  }
});


/***/ }),
/* 231 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toObject = __webpack_require__(39);
var isPrototypeOf = __webpack_require__(24);
var IteratorPrototype = __webpack_require__(185).IteratorPrototype;
var createIteratorProxy = __webpack_require__(221);
var getIteratorFlattenable = __webpack_require__(229);

var IteratorProxy = createIteratorProxy(function () {
  return call(this.next, this.iterator);
}, true);

// `Iterator.from` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', stat: true }, {
  from: function from(O) {
    var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O);
    return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator)
      ? iteratorRecord.iterator
      : new IteratorProxy(iteratorRecord);
  }
});


/***/ }),
/* 232 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var indexed = __webpack_require__(219);

// `Iterator.prototype.indexed` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
  indexed: indexed
});


/***/ }),
/* 233 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var map = __webpack_require__(220);

// `Iterator.prototype.map` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  map: map
});


/***/ }),
/* 234 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

/* eslint-disable es/no-bigint -- safe */
var $ = __webpack_require__(2);
var NumericRangeIterator = __webpack_require__(183);

var $TypeError = TypeError;

// `Iterator.range` method
// https://github.com/tc39/proposal-Number.range
$({ target: 'Iterator', stat: true, forced: true }, {
  range: function range(start, end, option) {
    if (typeof start == 'number') return new NumericRangeIterator(start, end, option, 'number', 0, 1);
    if (typeof start == 'bigint') return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
    throw $TypeError('Incorrect Iterator.range arguments');
  }
});


/***/ }),
/* 235 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var iterate = __webpack_require__(200);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);

var $TypeError = TypeError;

// `Iterator.prototype.reduce` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  reduce: function reduce(reducer /* , initialValue */) {
    anObject(this);
    aCallable(reducer);
    var record = getIteratorDirect(this);
    var noInitial = arguments.length < 2;
    var accumulator = noInitial ? undefined : arguments[1];
    var counter = 0;
    iterate(record, function (value) {
      if (noInitial) {
        noInitial = false;
        accumulator = value;
      } else {
        accumulator = reducer(accumulator, value, counter);
      }
      counter++;
    }, { IS_RECORD: true });
    if (noInitial) throw $TypeError('Reduce of empty iterator with no initial value');
    return accumulator;
  }
});


/***/ }),
/* 236 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var iterate = __webpack_require__(200);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);

// `Iterator.prototype.some` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  some: function some(predicate) {
    anObject(this);
    aCallable(predicate);
    var record = getIteratorDirect(this);
    var counter = 0;
    return iterate(record, function (value, stop) {
      if (predicate(value, counter++)) return stop();
    }, { IS_RECORD: true, INTERRUPTED: true }).stopped;
  }
});


/***/ }),
/* 237 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var getIteratorDirect = __webpack_require__(120);
var notANaN = __webpack_require__(166);
var toPositiveInteger = __webpack_require__(167);
var createIteratorProxy = __webpack_require__(221);
var iteratorClose = __webpack_require__(163);

var IteratorProxy = createIteratorProxy(function () {
  var iterator = this.iterator;
  if (!this.remaining--) {
    this.done = true;
    return iteratorClose(iterator, 'normal', undefined);
  }
  var result = anObject(call(this.next, iterator));
  var done = this.done = !!result.done;
  if (!done) return result.value;
});

// `Iterator.prototype.take` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  take: function take(limit) {
    anObject(this);
    var remaining = toPositiveInteger(notANaN(+limit));
    return new IteratorProxy(getIteratorDirect(this), {
      remaining: remaining
    });
  }
});


/***/ }),
/* 238 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var anObject = __webpack_require__(46);
var iterate = __webpack_require__(200);
var getIteratorDirect = __webpack_require__(120);

var push = [].push;

// `Iterator.prototype.toArray` method
// https://github.com/tc39/proposal-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  toArray: function toArray() {
    var result = [];
    iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true });
    return result;
  }
});


/***/ }),
/* 239 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var anObject = __webpack_require__(46);
var AsyncFromSyncIterator = __webpack_require__(113);
var WrapAsyncIterator = __webpack_require__(175);
var getIteratorDirect = __webpack_require__(120);

// `Iterator.prototype.toAsync` method
// https://github.com/tc39/proposal-async-iterator-helpers
$({ target: 'Iterator', proto: true, real: true }, {
  toAsync: function toAsync() {
    return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(anObject(this)))));
  }
});


/***/ }),
/* 240 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var NATIVE_RAW_JSON = __webpack_require__(241);
var isRawJSON = __webpack_require__(242);

// `JSON.parse` method
// https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson
// https://github.com/tc39/proposal-json-parse-with-source
$({ target: 'JSON', stat: true, forced: !NATIVE_RAW_JSON }, {
  isRawJSON: isRawJSON
});


/***/ }),
/* 241 */
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-json -- safe */
var fails = __webpack_require__(6);

module.exports = !fails(function () {
  var unsafeInt = '9007199254740993';
  var raw = JSON.rawJSON(unsafeInt);
  return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
});


/***/ }),
/* 242 */
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__(19);
var getInternalState = __webpack_require__(51).get;

module.exports = function isRawJSON(O) {
  if (!isObject(O)) return false;
  var state = getInternalState(O);
  return !!state && state.type === 'RawJSON';
};


/***/ }),
/* 243 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var DESCRIPTORS = __webpack_require__(5);
var global = __webpack_require__(3);
var getBuiltIn = __webpack_require__(23);
var uncurryThis = __webpack_require__(13);
var call = __webpack_require__(7);
var isCallable = __webpack_require__(20);
var isObject = __webpack_require__(19);
var isArray = __webpack_require__(69);
var hasOwn = __webpack_require__(38);
var toString = __webpack_require__(106);
var lengthOfArrayLike = __webpack_require__(63);
var createProperty = __webpack_require__(196);
var fails = __webpack_require__(6);
var parseJSONString = __webpack_require__(244);
var NATIVE_SYMBOL = __webpack_require__(26);

var JSON = global.JSON;
var Number = global.Number;
var SyntaxError = global.SyntaxError;
var nativeParse = JSON && JSON.parse;
var enumerableOwnProperties = getBuiltIn('Object', 'keys');
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var at = uncurryThis(''.charAt);
var slice = uncurryThis(''.slice);
var exec = uncurryThis(/./.exec);
var push = uncurryThis([].push);

var IS_DIGIT = /^\d$/;
var IS_NON_ZERO_DIGIT = /^[1-9]$/;
var IS_NUMBER_START = /^(-|\d)$/;
var IS_WHITESPACE = /^[\t\n\r ]$/;

var PRIMITIVE = 0;
var OBJECT = 1;

var $parse = function (source, reviver) {
  source = toString(source);
  var context = new Context(source, 0, '');
  var root = context.parse();
  var value = root.value;
  var endIndex = context.skip(IS_WHITESPACE, root.end);
  if (endIndex < source.length) {
    throw SyntaxError('Unexpected extra character: "' + at(source, endIndex) + '" after the parsed data at: ' + endIndex);
  }
  return isCallable(reviver) ? internalize({ '': value }, '', reviver, root) : value;
};

var internalize = function (holder, name, reviver, node) {
  var val = holder[name];
  var unmodified = node && val === node.value;
  var context = unmodified && typeof node.source == 'string' ? { source: node.source } : {};
  var elementRecordsLen, keys, len, i, P;
  if (isObject(val)) {
    var nodeIsArray = isArray(val);
    var nodes = unmodified ? node.nodes : nodeIsArray ? [] : {};
    if (nodeIsArray) {
      elementRecordsLen = nodes.length;
      len = lengthOfArrayLike(val);
      for (i = 0; i < len; i++) {
        internalizeProperty(val, i, internalize(val, '' + i, reviver, i < elementRecordsLen ? nodes[i] : undefined));
      }
    } else {
      keys = enumerableOwnProperties(val);
      len = lengthOfArrayLike(keys);
      for (i = 0; i < len; i++) {
        P = keys[i];
        internalizeProperty(val, P, internalize(val, P, reviver, hasOwn(nodes, P) ? nodes[P] : undefined));
      }
    }
  }
  return call(reviver, holder, name, val, context);
};

var internalizeProperty = function (object, key, value) {
  if (DESCRIPTORS) {
    var descriptor = getOwnPropertyDescriptor(object, key);
    if (descriptor && !descriptor.configurable) return;
  }
  if (value === undefined) delete object[key];
  else createProperty(object, key, value);
};

var Node = function (value, end, source, nodes) {
  this.value = value;
  this.end = end;
  this.source = source;
  this.nodes = nodes;
};

var Context = function (source, index) {
  this.source = source;
  this.index = index;
};

// https://www.json.org/json-en.html
Context.prototype = {
  fork: function (nextIndex) {
    return new Context(this.source, nextIndex);
  },
  parse: function () {
    var source = this.source;
    var i = this.skip(IS_WHITESPACE, this.index);
    var fork = this.fork(i);
    var chr = at(source, i);
    if (exec(IS_NUMBER_START, chr)) return fork.number();
    switch (chr) {
      case '{':
        return fork.object();
      case '[':
        return fork.array();
      case '"':
        return fork.string();
      case 't':
        return fork.keyword(true);
      case 'f':
        return fork.keyword(false);
      case 'n':
        return fork.keyword(null);
    } throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
  },
  node: function (type, value, start, end, nodes) {
    return new Node(value, end, type ? null : slice(this.source, start, end), nodes);
  },
  object: function () {
    var source = this.source;
    var i = this.index + 1;
    var expectKeypair = false;
    var object = {};
    var nodes = {};
    while (i < source.length) {
      i = this.until(['"', '}'], i);
      if (at(source, i) == '}' && !expectKeypair) {
        i++;
        break;
      }
      // Parsing the key
      var result = this.fork(i).string();
      var key = result.value;
      i = result.end;
      i = this.until([':'], i) + 1;
      // Parsing value
      i = this.skip(IS_WHITESPACE, i);
      result = this.fork(i).parse();
      createProperty(nodes, key, result);
      createProperty(object, key, result.value);
      i = this.until([',', '}'], result.end);
      var chr = at(source, i);
      if (chr == ',') {
        expectKeypair = true;
        i++;
      } else if (chr == '}') {
        i++;
        break;
      }
    }
    return this.node(OBJECT, object, this.index, i, nodes);
  },
  array: function () {
    var source = this.source;
    var i = this.index + 1;
    var expectElement = false;
    var array = [];
    var nodes = [];
    while (i < source.length) {
      i = this.skip(IS_WHITESPACE, i);
      if (at(source, i) == ']' && !expectElement) {
        i++;
        break;
      }
      var result = this.fork(i).parse();
      push(nodes, result);
      push(array, result.value);
      i = this.until([',', ']'], result.end);
      if (at(source, i) == ',') {
        expectElement = true;
        i++;
      } else if (at(source, i) == ']') {
        i++;
        break;
      }
    }
    return this.node(OBJECT, array, this.index, i, nodes);
  },
  string: function () {
    var index = this.index;
    var parsed = parseJSONString(this.source, this.index + 1);
    return this.node(PRIMITIVE, parsed.value, index, parsed.end);
  },
  number: function () {
    var source = this.source;
    var startIndex = this.index;
    var i = startIndex;
    if (at(source, i) == '-') i++;
    if (at(source, i) == '0') i++;
    else if (exec(IS_NON_ZERO_DIGIT, at(source, i))) i = this.skip(IS_DIGIT, ++i);
    else throw SyntaxError('Failed to parse number at: ' + i);
    if (at(source, i) == '.') i = this.skip(IS_DIGIT, ++i);
    if (at(source, i) == 'e' || at(source, i) == 'E') {
      i++;
      if (at(source, i) == '+' || at(source, i) == '-') i++;
      var exponentStartIndex = i;
      i = this.skip(IS_DIGIT, i);
      if (exponentStartIndex == i) throw SyntaxError("Failed to parse number's exponent value at: " + i);
    }
    return this.node(PRIMITIVE, Number(slice(source, startIndex, i)), startIndex, i);
  },
  keyword: function (value) {
    var keyword = '' + value;
    var index = this.index;
    var endIndex = index + keyword.length;
    if (slice(this.source, index, endIndex) != keyword) throw SyntaxError('Failed to parse value at: ' + index);
    return this.node(PRIMITIVE, value, index, endIndex);
  },
  skip: function (regex, i) {
    var source = this.source;
    for (; i < source.length; i++) if (!exec(regex, at(source, i))) break;
    return i;
  },
  until: function (array, i) {
    i = this.skip(IS_WHITESPACE, i);
    var chr = at(this.source, i);
    for (var j = 0; j < array.length; j++) if (array[j] == chr) return i;
    throw SyntaxError('Unexpected character: "' + chr + '" at: ' + i);
  }
};

var NO_SOURCE_SUPPORT = fails(function () {
  var unsafeInt = '9007199254740993';
  var source;
  nativeParse(unsafeInt, function (key, value, context) {
    source = context.source;
  });
  return source !== unsafeInt;
});

var PROPER_BASE_PARSE = NATIVE_SYMBOL && !fails(function () {
  // Safari 9 bug
  return 1 / nativeParse('-0 \t') !== -Infinity;
});

// `JSON.parse` method
// https://tc39.es/ecma262/#sec-json.parse
// https://github.com/tc39/proposal-json-parse-with-source
$({ target: 'JSON', stat: true, forced: NO_SOURCE_SUPPORT }, {
  parse: function parse(text, reviver) {
    return PROPER_BASE_PARSE && !isCallable(reviver) ? nativeParse(text) : $parse(text, reviver);
  }
});


/***/ }),
/* 244 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var hasOwn = __webpack_require__(38);

var $SyntaxError = SyntaxError;
var $parseInt = parseInt;
var fromCharCode = String.fromCharCode;
var at = uncurryThis(''.charAt);
var slice = uncurryThis(''.slice);
var exec = uncurryThis(/./.exec);

var codePoints = {
  '\\"': '"',
  '\\\\': '\\',
  '\\/': '/',
  '\\b': '\b',
  '\\f': '\f',
  '\\n': '\n',
  '\\r': '\r',
  '\\t': '\t'
};

var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i;
// eslint-disable-next-line regexp/no-control-character -- safe
var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/;

module.exports = function (source, i) {
  var unterminated = true;
  var value = '';
  while (i < source.length) {
    var chr = at(source, i);
    if (chr == '\\') {
      var twoChars = slice(source, i, i + 2);
      if (hasOwn(codePoints, twoChars)) {
        value += codePoints[twoChars];
        i += 2;
      } else if (twoChars == '\\u') {
        i += 2;
        var fourHexDigits = slice(source, i, i + 4);
        if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw $SyntaxError('Bad Unicode escape at: ' + i);
        value += fromCharCode($parseInt(fourHexDigits, 16));
        i += 4;
      } else throw $SyntaxError('Unknown escape sequence: "' + twoChars + '"');
    } else if (chr == '"') {
      unterminated = false;
      i++;
      break;
    } else {
      if (exec(IS_C0_CONTROL_CODE, chr)) throw $SyntaxError('Bad control character in string literal at: ' + i);
      value += chr;
      i++;
    }
  }
  if (unterminated) throw $SyntaxError('Unterminated string at: ' + i);
  return { value: value, end: i };
};


/***/ }),
/* 245 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var FREEZING = __webpack_require__(199);
var NATIVE_RAW_JSON = __webpack_require__(241);
var getBuiltIn = __webpack_require__(23);
var call = __webpack_require__(7);
var uncurryThis = __webpack_require__(13);
var isCallable = __webpack_require__(20);
var isRawJSON = __webpack_require__(242);
var toString = __webpack_require__(106);
var createProperty = __webpack_require__(196);
var parseJSONString = __webpack_require__(244);
var getReplacerFunction = __webpack_require__(246);
var uid = __webpack_require__(40);
var setInternalState = __webpack_require__(51).set;

var $String = String;
var $SyntaxError = SyntaxError;
var parse = getBuiltIn('JSON', 'parse');
var $stringify = getBuiltIn('JSON', 'stringify');
var create = getBuiltIn('Object', 'create');
var freeze = getBuiltIn('Object', 'freeze');
var at = uncurryThis(''.charAt);
var slice = uncurryThis(''.slice);
var exec = uncurryThis(/./.exec);
var push = uncurryThis([].push);

var MARK = uid();
var MARK_LENGTH = MARK.length;
var ERROR_MESSAGE = 'Unacceptable as raw JSON';
var IS_WHITESPACE = /^[\t\n\r ]$/;

// `JSON.parse` method
// https://tc39.es/proposal-json-parse-with-source/#sec-json.israwjson
// https://github.com/tc39/proposal-json-parse-with-source
$({ target: 'JSON', stat: true, forced: !NATIVE_RAW_JSON }, {
  rawJSON: function rawJSON(text) {
    var jsonString = toString(text);
    if (jsonString == '' || exec(IS_WHITESPACE, at(jsonString, 0)) || exec(IS_WHITESPACE, at(jsonString, jsonString.length - 1))) {
      throw $SyntaxError(ERROR_MESSAGE);
    }
    var parsed = parse(jsonString);
    if (typeof parsed == 'object' && parsed !== null) throw $SyntaxError(ERROR_MESSAGE);
    var obj = create(null);
    setInternalState(obj, { type: 'RawJSON' });
    createProperty(obj, 'rawJSON', jsonString);
    return FREEZING ? freeze(obj) : obj;
  }
});

// `JSON.stringify` method
// https://tc39.es/ecma262/#sec-json.stringify
// https://github.com/tc39/proposal-json-parse-with-source
if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: !NATIVE_RAW_JSON }, {
  stringify: function stringify(text, replacer, space) {
    var replacerFunction = getReplacerFunction(replacer);
    var rawStrings = [];

    var json = $stringify(text, function (key, value) {
      // some old implementations (like WebKit) could pass numbers as keys
      var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;
      return isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;
    }, space);

    if (typeof json != 'string') return json;

    var result = '';
    var length = json.length;

    for (var i = 0; i < length; i++) {
      var chr = at(json, i);
      if (chr == '"') {
        var end = parseJSONString(json, ++i).end - 1;
        var string = slice(json, i, end);
        result += slice(string, 0, MARK_LENGTH) == MARK
          ? rawStrings[slice(string, MARK_LENGTH)]
          : '"' + string + '"';
        i = end;
      } else result += chr;
    }

    return result;
  }
});


/***/ }),
/* 246 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var isArray = __webpack_require__(69);
var isCallable = __webpack_require__(20);
var classof = __webpack_require__(14);
var toString = __webpack_require__(106);

var push = uncurryThis([].push);

module.exports = function (replacer) {
  if (isCallable(replacer)) return replacer;
  if (!isArray(replacer)) return;
  var rawLength = replacer.length;
  var keys = [];
  for (var i = 0; i < rawLength; i++) {
    var element = replacer[i];
    if (typeof element == 'string') push(keys, element);
    else if (typeof element == 'number' || classof(element) == 'Number' || classof(element) == 'String') push(keys, toString(element));
  }
  var keysLength = keys.length;
  var root = true;
  return function (key, value) {
    if (root) {
      root = false;
      return value;
    }
    if (isArray(this)) return value;
    for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
  };
};


/***/ }),
/* 247 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aMap = __webpack_require__(248);
var remove = __webpack_require__(134).remove;

// `Map.prototype.deleteAll` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  deleteAll: function deleteAll(/* ...elements */) {
    var collection = aMap(this);
    var allDeleted = true;
    var wasDeleted;
    for (var k = 0, len = arguments.length; k < len; k++) {
      wasDeleted = remove(collection, arguments[k]);
      allDeleted = allDeleted && wasDeleted;
    } return !!allDeleted;
  }
});


/***/ }),
/* 248 */
/***/ (function(module, exports, __webpack_require__) {

var has = __webpack_require__(134).has;

// Perform ? RequireInternalSlot(M, [[MapData]])
module.exports = function (it) {
  has(it);
  return it;
};


/***/ }),
/* 249 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aMap = __webpack_require__(248);
var MapHelpers = __webpack_require__(134);

var get = MapHelpers.get;
var has = MapHelpers.has;
var set = MapHelpers.set;

// `Map.prototype.emplace` method
// https://github.com/tc39/proposal-upsert
$({ target: 'Map', proto: true, real: true, forced: true }, {
  emplace: function emplace(key, handler) {
    var map = aMap(this);
    var value, inserted;
    if (has(map, key)) {
      value = get(map, key);
      if ('update' in handler) {
        value = handler.update(value, key, map);
        set(map, key, value);
      } return value;
    }
    inserted = handler.insert(key, map);
    set(map, key, inserted);
    return inserted;
  }
});


/***/ }),
/* 250 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

// `Map.prototype.every` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  every: function every(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    return iterate(map, function (value, key) {
      if (!boundFunction(value, key, map)) return false;
    }, true) !== false;
  }
});


/***/ }),
/* 251 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var MapHelpers = __webpack_require__(134);
var iterate = __webpack_require__(141);

var Map = MapHelpers.Map;
var set = MapHelpers.set;

// `Map.prototype.filter` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  filter: function filter(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var newMap = new Map();
    iterate(map, function (value, key) {
      if (boundFunction(value, key, map)) set(newMap, key, value);
    });
    return newMap;
  }
});


/***/ }),
/* 252 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

// `Map.prototype.find` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  find: function find(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var result = iterate(map, function (value, key) {
      if (boundFunction(value, key, map)) return { value: value };
    }, true);
    return result && result.value;
  }
});


/***/ }),
/* 253 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

// `Map.prototype.findKey` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  findKey: function findKey(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var result = iterate(map, function (value, key) {
      if (boundFunction(value, key, map)) return { key: key };
    }, true);
    return result && result.key;
  }
});


/***/ }),
/* 254 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var from = __webpack_require__(255);

// `Map.from` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from
$({ target: 'Map', stat: true, forced: true }, {
  from: from
});


/***/ }),
/* 255 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://tc39.github.io/proposal-setmap-offrom/
var bind = __webpack_require__(109);
var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var aConstructor = __webpack_require__(256);
var isNullOrUndefined = __webpack_require__(16);
var iterate = __webpack_require__(200);

var push = [].push;

module.exports = function from(source /* , mapFn, thisArg */) {
  var length = arguments.length;
  var mapFn = length > 1 ? arguments[1] : undefined;
  var mapping, array, n, boundFunction;
  aConstructor(this);
  mapping = mapFn !== undefined;
  if (mapping) aCallable(mapFn);
  if (isNullOrUndefined(source)) return new this();
  array = [];
  if (mapping) {
    n = 0;
    boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined);
    iterate(source, function (nextItem) {
      call(push, array, boundFunction(nextItem, n++));
    });
  } else {
    iterate(source, push, { that: array });
  }
  return new this(array);
};


/***/ }),
/* 256 */
/***/ (function(module, exports, __webpack_require__) {

var isConstructor = __webpack_require__(111);
var tryToString = __webpack_require__(31);

var $TypeError = TypeError;

// `Assert: IsConstructor(argument) is true`
module.exports = function (argument) {
  if (isConstructor(argument)) return argument;
  throw $TypeError(tryToString(argument) + ' is not a constructor');
};


/***/ }),
/* 257 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var uncurryThis = __webpack_require__(13);
var isCallable = __webpack_require__(20);
var aCallable = __webpack_require__(30);
var iterate = __webpack_require__(200);
var Map = __webpack_require__(134).Map;

var push = uncurryThis([].push);

// `Map.groupBy` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', stat: true, forced: true }, {
  groupBy: function groupBy(iterable, keyDerivative) {
    var C = isCallable(this) ? this : Map;
    var newMap = new C();
    aCallable(keyDerivative);
    var has = aCallable(newMap.has);
    var get = aCallable(newMap.get);
    var set = aCallable(newMap.set);
    iterate(iterable, function (element) {
      var derivedKey = keyDerivative(element);
      if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);
      else push(call(get, newMap, derivedKey), element);
    });
    return newMap;
  }
});


/***/ }),
/* 258 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var sameValueZero = __webpack_require__(259);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

// `Map.prototype.includes` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  includes: function includes(searchElement) {
    return iterate(aMap(this), function (value) {
      if (sameValueZero(value, searchElement)) return true;
    }, true) === true;
  }
});


/***/ }),
/* 259 */
/***/ (function(module, exports) {

// `SameValueZero` abstract operation
// https://tc39.es/ecma262/#sec-samevaluezero
module.exports = function (x, y) {
  // eslint-disable-next-line no-self-compare -- NaN check
  return x === y || x != x && y != y;
};


/***/ }),
/* 260 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var iterate = __webpack_require__(200);
var isCallable = __webpack_require__(20);
var aCallable = __webpack_require__(30);
var Map = __webpack_require__(134).Map;

// `Map.keyBy` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', stat: true, forced: true }, {
  keyBy: function keyBy(iterable, keyDerivative) {
    var C = isCallable(this) ? this : Map;
    var newMap = new C();
    aCallable(keyDerivative);
    var setter = aCallable(newMap.set);
    iterate(iterable, function (element) {
      call(setter, newMap, keyDerivative(element), element);
    });
    return newMap;
  }
});


/***/ }),
/* 261 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

// `Map.prototype.keyOf` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  keyOf: function keyOf(searchElement) {
    var result = iterate(aMap(this), function (value, key) {
      if (value === searchElement) return { key: key };
    }, true);
    return result && result.key;
  }
});


/***/ }),
/* 262 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var MapHelpers = __webpack_require__(134);
var iterate = __webpack_require__(141);

var Map = MapHelpers.Map;
var set = MapHelpers.set;

// `Map.prototype.mapKeys` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  mapKeys: function mapKeys(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var newMap = new Map();
    iterate(map, function (value, key) {
      set(newMap, boundFunction(value, key, map), value);
    });
    return newMap;
  }
});


/***/ }),
/* 263 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var MapHelpers = __webpack_require__(134);
var iterate = __webpack_require__(141);

var Map = MapHelpers.Map;
var set = MapHelpers.set;

// `Map.prototype.mapValues` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  mapValues: function mapValues(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var newMap = new Map();
    iterate(map, function (value, key) {
      set(newMap, key, boundFunction(value, key, map));
    });
    return newMap;
  }
});


/***/ }),
/* 264 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(200);
var set = __webpack_require__(134).set;

// `Map.prototype.merge` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, {
  // eslint-disable-next-line no-unused-vars -- required for `.length`
  merge: function merge(iterable /* ...iterables */) {
    var map = aMap(this);
    var argumentsLength = arguments.length;
    var i = 0;
    while (i < argumentsLength) {
      iterate(arguments[i++], function (key, value) {
        set(map, key, value);
      }, { AS_ENTRIES: true });
    }
    return map;
  }
});


/***/ }),
/* 265 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var of = __webpack_require__(266);

// `Map.of` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of
$({ target: 'Map', stat: true, forced: true }, {
  of: of
});


/***/ }),
/* 266 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var arraySlice = __webpack_require__(267);

// https://tc39.github.io/proposal-setmap-offrom/
module.exports = function of() {
  return new this(arraySlice(arguments));
};


/***/ }),
/* 267 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

module.exports = uncurryThis([].slice);


/***/ }),
/* 268 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aCallable = __webpack_require__(30);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

var $TypeError = TypeError;

// `Map.prototype.reduce` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  reduce: function reduce(callbackfn /* , initialValue */) {
    var map = aMap(this);
    var noInitial = arguments.length < 2;
    var accumulator = noInitial ? undefined : arguments[1];
    aCallable(callbackfn);
    iterate(map, function (value, key) {
      if (noInitial) {
        noInitial = false;
        accumulator = value;
      } else {
        accumulator = callbackfn(accumulator, value, key, map);
      }
    });
    if (noInitial) throw $TypeError('Reduce of empty map with no initial value');
    return accumulator;
  }
});


/***/ }),
/* 269 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aMap = __webpack_require__(248);
var iterate = __webpack_require__(141);

// `Map.prototype.some` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  some: function some(callbackfn /* , thisArg */) {
    var map = aMap(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    return iterate(map, function (value, key) {
      if (boundFunction(value, key, map)) return true;
    }, true) === true;
  }
});


/***/ }),
/* 270 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aCallable = __webpack_require__(30);
var aMap = __webpack_require__(248);
var MapHelpers = __webpack_require__(134);

var $TypeError = TypeError;
var get = MapHelpers.get;
var has = MapHelpers.has;
var set = MapHelpers.set;

// `Map.prototype.update` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Map', proto: true, real: true, forced: true }, {
  update: function update(key, callback /* , thunk */) {
    var map = aMap(this);
    var length = arguments.length;
    aCallable(callback);
    var isPresentInMap = has(map, key);
    if (!isPresentInMap && length < 3) {
      throw $TypeError('Updating absent value');
    }
    var value = isPresentInMap ? get(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);
    set(map, key, callback(value, key, map));
    return map;
  }
});


/***/ }),
/* 271 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: remove from `core-js@4`
var $ = __webpack_require__(2);
var upsert = __webpack_require__(272);

// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)
// https://github.com/thumbsupep/proposal-upsert
$({ target: 'Map', proto: true, real: true, name: 'upsert', forced: true }, {
  updateOrInsert: upsert
});


/***/ }),
/* 272 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__(7);
var aCallable = __webpack_require__(30);
var isCallable = __webpack_require__(20);
var anObject = __webpack_require__(46);

var $TypeError = TypeError;

// `Map.prototype.upsert` method
// https://github.com/tc39/proposal-upsert
module.exports = function upsert(key, updateFn /* , insertFn */) {
  var map = anObject(this);
  var get = aCallable(map.get);
  var has = aCallable(map.has);
  var set = aCallable(map.set);
  var insertFn = arguments.length > 2 ? arguments[2] : undefined;
  var value;
  if (!isCallable(updateFn) && !isCallable(insertFn)) {
    throw $TypeError('At least one callback required');
  }
  if (call(has, map, key)) {
    value = call(get, map, key);
    if (isCallable(updateFn)) {
      value = updateFn(value);
      call(set, map, key, value);
    }
  } else if (isCallable(insertFn)) {
    value = insertFn();
    call(set, map, key, value);
  } return value;
};


/***/ }),
/* 273 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: remove from `core-js@4`
var $ = __webpack_require__(2);
var upsert = __webpack_require__(272);

// `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)
// https://github.com/thumbsupep/proposal-upsert
$({ target: 'Map', proto: true, real: true, forced: true }, {
  upsert: upsert
});


/***/ }),
/* 274 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

var min = Math.min;
var max = Math.max;

// `Math.clamp` method
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, forced: true }, {
  clamp: function clamp(x, lower, upper) {
    return min(upper, max(lower, x));
  }
});


/***/ }),
/* 275 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.DEG_PER_RAD` constant
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true }, {
  DEG_PER_RAD: Math.PI / 180
});


/***/ }),
/* 276 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

var RAD_PER_DEG = 180 / Math.PI;

// `Math.degrees` method
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, forced: true }, {
  degrees: function degrees(radians) {
    return radians * RAD_PER_DEG;
  }
});


/***/ }),
/* 277 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

var scale = __webpack_require__(278);
var fround = __webpack_require__(279);

// `Math.fscale` method
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, forced: true }, {
  fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {
    return fround(scale(x, inLow, inHigh, outLow, outHigh));
  }
});


/***/ }),
/* 278 */
/***/ (function(module, exports) {

// `Math.scale` method implementation
// https://rwaldron.github.io/proposal-math-extensions/
module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
  var nx = +x;
  var nInLow = +inLow;
  var nInHigh = +inHigh;
  var nOutLow = +outLow;
  var nOutHigh = +outHigh;
  // eslint-disable-next-line no-self-compare -- NaN check
  if (nx != nx || nInLow != nInLow || nInHigh != nInHigh || nOutLow != nOutLow || nOutHigh != nOutHigh) return NaN;
  if (nx === Infinity || nx === -Infinity) return nx;
  return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow;
};


/***/ }),
/* 279 */
/***/ (function(module, exports, __webpack_require__) {

var sign = __webpack_require__(280);

var abs = Math.abs;
var pow = Math.pow;
var EPSILON = pow(2, -52);
var EPSILON32 = pow(2, -23);
var MAX32 = pow(2, 127) * (2 - EPSILON32);
var MIN32 = pow(2, -126);

var roundTiesToEven = function (n) {
  return n + 1 / EPSILON - 1 / EPSILON;
};

// `Math.fround` method implementation
// https://tc39.es/ecma262/#sec-math.fround
// eslint-disable-next-line es/no-math-fround -- safe
module.exports = Math.fround || function fround(x) {
  var n = +x;
  var $abs = abs(n);
  var $sign = sign(n);
  var a, result;
  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
  a = (1 + EPSILON32 / EPSILON) * $abs;
  result = a - (a - $abs);
  // eslint-disable-next-line no-self-compare -- NaN check
  if (result > MAX32 || result != result) return $sign * Infinity;
  return $sign * result;
};


/***/ }),
/* 280 */
/***/ (function(module, exports) {

// `Math.sign` method implementation
// https://tc39.es/ecma262/#sec-math.sign
// eslint-disable-next-line es/no-math-sign -- safe
module.exports = Math.sign || function sign(x) {
  var n = +x;
  // eslint-disable-next-line no-self-compare -- NaN check
  return n == 0 || n != n ? n : n < 0 ? -1 : 1;
};


/***/ }),
/* 281 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.iaddh` method
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
// TODO: Remove from `core-js@4`
$({ target: 'Math', stat: true, forced: true }, {
  iaddh: function iaddh(x0, x1, y0, y1) {
    var $x0 = x0 >>> 0;
    var $x1 = x1 >>> 0;
    var $y0 = y0 >>> 0;
    return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
  }
});


/***/ }),
/* 282 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.imulh` method
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
// TODO: Remove from `core-js@4`
$({ target: 'Math', stat: true, forced: true }, {
  imulh: function imulh(u, v) {
    var UINT16 = 0xFFFF;
    var $u = +u;
    var $v = +v;
    var u0 = $u & UINT16;
    var v0 = $v & UINT16;
    var u1 = $u >> 16;
    var v1 = $v >> 16;
    var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
    return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
  }
});


/***/ }),
/* 283 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.isubh` method
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
// TODO: Remove from `core-js@4`
$({ target: 'Math', stat: true, forced: true }, {
  isubh: function isubh(x0, x1, y0, y1) {
    var $x0 = x0 >>> 0;
    var $x1 = x1 >>> 0;
    var $y0 = y0 >>> 0;
    return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
  }
});


/***/ }),
/* 284 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.RAD_PER_DEG` constant
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, nonConfigurable: true, nonWritable: true }, {
  RAD_PER_DEG: 180 / Math.PI
});


/***/ }),
/* 285 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

var DEG_PER_RAD = Math.PI / 180;

// `Math.radians` method
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, forced: true }, {
  radians: function radians(degrees) {
    return degrees * DEG_PER_RAD;
  }
});


/***/ }),
/* 286 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var scale = __webpack_require__(278);

// `Math.scale` method
// https://rwaldron.github.io/proposal-math-extensions/
$({ target: 'Math', stat: true, forced: true }, {
  scale: scale
});


/***/ }),
/* 287 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var anObject = __webpack_require__(46);
var numberIsFinite = __webpack_require__(288);
var createIteratorConstructor = __webpack_require__(184);
var createIterResultObject = __webpack_require__(116);
var InternalStateModule = __webpack_require__(51);

var SEEDED_RANDOM = 'Seeded Random';
var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator';
var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR);
var $TypeError = TypeError;

var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) {
  setInternalState(this, {
    type: SEEDED_RANDOM_GENERATOR,
    seed: seed % 2147483647
  });
}, SEEDED_RANDOM, function next() {
  var state = getInternalState(this);
  var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647;
  return createIterResultObject((seed & 1073741823) / 1073741823, false);
});

// `Math.seededPRNG` method
// https://github.com/tc39/proposal-seeded-random
// based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html
$({ target: 'Math', stat: true, forced: true }, {
  seededPRNG: function seededPRNG(it) {
    var seed = anObject(it).seed;
    if (!numberIsFinite(seed)) throw $TypeError(SEED_TYPE_ERROR);
    return new $SeededRandomGenerator(seed);
  }
});


/***/ }),
/* 288 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);

var globalIsFinite = global.isFinite;

// `Number.isFinite` method
// https://tc39.es/ecma262/#sec-number.isfinite
// eslint-disable-next-line es/no-number-isfinite -- safe
module.exports = Number.isFinite || function isFinite(it) {
  return typeof it == 'number' && globalIsFinite(it);
};


/***/ }),
/* 289 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.signbit` method
// https://github.com/tc39/proposal-Math.signbit
$({ target: 'Math', stat: true, forced: true }, {
  signbit: function signbit(x) {
    var n = +x;
    // eslint-disable-next-line no-self-compare -- NaN check
    return n == n && n == 0 ? 1 / n == -Infinity : n < 0;
  }
});


/***/ }),
/* 290 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);

// `Math.umulh` method
// https://gist.github.com/BrendanEich/4294d5c212a6d2254703
// TODO: Remove from `core-js@4`
$({ target: 'Math', stat: true, forced: true }, {
  umulh: function umulh(u, v) {
    var UINT16 = 0xFFFF;
    var $u = +u;
    var $v = +v;
    var u0 = $u & UINT16;
    var v0 = $v & UINT16;
    var u1 = $u >>> 16;
    var v1 = $v >>> 16;
    var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
    return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
  }
});


/***/ }),
/* 291 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var toIntegerOrInfinity = __webpack_require__(61);
var parseInt = __webpack_require__(292);

var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';
var INVALID_RADIX = 'Invalid radix';
var $RangeError = RangeError;
var $SyntaxError = SyntaxError;
var $TypeError = TypeError;
var valid = /^[\da-z]+$/;
var charAt = uncurryThis(''.charAt);
var exec = uncurryThis(valid.exec);
var numberToString = uncurryThis(1.0.toString);
var stringSlice = uncurryThis(''.slice);

// `Number.fromString` method
// https://github.com/tc39/proposal-number-fromstring
$({ target: 'Number', stat: true, forced: true }, {
  fromString: function fromString(string, radix) {
    var sign = 1;
    var R, mathNum;
    if (typeof string != 'string') throw $TypeError(INVALID_NUMBER_REPRESENTATION);
    if (!string.length) throw $SyntaxError(INVALID_NUMBER_REPRESENTATION);
    if (charAt(string, 0) == '-') {
      sign = -1;
      string = stringSlice(string, 1);
      if (!string.length) throw $SyntaxError(INVALID_NUMBER_REPRESENTATION);
    }
    R = radix === undefined ? 10 : toIntegerOrInfinity(radix);
    if (R < 2 || R > 36) throw $RangeError(INVALID_RADIX);
    if (!exec(valid, string) || numberToString(mathNum = parseInt(string, R), R) !== string) {
      throw $SyntaxError(INVALID_NUMBER_REPRESENTATION);
    }
    return sign * mathNum;
  }
});


/***/ }),
/* 292 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var fails = __webpack_require__(6);
var uncurryThis = __webpack_require__(13);
var toString = __webpack_require__(106);
var trim = __webpack_require__(293).trim;
var whitespaces = __webpack_require__(294);

var $parseInt = global.parseInt;
var Symbol = global.Symbol;
var ITERATOR = Symbol && Symbol.iterator;
var hex = /^[+-]?0x/i;
var exec = uncurryThis(hex.exec);
var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22
  // MS Edge 18- broken with boxed symbols
  || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));

// `parseInt` method
// https://tc39.es/ecma262/#sec-parseint-string-radix
module.exports = FORCED ? function parseInt(string, radix) {
  var S = trim(toString(string));
  return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));
} : $parseInt;


/***/ }),
/* 293 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var requireObjectCoercible = __webpack_require__(15);
var toString = __webpack_require__(106);
var whitespaces = __webpack_require__(294);

var replace = uncurryThis(''.replace);
var ltrim = RegExp('^[' + whitespaces + ']+');
var rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');

// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
var createMethod = function (TYPE) {
  return function ($this) {
    var string = toString(requireObjectCoercible($this));
    if (TYPE & 1) string = replace(string, ltrim, '');
    if (TYPE & 2) string = replace(string, rtrim, '$1');
    return string;
  };
};

module.exports = {
  // `String.prototype.{ trimLeft, trimStart }` methods
  // https://tc39.es/ecma262/#sec-string.prototype.trimstart
  start: createMethod(1),
  // `String.prototype.{ trimRight, trimEnd }` methods
  // https://tc39.es/ecma262/#sec-string.prototype.trimend
  end: createMethod(2),
  // `String.prototype.trim` method
  // https://tc39.es/ecma262/#sec-string.prototype.trim
  trim: createMethod(3)
};


/***/ }),
/* 294 */
/***/ (function(module, exports) {

// a string of all valid unicode whitespaces
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';


/***/ }),
/* 295 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var NumericRangeIterator = __webpack_require__(183);

// `Number.range` method
// https://github.com/tc39/proposal-Number.range
// TODO: Remove from `core-js@4`
$({ target: 'Number', stat: true, forced: true }, {
  range: function range(start, end, option) {
    return new NumericRangeIterator(start, end, option, 'number', 0, 1);
  }
});


/***/ }),
/* 296 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ObjectIterator = __webpack_require__(297);

// `Object.iterateEntries` method
// https://github.com/tc39/proposal-object-iteration
$({ target: 'Object', stat: true, forced: true }, {
  iterateEntries: function iterateEntries(object) {
    return new ObjectIterator(object, 'entries');
  }
});


/***/ }),
/* 297 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var InternalStateModule = __webpack_require__(51);
var createIteratorConstructor = __webpack_require__(184);
var createIterResultObject = __webpack_require__(116);
var hasOwn = __webpack_require__(38);
var objectKeys = __webpack_require__(76);
var toObject = __webpack_require__(39);

var OBJECT_ITERATOR = 'Object Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(OBJECT_ITERATOR);

module.exports = createIteratorConstructor(function ObjectIterator(source, mode) {
  var object = toObject(source);
  setInternalState(this, {
    type: OBJECT_ITERATOR,
    mode: mode,
    object: object,
    keys: objectKeys(object),
    index: 0
  });
}, 'Object', function next() {
  var state = getInternalState(this);
  var keys = state.keys;
  while (true) {
    if (keys === null || state.index >= keys.length) {
      state.object = state.keys = null;
      return createIterResultObject(undefined, true);
    }
    var key = keys[state.index++];
    var object = state.object;
    if (!hasOwn(object, key)) continue;
    switch (state.mode) {
      case 'keys': return createIterResultObject(key, false);
      case 'values': return createIterResultObject(object[key], false);
    } /* entries */ return createIterResultObject([key, object[key]], false);
  }
});


/***/ }),
/* 298 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ObjectIterator = __webpack_require__(297);

// `Object.iterateKeys` method
// https://github.com/tc39/proposal-object-iteration
$({ target: 'Object', stat: true, forced: true }, {
  iterateKeys: function iterateKeys(object) {
    return new ObjectIterator(object, 'keys');
  }
});


/***/ }),
/* 299 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ObjectIterator = __webpack_require__(297);

// `Object.iterateValues` method
// https://github.com/tc39/proposal-object-iteration
$({ target: 'Object', stat: true, forced: true }, {
  iterateValues: function iterateValues(object) {
    return new ObjectIterator(object, 'values');
  }
});


/***/ }),
/* 300 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove this module from `core-js@4` since it's split to modules listed below
__webpack_require__(301);
__webpack_require__(304);
__webpack_require__(305);


/***/ }),
/* 301 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// https://github.com/tc39/proposal-observable
var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var DESCRIPTORS = __webpack_require__(5);
var setSpecies = __webpack_require__(206);
var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var anInstance = __webpack_require__(155);
var isCallable = __webpack_require__(20);
var isNullOrUndefined = __webpack_require__(16);
var isObject = __webpack_require__(19);
var getMethod = __webpack_require__(29);
var defineBuiltIn = __webpack_require__(47);
var defineBuiltIns = __webpack_require__(114);
var defineBuiltInAccessor = __webpack_require__(85);
var hostReportErrors = __webpack_require__(302);
var wellKnownSymbol = __webpack_require__(33);
var InternalStateModule = __webpack_require__(51);
var OBSERVABLE_FORCED = __webpack_require__(303);

var $$OBSERVABLE = wellKnownSymbol('observable');
var OBSERVABLE = 'Observable';
var SUBSCRIPTION = 'Subscription';
var SUBSCRIPTION_OBSERVER = 'SubscriptionObserver';
var getterFor = InternalStateModule.getterFor;
var setInternalState = InternalStateModule.set;
var getObservableInternalState = getterFor(OBSERVABLE);
var getSubscriptionInternalState = getterFor(SUBSCRIPTION);
var getSubscriptionObserverInternalState = getterFor(SUBSCRIPTION_OBSERVER);

var SubscriptionState = function (observer) {
  this.observer = anObject(observer);
  this.cleanup = undefined;
  this.subscriptionObserver = undefined;
};

SubscriptionState.prototype = {
  type: SUBSCRIPTION,
  clean: function () {
    var cleanup = this.cleanup;
    if (cleanup) {
      this.cleanup = undefined;
      try {
        cleanup();
      } catch (error) {
        hostReportErrors(error);
      }
    }
  },
  close: function () {
    if (!DESCRIPTORS) {
      var subscription = this.facade;
      var subscriptionObserver = this.subscriptionObserver;
      subscription.closed = true;
      if (subscriptionObserver) subscriptionObserver.closed = true;
    } this.observer = undefined;
  },
  isClosed: function () {
    return this.observer === undefined;
  }
};

var Subscription = function (observer, subscriber) {
  var subscriptionState = setInternalState(this, new SubscriptionState(observer));
  var start;
  if (!DESCRIPTORS) this.closed = false;
  try {
    if (start = getMethod(observer, 'start')) call(start, observer, this);
  } catch (error) {
    hostReportErrors(error);
  }
  if (subscriptionState.isClosed()) return;
  var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState);
  try {
    var cleanup = subscriber(subscriptionObserver);
    var subscription = cleanup;
    if (!isNullOrUndefined(cleanup)) subscriptionState.cleanup = isCallable(cleanup.unsubscribe)
      ? function () { subscription.unsubscribe(); }
      : aCallable(cleanup);
  } catch (error) {
    subscriptionObserver.error(error);
    return;
  } if (subscriptionState.isClosed()) subscriptionState.clean();
};

Subscription.prototype = defineBuiltIns({}, {
  unsubscribe: function unsubscribe() {
    var subscriptionState = getSubscriptionInternalState(this);
    if (!subscriptionState.isClosed()) {
      subscriptionState.close();
      subscriptionState.clean();
    }
  }
});

if (DESCRIPTORS) defineBuiltInAccessor(Subscription.prototype, 'closed', {
  configurable: true,
  get: function closed() {
    return getSubscriptionInternalState(this).isClosed();
  }
});

var SubscriptionObserver = function (subscriptionState) {
  setInternalState(this, {
    type: SUBSCRIPTION_OBSERVER,
    subscriptionState: subscriptionState
  });
  if (!DESCRIPTORS) this.closed = false;
};

SubscriptionObserver.prototype = defineBuiltIns({}, {
  next: function next(value) {
    var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
    if (!subscriptionState.isClosed()) {
      var observer = subscriptionState.observer;
      try {
        var nextMethod = getMethod(observer, 'next');
        if (nextMethod) call(nextMethod, observer, value);
      } catch (error) {
        hostReportErrors(error);
      }
    }
  },
  error: function error(value) {
    var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
    if (!subscriptionState.isClosed()) {
      var observer = subscriptionState.observer;
      subscriptionState.close();
      try {
        var errorMethod = getMethod(observer, 'error');
        if (errorMethod) call(errorMethod, observer, value);
        else hostReportErrors(value);
      } catch (err) {
        hostReportErrors(err);
      } subscriptionState.clean();
    }
  },
  complete: function complete() {
    var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
    if (!subscriptionState.isClosed()) {
      var observer = subscriptionState.observer;
      subscriptionState.close();
      try {
        var completeMethod = getMethod(observer, 'complete');
        if (completeMethod) call(completeMethod, observer);
      } catch (error) {
        hostReportErrors(error);
      } subscriptionState.clean();
    }
  }
});

if (DESCRIPTORS) defineBuiltInAccessor(SubscriptionObserver.prototype, 'closed', {
  configurable: true,
  get: function closed() {
    return getSubscriptionObserverInternalState(this).subscriptionState.isClosed();
  }
});

var $Observable = function Observable(subscriber) {
  anInstance(this, ObservablePrototype);
  setInternalState(this, {
    type: OBSERVABLE,
    subscriber: aCallable(subscriber)
  });
};

var ObservablePrototype = $Observable.prototype;

defineBuiltIns(ObservablePrototype, {
  subscribe: function subscribe(observer) {
    var length = arguments.length;
    return new Subscription(isCallable(observer) ? {
      next: observer,
      error: length > 1 ? arguments[1] : undefined,
      complete: length > 2 ? arguments[2] : undefined
    } : isObject(observer) ? observer : {}, getObservableInternalState(this).subscriber);
  }
});

defineBuiltIn(ObservablePrototype, $$OBSERVABLE, function () { return this; });

$({ global: true, constructor: true, forced: OBSERVABLE_FORCED }, {
  Observable: $Observable
});

setSpecies(OBSERVABLE);


/***/ }),
/* 302 */
/***/ (function(module, exports) {

module.exports = function (a, b) {
  try {
    // eslint-disable-next-line no-console -- safe
    arguments.length == 1 ? console.error(a) : console.error(a, b);
  } catch (error) { /* empty */ }
};


/***/ }),
/* 303 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);
var isCallable = __webpack_require__(20);
var wellKnownSymbol = __webpack_require__(33);

var $$OBSERVABLE = wellKnownSymbol('observable');
var NativeObservable = global.Observable;
var NativeObservablePrototype = NativeObservable && NativeObservable.prototype;

module.exports = !isCallable(NativeObservable)
  || !isCallable(NativeObservable.from)
  || !isCallable(NativeObservable.of)
  || !isCallable(NativeObservablePrototype.subscribe)
  || !isCallable(NativeObservablePrototype[$$OBSERVABLE]);


/***/ }),
/* 304 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var getBuiltIn = __webpack_require__(23);
var call = __webpack_require__(7);
var anObject = __webpack_require__(46);
var isConstructor = __webpack_require__(111);
var getIterator = __webpack_require__(117);
var getMethod = __webpack_require__(29);
var iterate = __webpack_require__(200);
var wellKnownSymbol = __webpack_require__(33);
var OBSERVABLE_FORCED = __webpack_require__(303);

var $$OBSERVABLE = wellKnownSymbol('observable');

// `Observable.from` method
// https://github.com/tc39/proposal-observable
$({ target: 'Observable', stat: true, forced: OBSERVABLE_FORCED }, {
  from: function from(x) {
    var C = isConstructor(this) ? this : getBuiltIn('Observable');
    var observableMethod = getMethod(anObject(x), $$OBSERVABLE);
    if (observableMethod) {
      var observable = anObject(call(observableMethod, x));
      return observable.constructor === C ? observable : new C(function (observer) {
        return observable.subscribe(observer);
      });
    }
    var iterator = getIterator(x);
    return new C(function (observer) {
      iterate(iterator, function (it, stop) {
        observer.next(it);
        if (observer.closed) return stop();
      }, { IS_ITERATOR: true, INTERRUPTED: true });
      observer.complete();
    });
  }
});


/***/ }),
/* 305 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var getBuiltIn = __webpack_require__(23);
var isConstructor = __webpack_require__(111);
var OBSERVABLE_FORCED = __webpack_require__(303);

var Array = getBuiltIn('Array');

// `Observable.of` method
// https://github.com/tc39/proposal-observable
$({ target: 'Observable', stat: true, forced: OBSERVABLE_FORCED }, {
  of: function of() {
    var C = isConstructor(this) ? this : getBuiltIn('Observable');
    var length = arguments.length;
    var items = Array(length);
    var index = 0;
    while (index < length) items[index] = arguments[index++];
    return new C(function (observer) {
      for (var i = 0; i < length; i++) {
        observer.next(items[i]);
        if (observer.closed) return;
      } observer.complete();
    });
  }
});


/***/ }),
/* 306 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var newPromiseCapabilityModule = __webpack_require__(307);
var perform = __webpack_require__(162);

// `Promise.try` method
// https://github.com/tc39/proposal-promise-try
$({ target: 'Promise', stat: true, forced: true }, {
  'try': function (callbackfn) {
    var promiseCapability = newPromiseCapabilityModule.f(this);
    var result = perform(callbackfn);
    (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);
    return promiseCapability.promise;
  }
});


/***/ }),
/* 307 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aCallable = __webpack_require__(30);

var $TypeError = TypeError;

var PromiseCapability = function (C) {
  var resolve, reject;
  this.promise = new C(function ($$resolve, $$reject) {
    if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');
    resolve = $$resolve;
    reject = $$reject;
  });
  this.resolve = aCallable(resolve);
  this.reject = aCallable(reject);
};

// `NewPromiseCapability` abstract operation
// https://tc39.es/ecma262/#sec-newpromisecapability
module.exports.f = function (C) {
  return new PromiseCapability(C);
};


/***/ }),
/* 308 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);

var toMetadataKey = ReflectMetadataModule.toKey;
var ordinaryDefineOwnMetadata = ReflectMetadataModule.set;

// `Reflect.defineMetadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) {
    var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]);
    ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey);
  }
});


/***/ }),
/* 309 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
__webpack_require__(190);
__webpack_require__(207);
var getBuiltIn = __webpack_require__(23);
var uncurryThis = __webpack_require__(13);
var shared = __webpack_require__(34);

var Map = getBuiltIn('Map');
var WeakMap = getBuiltIn('WeakMap');
var push = uncurryThis([].push);

var metadata = shared('metadata');
var store = metadata.store || (metadata.store = new WeakMap());

var getOrCreateMetadataMap = function (target, targetKey, create) {
  var targetMetadata = store.get(target);
  if (!targetMetadata) {
    if (!create) return;
    store.set(target, targetMetadata = new Map());
  }
  var keyMetadata = targetMetadata.get(targetKey);
  if (!keyMetadata) {
    if (!create) return;
    targetMetadata.set(targetKey, keyMetadata = new Map());
  } return keyMetadata;
};

var ordinaryHasOwnMetadata = function (MetadataKey, O, P) {
  var metadataMap = getOrCreateMetadataMap(O, P, false);
  return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
};

var ordinaryGetOwnMetadata = function (MetadataKey, O, P) {
  var metadataMap = getOrCreateMetadataMap(O, P, false);
  return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
};

var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {
  getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
};

var ordinaryOwnMetadataKeys = function (target, targetKey) {
  var metadataMap = getOrCreateMetadataMap(target, targetKey, false);
  var keys = [];
  if (metadataMap) metadataMap.forEach(function (_, key) { push(keys, key); });
  return keys;
};

var toMetadataKey = function (it) {
  return it === undefined || typeof it == 'symbol' ? it : String(it);
};

module.exports = {
  store: store,
  getMap: getOrCreateMetadataMap,
  has: ordinaryHasOwnMetadata,
  get: ordinaryGetOwnMetadata,
  set: ordinaryDefineOwnMetadata,
  keys: ordinaryOwnMetadataKeys,
  toKey: toMetadataKey
};


/***/ }),
/* 310 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);

var toMetadataKey = ReflectMetadataModule.toKey;
var getOrCreateMetadataMap = ReflectMetadataModule.getMap;
var store = ReflectMetadataModule.store;

// `Reflect.deleteMetadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {
    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
    var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
    if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
    if (metadataMap.size) return true;
    var targetMetadata = store.get(target);
    targetMetadata['delete'](targetKey);
    return !!targetMetadata.size || store['delete'](target);
  }
});


/***/ }),
/* 311 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);
var getPrototypeOf = __webpack_require__(92);

var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
var ordinaryGetOwnMetadata = ReflectMetadataModule.get;
var toMetadataKey = ReflectMetadataModule.toKey;

var ordinaryGetMetadata = function (MetadataKey, O, P) {
  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
  if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
  var parent = getPrototypeOf(O);
  return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
};

// `Reflect.getMetadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {
    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
    return ordinaryGetMetadata(metadataKey, anObject(target), targetKey);
  }
});


/***/ }),
/* 312 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);
var getPrototypeOf = __webpack_require__(92);
var $arrayUniqueBy = __webpack_require__(140);

var arrayUniqueBy = uncurryThis($arrayUniqueBy);
var concat = uncurryThis([].concat);
var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
var toMetadataKey = ReflectMetadataModule.toKey;

var ordinaryMetadataKeys = function (O, P) {
  var oKeys = ordinaryOwnMetadataKeys(O, P);
  var parent = getPrototypeOf(O);
  if (parent === null) return oKeys;
  var pKeys = ordinaryMetadataKeys(parent, P);
  return pKeys.length ? oKeys.length ? arrayUniqueBy(concat(oKeys, pKeys)) : pKeys : oKeys;
};

// `Reflect.getMetadataKeys` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {
    var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);
    return ordinaryMetadataKeys(anObject(target), targetKey);
  }
});


/***/ }),
/* 313 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);

var ordinaryGetOwnMetadata = ReflectMetadataModule.get;
var toMetadataKey = ReflectMetadataModule.toKey;

// `Reflect.getOwnMetadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {
    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
    return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey);
  }
});


/***/ }),
/* 314 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);

var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
var toMetadataKey = ReflectMetadataModule.toKey;

// `Reflect.getOwnMetadataKeys` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {
    var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]);
    return ordinaryOwnMetadataKeys(anObject(target), targetKey);
  }
});


/***/ }),
/* 315 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);
var getPrototypeOf = __webpack_require__(92);

var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
var toMetadataKey = ReflectMetadataModule.toKey;

var ordinaryHasMetadata = function (MetadataKey, O, P) {
  var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
  if (hasOwn) return true;
  var parent = getPrototypeOf(O);
  return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
};

// `Reflect.hasMetadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {
    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
    return ordinaryHasMetadata(metadataKey, anObject(target), targetKey);
  }
});


/***/ }),
/* 316 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);

var ordinaryHasOwnMetadata = ReflectMetadataModule.has;
var toMetadataKey = ReflectMetadataModule.toKey;

// `Reflect.hasOwnMetadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {
    var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]);
    return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey);
  }
});


/***/ }),
/* 317 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var ReflectMetadataModule = __webpack_require__(309);
var anObject = __webpack_require__(46);

var toMetadataKey = ReflectMetadataModule.toKey;
var ordinaryDefineOwnMetadata = ReflectMetadataModule.set;

// `Reflect.metadata` method
// https://github.com/rbuckton/reflect-metadata
$({ target: 'Reflect', stat: true }, {
  metadata: function metadata(metadataKey, metadataValue) {
    return function decorator(target, key) {
      ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key));
    };
  }
});


/***/ }),
/* 318 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aSet = __webpack_require__(319);
var add = __webpack_require__(320).add;

// `Set.prototype.addAll` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  addAll: function addAll(/* ...elements */) {
    var set = aSet(this);
    for (var k = 0, len = arguments.length; k < len; k++) {
      add(set, arguments[k]);
    } return set;
  }
});


/***/ }),
/* 319 */
/***/ (function(module, exports, __webpack_require__) {

var has = __webpack_require__(320).has;

// Perform ? RequireInternalSlot(M, [[SetData]])
module.exports = function (it) {
  has(it);
  return it;
};


/***/ }),
/* 320 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

// eslint-disable-next-line es/no-set -- safe
var SetPrototype = Set.prototype;

module.exports = {
  // eslint-disable-next-line es/no-set -- safe
  Set: Set,
  add: uncurryThis(SetPrototype.add),
  has: uncurryThis(SetPrototype.has),
  remove: uncurryThis(SetPrototype['delete']),
  proto: SetPrototype
};


/***/ }),
/* 321 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aSet = __webpack_require__(319);
var remove = __webpack_require__(320).remove;

// `Set.prototype.deleteAll` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  deleteAll: function deleteAll(/* ...elements */) {
    var collection = aSet(this);
    var allDeleted = true;
    var wasDeleted;
    for (var k = 0, len = arguments.length; k < len; k++) {
      wasDeleted = remove(collection, arguments[k]);
      allDeleted = allDeleted && wasDeleted;
    } return !!allDeleted;
  }
});


/***/ }),
/* 322 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var difference = __webpack_require__(323);
var setMethodAcceptSetLike = __webpack_require__(328);

// `Set.prototype.difference` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {
  difference: difference
});


/***/ }),
/* 323 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var SetHelpers = __webpack_require__(320);
var clone = __webpack_require__(324);
var size = __webpack_require__(326);
var getSetRecord = __webpack_require__(327);
var iterateSet = __webpack_require__(325);
var iterateSimple = __webpack_require__(142);

var has = SetHelpers.has;
var remove = SetHelpers.remove;

// `Set.prototype.difference` method
// https://github.com/tc39/proposal-set-methods
module.exports = function difference(other) {
  var O = aSet(this);
  var otherRec = getSetRecord(other);
  var result = clone(O);
  if (size(O) <= otherRec.size) iterateSet(O, function (e) {
    if (otherRec.includes(e)) remove(result, e);
  });
  else iterateSimple(otherRec.getIterator(), function (e) {
    if (has(O, e)) remove(result, e);
  });
  return result;
};


/***/ }),
/* 324 */
/***/ (function(module, exports, __webpack_require__) {

var SetHelpers = __webpack_require__(320);
var iterate = __webpack_require__(325);

var Set = SetHelpers.Set;
var add = SetHelpers.add;

module.exports = function (set) {
  var result = new Set();
  iterate(set, function (it) {
    add(result, it);
  });
  return result;
};


/***/ }),
/* 325 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var iterateSimple = __webpack_require__(142);
var SetHelpers = __webpack_require__(320);

var Set = SetHelpers.Set;
var SetPrototype = SetHelpers.proto;
var forEach = uncurryThis(SetPrototype.forEach);
var keys = uncurryThis(SetPrototype.keys);
var next = keys(new Set()).next;

module.exports = function (set, fn, interruptible) {
  return interruptible ? iterateSimple(keys(set), fn, next) : forEach(set, fn);
};


/***/ }),
/* 326 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThisAccessor = __webpack_require__(95);
var SetHelpers = __webpack_require__(320);

module.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {
  return set.size;
};


/***/ }),
/* 327 */
/***/ (function(module, exports, __webpack_require__) {

var aCallable = __webpack_require__(30);
var anObject = __webpack_require__(46);
var call = __webpack_require__(7);
var toIntegerOrInfinity = __webpack_require__(61);

var $TypeError = TypeError;
var max = Math.max;

var SetRecord = function (set, size, has, keys) {
  this.set = set;
  this.size = size;
  this.has = has;
  this.keys = keys;
};

SetRecord.prototype = {
  getIterator: function () {
    return anObject(call(this.keys, this.set));
  },
  includes: function (it) {
    return call(this.has, this.set, it);
  }
};

// `GetSetRecord` abstract operation
// https://tc39.es/proposal-set-methods/#sec-getsetrecord
module.exports = function (obj) {
  anObject(obj);
  var numSize = +obj.size;
  // NOTE: If size is undefined, then numSize will be NaN
  // eslint-disable-next-line no-self-compare -- NaN check
  if (numSize != numSize) throw $TypeError('Invalid size');
  return new SetRecord(
    obj,
    max(toIntegerOrInfinity(numSize), 0),
    aCallable(obj.has),
    aCallable(obj.keys)
  );
};


/***/ }),
/* 328 */
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__(23);

var createEmptySetLike = function () {
  return {
    size: 0,
    has: function () {
      return false;
    },
    keys: function () {
      return {
        next: function () {
          return { done: true };
        }
      };
    }
  };
};

module.exports = function (name) {
  try {
    var Set = getBuiltIn('Set');
    new Set()[name](createEmptySetLike());
    return true;
  } catch (error) {
    return false;
  }
};


/***/ }),
/* 329 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $difference = __webpack_require__(323);

// `Set.prototype.difference` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  difference: function difference(other) {
    return call($difference, this, toSetLike(other));
  }
});


/***/ }),
/* 330 */
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__(23);
var isCallable = __webpack_require__(20);
var isIterable = __webpack_require__(331);
var isObject = __webpack_require__(19);

var Set = getBuiltIn('Set');

var isSetLike = function (it) {
  return isObject(it)
    && typeof it.size == 'number'
    && isCallable(it.has)
    && isCallable(it.keys);
};

// fallback old -> new set methods proposal arguments
module.exports = function (it) {
  if (isSetLike(it)) return it;
  return isIterable(it) ? new Set(it) : it;
};


/***/ }),
/* 331 */
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__(90);
var hasOwn = __webpack_require__(38);
var isNullOrUndefined = __webpack_require__(16);
var wellKnownSymbol = __webpack_require__(33);
var Iterators = __webpack_require__(119);

var ITERATOR = wellKnownSymbol('iterator');
var $Object = Object;

module.exports = function (it) {
  if (isNullOrUndefined(it)) return false;
  var O = $Object(it);
  return O[ITERATOR] !== undefined
    || '@@iterator' in O
    || hasOwn(Iterators, classof(O));
};


/***/ }),
/* 332 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aSet = __webpack_require__(319);
var iterate = __webpack_require__(325);

// `Set.prototype.every` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  every: function every(callbackfn /* , thisArg */) {
    var set = aSet(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    return iterate(set, function (value) {
      if (!boundFunction(value, value, set)) return false;
    }, true) !== false;
  }
});


/***/ }),
/* 333 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aSet = __webpack_require__(319);
var SetHelpers = __webpack_require__(320);
var iterate = __webpack_require__(325);

var Set = SetHelpers.Set;
var add = SetHelpers.add;

// `Set.prototype.filter` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  filter: function filter(callbackfn /* , thisArg */) {
    var set = aSet(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var newSet = new Set();
    iterate(set, function (value) {
      if (boundFunction(value, value, set)) add(newSet, value);
    });
    return newSet;
  }
});


/***/ }),
/* 334 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aSet = __webpack_require__(319);
var iterate = __webpack_require__(325);

// `Set.prototype.find` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  find: function find(callbackfn /* , thisArg */) {
    var set = aSet(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var result = iterate(set, function (value) {
      if (boundFunction(value, value, set)) return { value: value };
    }, true);
    return result && result.value;
  }
});


/***/ }),
/* 335 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var from = __webpack_require__(255);

// `Set.from` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from
$({ target: 'Set', stat: true, forced: true }, {
  from: from
});


/***/ }),
/* 336 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var fails = __webpack_require__(6);
var intersection = __webpack_require__(337);
var setMethodAcceptSetLike = __webpack_require__(328);

var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
  // eslint-disable-next-line es/no-array-from, es/no-set -- testing
  return Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2]))) != '3,2';
});

// `Set.prototype.intersection` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
  intersection: intersection
});


/***/ }),
/* 337 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var SetHelpers = __webpack_require__(320);
var size = __webpack_require__(326);
var getSetRecord = __webpack_require__(327);
var iterateSet = __webpack_require__(325);
var iterateSimple = __webpack_require__(142);

var Set = SetHelpers.Set;
var add = SetHelpers.add;
var has = SetHelpers.has;

// `Set.prototype.intersection` method
// https://github.com/tc39/proposal-set-methods
module.exports = function intersection(other) {
  var O = aSet(this);
  var otherRec = getSetRecord(other);
  var result = new Set();

  if (size(O) > otherRec.size) {
    iterateSimple(otherRec.getIterator(), function (e) {
      if (has(O, e)) add(result, e);
    });
  } else {
    iterateSet(O, function (e) {
      if (otherRec.includes(e)) add(result, e);
    });
  }

  return result;
};


/***/ }),
/* 338 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $intersection = __webpack_require__(337);

// `Set.prototype.intersection` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  intersection: function intersection(other) {
    return call($intersection, this, toSetLike(other));
  }
});


/***/ }),
/* 339 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var isDisjointFrom = __webpack_require__(340);
var setMethodAcceptSetLike = __webpack_require__(328);

// `Set.prototype.isDisjointFrom` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {
  isDisjointFrom: isDisjointFrom
});


/***/ }),
/* 340 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var has = __webpack_require__(320).has;
var size = __webpack_require__(326);
var getSetRecord = __webpack_require__(327);
var iterateSet = __webpack_require__(325);
var iterateSimple = __webpack_require__(142);
var iteratorClose = __webpack_require__(163);

// `Set.prototype.isDisjointFrom` method
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
module.exports = function isDisjointFrom(other) {
  var O = aSet(this);
  var otherRec = getSetRecord(other);
  if (size(O) <= otherRec.size) return iterateSet(O, function (e) {
    if (otherRec.includes(e)) return false;
  }, true) !== false;
  var iterator = otherRec.getIterator();
  return iterateSimple(iterator, function (e) {
    if (has(O, e)) return iteratorClose(iterator, 'normal', false);
  }) !== false;
};


/***/ }),
/* 341 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $isDisjointFrom = __webpack_require__(340);

// `Set.prototype.isDisjointFrom` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  isDisjointFrom: function isDisjointFrom(other) {
    return call($isDisjointFrom, this, toSetLike(other));
  }
});


/***/ }),
/* 342 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var isSubsetOf = __webpack_require__(343);
var setMethodAcceptSetLike = __webpack_require__(328);

// `Set.prototype.isSubsetOf` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {
  isSubsetOf: isSubsetOf
});


/***/ }),
/* 343 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var size = __webpack_require__(326);
var iterate = __webpack_require__(325);
var getSetRecord = __webpack_require__(327);

// `Set.prototype.isSubsetOf` method
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
module.exports = function isSubsetOf(other) {
  var O = aSet(this);
  var otherRec = getSetRecord(other);
  if (size(O) > otherRec.size) return false;
  return iterate(O, function (e) {
    if (!otherRec.includes(e)) return false;
  }, true) !== false;
};


/***/ }),
/* 344 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $isSubsetOf = __webpack_require__(343);

// `Set.prototype.isSubsetOf` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  isSubsetOf: function isSubsetOf(other) {
    return call($isSubsetOf, this, toSetLike(other));
  }
});


/***/ }),
/* 345 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var isSupersetOf = __webpack_require__(346);
var setMethodAcceptSetLike = __webpack_require__(328);

// `Set.prototype.isSupersetOf` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {
  isSupersetOf: isSupersetOf
});


/***/ }),
/* 346 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var has = __webpack_require__(320).has;
var size = __webpack_require__(326);
var getSetRecord = __webpack_require__(327);
var iterateSimple = __webpack_require__(142);
var iteratorClose = __webpack_require__(163);

// `Set.prototype.isSupersetOf` method
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
module.exports = function isSupersetOf(other) {
  var O = aSet(this);
  var otherRec = getSetRecord(other);
  if (size(O) < otherRec.size) return false;
  var iterator = otherRec.getIterator();
  return iterateSimple(iterator, function (e) {
    if (!has(O, e)) return iteratorClose(iterator, 'normal', false);
  }) !== false;
};


/***/ }),
/* 347 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $isSupersetOf = __webpack_require__(346);

// `Set.prototype.isSupersetOf` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  isSupersetOf: function isSupersetOf(other) {
    return call($isSupersetOf, this, toSetLike(other));
  }
});


/***/ }),
/* 348 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var aSet = __webpack_require__(319);
var iterate = __webpack_require__(325);
var toString = __webpack_require__(106);

var arrayJoin = uncurryThis([].join);
var push = uncurryThis([].push);

// `Set.prototype.join` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  join: function join(separator) {
    var set = aSet(this);
    var sep = separator === undefined ? ',' : toString(separator);
    var array = [];
    iterate(set, function (value) {
      push(array, value);
    });
    return arrayJoin(array, sep);
  }
});


/***/ }),
/* 349 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aSet = __webpack_require__(319);
var SetHelpers = __webpack_require__(320);
var iterate = __webpack_require__(325);

var Set = SetHelpers.Set;
var add = SetHelpers.add;

// `Set.prototype.map` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  map: function map(callbackfn /* , thisArg */) {
    var set = aSet(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    var newSet = new Set();
    iterate(set, function (value) {
      add(newSet, boundFunction(value, value, set));
    });
    return newSet;
  }
});


/***/ }),
/* 350 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var of = __webpack_require__(266);

// `Set.of` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of
$({ target: 'Set', stat: true, forced: true }, {
  of: of
});


/***/ }),
/* 351 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aCallable = __webpack_require__(30);
var aSet = __webpack_require__(319);
var iterate = __webpack_require__(325);

var $TypeError = TypeError;

// `Set.prototype.reduce` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  reduce: function reduce(callbackfn /* , initialValue */) {
    var set = aSet(this);
    var noInitial = arguments.length < 2;
    var accumulator = noInitial ? undefined : arguments[1];
    aCallable(callbackfn);
    iterate(set, function (value) {
      if (noInitial) {
        noInitial = false;
        accumulator = value;
      } else {
        accumulator = callbackfn(accumulator, value, value, set);
      }
    });
    if (noInitial) throw $TypeError('Reduce of empty set with no initial value');
    return accumulator;
  }
});


/***/ }),
/* 352 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var bind = __webpack_require__(109);
var aSet = __webpack_require__(319);
var iterate = __webpack_require__(325);

// `Set.prototype.some` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'Set', proto: true, real: true, forced: true }, {
  some: function some(callbackfn /* , thisArg */) {
    var set = aSet(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
    return iterate(set, function (value) {
      if (boundFunction(value, value, set)) return true;
    }, true) === true;
  }
});


/***/ }),
/* 353 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var symmetricDifference = __webpack_require__(354);
var setMethodAcceptSetLike = __webpack_require__(328);

// `Set.prototype.symmetricDifference` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {
  symmetricDifference: symmetricDifference
});


/***/ }),
/* 354 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var SetHelpers = __webpack_require__(320);
var clone = __webpack_require__(324);
var getSetRecord = __webpack_require__(327);
var iterateSimple = __webpack_require__(142);

var add = SetHelpers.add;
var has = SetHelpers.has;
var remove = SetHelpers.remove;

// `Set.prototype.symmetricDifference` method
// https://github.com/tc39/proposal-set-methods
module.exports = function symmetricDifference(other) {
  var O = aSet(this);
  var keysIter = getSetRecord(other).getIterator();
  var result = clone(O);
  iterateSimple(keysIter, function (e) {
    if (has(O, e)) remove(result, e);
    else add(result, e);
  });
  return result;
};


/***/ }),
/* 355 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $symmetricDifference = __webpack_require__(354);

// `Set.prototype.symmetricDifference` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  symmetricDifference: function symmetricDifference(other) {
    return call($symmetricDifference, this, toSetLike(other));
  }
});


/***/ }),
/* 356 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var union = __webpack_require__(357);
var setMethodAcceptSetLike = __webpack_require__(328);

// `Set.prototype.union` method
// https://github.com/tc39/proposal-set-methods
$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {
  union: union
});


/***/ }),
/* 357 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aSet = __webpack_require__(319);
var add = __webpack_require__(320).add;
var clone = __webpack_require__(324);
var getSetRecord = __webpack_require__(327);
var iterateSimple = __webpack_require__(142);

// `Set.prototype.union` method
// https://github.com/tc39/proposal-set-methods
module.exports = function union(other) {
  var O = aSet(this);
  var keysIter = getSetRecord(other).getIterator();
  var result = clone(O);
  iterateSimple(keysIter, function (it) {
    add(result, it);
  });
  return result;
};


/***/ }),
/* 358 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var toSetLike = __webpack_require__(330);
var $union = __webpack_require__(357);

// `Set.prototype.union` method
// https://github.com/tc39/proposal-set-methods
// TODO: Obsolete version, remove from `core-js@4`
$({ target: 'Set', proto: true, real: true, forced: true }, {
  union: function union(other) {
    return call($union, this, toSetLike(other));
  }
});


/***/ }),
/* 359 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var $ = __webpack_require__(2);
var charAt = __webpack_require__(360).charAt;
var requireObjectCoercible = __webpack_require__(15);
var toIntegerOrInfinity = __webpack_require__(61);
var toString = __webpack_require__(106);

// `String.prototype.at` method
// https://github.com/mathiasbynens/String.prototype.at
$({ target: 'String', proto: true, forced: true }, {
  at: function at(index) {
    var S = toString(requireObjectCoercible(this));
    var len = S.length;
    var relativeIndex = toIntegerOrInfinity(index);
    var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
    return (k < 0 || k >= len) ? undefined : charAt(S, k);
  }
});


/***/ }),
/* 360 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var toIntegerOrInfinity = __webpack_require__(61);
var toString = __webpack_require__(106);
var requireObjectCoercible = __webpack_require__(15);

var charAt = uncurryThis(''.charAt);
var charCodeAt = uncurryThis(''.charCodeAt);
var stringSlice = uncurryThis(''.slice);

var createMethod = function (CONVERT_TO_STRING) {
  return function ($this, pos) {
    var S = toString(requireObjectCoercible($this));
    var position = toIntegerOrInfinity(pos);
    var size = S.length;
    var first, second;
    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
    first = charCodeAt(S, position);
    return first < 0xD800 || first > 0xDBFF || position + 1 === size
      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
        ? CONVERT_TO_STRING
          ? charAt(S, position)
          : first
        : CONVERT_TO_STRING
          ? stringSlice(S, position, position + 2)
          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
  };
};

module.exports = {
  // `String.prototype.codePointAt` method
  // https://tc39.es/ecma262/#sec-string.prototype.codepointat
  codeAt: createMethod(false),
  // `String.prototype.at` method
  // https://github.com/mathiasbynens/String.prototype.at
  charAt: createMethod(true)
};


/***/ }),
/* 361 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var cooked = __webpack_require__(362);

// `String.cooked` method
// https://github.com/tc39/proposal-string-cooked
$({ target: 'String', stat: true, forced: true }, {
  cooked: cooked
});


/***/ }),
/* 362 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);
var toIndexedObject = __webpack_require__(11);
var toString = __webpack_require__(106);
var lengthOfArrayLike = __webpack_require__(63);

var $TypeError = TypeError;
var push = uncurryThis([].push);
var join = uncurryThis([].join);

// `String.cooked` method
// https://tc39.es/proposal-string-cooked/
module.exports = function cooked(template /* , ...substitutions */) {
  var cookedTemplate = toIndexedObject(template);
  var literalSegments = lengthOfArrayLike(cookedTemplate);
  if (!literalSegments) return '';
  var argumentsLength = arguments.length;
  var elements = [];
  var i = 0;
  while (true) {
    var nextVal = cookedTemplate[i++];
    if (nextVal === undefined) throw $TypeError('Incorrect template');
    push(elements, toString(nextVal));
    if (i === literalSegments) return join(elements, '');
    if (i < argumentsLength) push(elements, toString(arguments[i]));
  }
};


/***/ }),
/* 363 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var createIteratorConstructor = __webpack_require__(184);
var createIterResultObject = __webpack_require__(116);
var requireObjectCoercible = __webpack_require__(15);
var toString = __webpack_require__(106);
var InternalStateModule = __webpack_require__(51);
var StringMultibyteModule = __webpack_require__(360);

var codeAt = StringMultibyteModule.codeAt;
var charAt = StringMultibyteModule.charAt;
var STRING_ITERATOR = 'String Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);

// TODO: unify with String#@@iterator
var $StringIterator = createIteratorConstructor(function StringIterator(string) {
  setInternalState(this, {
    type: STRING_ITERATOR,
    string: string,
    index: 0
  });
}, 'String', function next() {
  var state = getInternalState(this);
  var string = state.string;
  var index = state.index;
  var point;
  if (index >= string.length) return createIterResultObject(undefined, true);
  point = charAt(string, index);
  state.index += point.length;
  return createIterResultObject({ codePoint: codeAt(point, 0), position: index }, false);
});

// `String.prototype.codePoints` method
// https://github.com/tc39/proposal-string-prototype-codepoints
$({ target: 'String', proto: true, forced: true }, {
  codePoints: function codePoints() {
    return new $StringIterator(toString(requireObjectCoercible(this)));
  }
});


/***/ }),
/* 364 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var FREEZING = __webpack_require__(199);
var $ = __webpack_require__(2);
var shared = __webpack_require__(34);
var getBuiltIn = __webpack_require__(23);
var makeBuiltIn = __webpack_require__(48);
var uncurryThis = __webpack_require__(13);
var apply = __webpack_require__(188);
var anObject = __webpack_require__(46);
var toObject = __webpack_require__(39);
var isCallable = __webpack_require__(20);
var lengthOfArrayLike = __webpack_require__(63);
var defineProperty = __webpack_require__(44).f;
var createArrayFromList = __webpack_require__(195);
var cooked = __webpack_require__(362);
var parse = __webpack_require__(365);
var whitespaces = __webpack_require__(294);

var WeakMap = getBuiltIn('WeakMap');
var globalDedentRegistry = shared('GlobalDedentRegistry', new WeakMap());

/* eslint-disable no-self-assign -- prototype methods protection */
globalDedentRegistry.has = globalDedentRegistry.has;
globalDedentRegistry.get = globalDedentRegistry.get;
globalDedentRegistry.set = globalDedentRegistry.set;
/* eslint-enable no-self-assign -- prototype methods protection */

var $Array = Array;
var $TypeError = TypeError;
// eslint-disable-next-line es/no-object-freeze -- safe
var freeze = Object.freeze || Object;
// eslint-disable-next-line es/no-object-isfrozen -- safe
var isFrozen = Object.isFrozen;
var min = Math.min;
var charAt = uncurryThis(''.charAt);
var stringSlice = uncurryThis(''.slice);
var split = uncurryThis(''.split);
var exec = uncurryThis(/./.exec);

var NEW_LINE = /([\n\u2028\u2029]|\r\n?)/g;
var LEADING_WHITESPACE = RegExp('^[' + whitespaces + ']*');
var NON_WHITESPACE = RegExp('[^' + whitespaces + ']');
var INVALID_TAG = 'Invalid tag';
var INVALID_OPENING_LINE = 'Invalid opening line';
var INVALID_CLOSING_LINE = 'Invalid closing line';

var dedentTemplateStringsArray = function (template) {
  var rawInput = template.raw;
  // https://github.com/tc39/proposal-string-dedent/issues/75
  if (FREEZING && !isFrozen(rawInput)) throw $TypeError('Raw template should be frozen');
  if (globalDedentRegistry.has(rawInput)) return globalDedentRegistry.get(rawInput);
  var raw = dedentStringsArray(rawInput);
  var cookedArr = cookStrings(raw);
  defineProperty(cookedArr, 'raw', {
    value: freeze(raw)
  });
  freeze(cookedArr);
  globalDedentRegistry.set(rawInput, cookedArr);
  return cookedArr;
};

var dedentStringsArray = function (template) {
  var t = toObject(template);
  var length = lengthOfArrayLike(t);
  var blocks = $Array(length);
  var dedented = $Array(length);
  var i = 0;
  var lines, common;

  if (!length) throw $TypeError(INVALID_TAG);

  for (; i < length; i++) {
    var element = t[i];
    if (typeof element == 'string') blocks[i] = split(element, NEW_LINE);
    else throw $TypeError(INVALID_TAG);
  }

  for (i = 0; i < length; i++) {
    var lastSplit = i + 1 === length;
    lines = blocks[i];
    if (i === 0) {
      if (lines.length === 1 || lines[0].length > 0) {
        throw $TypeError(INVALID_OPENING_LINE);
      }
      lines[1] = '';
    }
    if (lastSplit) {
      if (lines.length === 1 || exec(NON_WHITESPACE, lines[lines.length - 1])) {
        throw $TypeError(INVALID_CLOSING_LINE);
      }
      lines[lines.length - 2] = '';
      lines[lines.length - 1] = '';
    }
    for (var j = 2; j < lines.length; j += 2) {
      var text = lines[j];
      var lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit;
      var leading = exec(LEADING_WHITESPACE, text)[0];
      if (!lineContainsTemplateExpression && leading.length === text.length) {
        lines[j] = '';
        continue;
      }
      common = commonLeadingIndentation(leading, common);
    }
  }

  var count = common ? common.length : 0;

  for (i = 0; i < length; i++) {
    lines = blocks[i];
    for (var quasi = lines[0], k = 1; k < lines.length; k += 2) {
      quasi += lines[k] + stringSlice(lines[k + 1], count);
    }
    dedented[i] = quasi;
  }

  return dedented;
};

var commonLeadingIndentation = function (a, b) {
  if (b === undefined || a === b) return a;
  var i = 0;
  for (var len = min(a.length, b.length); i < len; i++) {
    if (charAt(a, i) !== charAt(b, i)) break;
  }
  return stringSlice(a, 0, i);
};

var cookStrings = function (raw) {
  for (var i = 0, length = raw.length, result = $Array(length); i < length; i++) {
    result[i] = parse(raw[i]);
  } return result;
};

var makeDedentTag = function (tag) {
  return makeBuiltIn(function (template /* , ...substitutions */) {
    var args = createArrayFromList(arguments);
    args[0] = dedentTemplateStringsArray(anObject(template));
    return apply(tag, this, args);
  }, '');
};

var cookedDedentTag = makeDedentTag(cooked);

// `String.dedent` method
// https://github.com/tc39/proposal-string-dedent
$({ target: 'String', stat: true, forced: true }, {
  dedent: function dedent(templateOrFn /* , ...substitutions */) {
    anObject(templateOrFn);
    if (isCallable(templateOrFn)) return makeDedentTag(templateOrFn);
    return apply(cookedDedentTag, this, arguments);
  }
});


/***/ }),
/* 365 */
/***/ (function(module, exports, __webpack_require__) {

// adapted from https://github.com/jridgewell/string-dedent
var getBuiltIn = __webpack_require__(23);
var uncurryThis = __webpack_require__(13);

var fromCharCode = String.fromCharCode;
var fromCodePoint = getBuiltIn('String', 'fromCodePoint');
var charAt = uncurryThis(''.charAt);
var charCodeAt = uncurryThis(''.charCodeAt);
var stringIndexOf = uncurryThis(''.indexOf);
var stringSlice = uncurryThis(''.slice);

var ZERO_CODE = 48;
var NINE_CODE = 57;
var LOWER_A_CODE = 97;
var LOWER_F_CODE = 102;
var UPPER_A_CODE = 65;
var UPPER_F_CODE = 70;

var isDigit = function (str, index) {
  var c = charCodeAt(str, index);
  return c >= ZERO_CODE && c <= NINE_CODE;
};

var parseHex = function (str, index, end) {
  if (end >= str.length) return -1;
  var n = 0;
  for (; index < end; index++) {
    var c = hexToInt(charCodeAt(str, index));
    if (c === -1) return -1;
    n = n * 16 + c;
  }
  return n;
};

var hexToInt = function (c) {
  if (c >= ZERO_CODE && c <= NINE_CODE) return c - ZERO_CODE;
  if (c >= LOWER_A_CODE && c <= LOWER_F_CODE) return c - LOWER_A_CODE + 10;
  if (c >= UPPER_A_CODE && c <= UPPER_F_CODE) return c - UPPER_A_CODE + 10;
  return -1;
};

module.exports = function (raw) {
  var out = '';
  var start = 0;
  // We need to find every backslash escape sequence, and cook the escape into a real char.
  var i = 0;
  var n;
  while ((i = stringIndexOf(raw, '\\', i)) > -1) {
    out += stringSlice(raw, start, i);
    // If the backslash is the last char of the string, then it was an invalid sequence.
    // This can't actually happen in a tagged template literal, but could happen if you manually
    // invoked the tag with an array.
    if (++i === raw.length) return;
    var next = charAt(raw, i++);
    switch (next) {
      // Escaped control codes need to be individually processed.
      case 'b':
        out += '\b';
        break;
      case 't':
        out += '\t';
        break;
      case 'n':
        out += '\n';
        break;
      case 'v':
        out += '\v';
        break;
      case 'f':
        out += '\f';
        break;
      case 'r':
        out += '\r';
        break;
      // Escaped line terminators just skip the char.
      case '\r':
        // Treat `\r\n` as a single terminator.
        if (i < raw.length && charAt(raw, i) === '\n') ++i;
      // break omitted
      case '\n':
      case '\u2028':
      case '\u2029':
        break;
      // `\0` is a null control char, but `\0` followed by another digit is an illegal octal escape.
      case '0':
        if (isDigit(raw, i)) return;
        out += '\0';
        break;
      // Hex escapes must contain 2 hex chars.
      case 'x':
        n = parseHex(raw, i, i + 2);
        if (n === -1) return;
        i += 2;
        out += fromCharCode(n);
        break;
      // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`.
      // The hex value must not overflow 0x10FFFF.
      case 'u':
        if (i < raw.length && charAt(raw, i) === '{') {
          var end = stringIndexOf(raw, '}', ++i);
          if (end === -1) return;
          n = parseHex(raw, i, end);
          i = end + 1;
        } else {
          n = parseHex(raw, i, i + 4);
          i += 4;
        }
        if (n === -1 || n > 0x10FFFF) return;
        out += fromCodePoint(n);
        break;
      default:
        if (isDigit(next, 0)) return;
        out += next;
    }
    start = i;
  }
  return out + stringSlice(raw, start);
};


/***/ }),
/* 366 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var uncurryThis = __webpack_require__(13);
var requireObjectCoercible = __webpack_require__(15);
var toString = __webpack_require__(106);

var charCodeAt = uncurryThis(''.charCodeAt);

// `String.prototype.isWellFormed` method
// https://github.com/tc39/proposal-is-usv-string
$({ target: 'String', proto: true }, {
  isWellFormed: function isWellFormed() {
    var S = toString(requireObjectCoercible(this));
    var length = S.length;
    for (var i = 0; i < length; i++) {
      var charCode = charCodeAt(S, i);
      // single UTF-16 code unit
      if ((charCode & 0xF800) != 0xD800) continue;
      // unpaired surrogate
      if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;
    } return true;
  }
});


/***/ }),
/* 367 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var call = __webpack_require__(7);
var uncurryThis = __webpack_require__(13);
var requireObjectCoercible = __webpack_require__(15);
var toString = __webpack_require__(106);
var fails = __webpack_require__(6);

var $Array = Array;
var charAt = uncurryThis(''.charAt);
var charCodeAt = uncurryThis(''.charCodeAt);
var join = uncurryThis([].join);
var $toWellFormed = ''.toWellFormed;
var REPLACEMENT_CHARACTER = '\uFFFD';

// Safari bug
var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {
  return call($toWellFormed, 1) !== '1';
});

// `String.prototype.toWellFormed` method
// https://github.com/tc39/proposal-is-usv-string
$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {
  toWellFormed: function toWellFormed() {
    var S = toString(requireObjectCoercible(this));
    if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);
    var length = S.length;
    var result = $Array(length);
    for (var i = 0; i < length; i++) {
      var charCode = charCodeAt(S, i);
      // single UTF-16 code unit
      if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);
      // unpaired surrogate
      else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;
      // surrogate pair
      else {
        result[i] = charAt(S, i);
        result[++i] = charAt(S, i);
      }
    } return join(result, '');
  }
});


/***/ }),
/* 368 */
/***/ (function(module, exports, __webpack_require__) {

var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.asyncDispose` well-known symbol
// https://github.com/tc39/proposal-async-explicit-resource-management
defineWellKnownSymbol('asyncDispose');


/***/ }),
/* 369 */
/***/ (function(module, exports, __webpack_require__) {

var path = __webpack_require__(370);
var hasOwn = __webpack_require__(38);
var wrappedWellKnownSymbolModule = __webpack_require__(371);
var defineProperty = __webpack_require__(44).f;

module.exports = function (NAME) {
  var Symbol = path.Symbol || (path.Symbol = {});
  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {
    value: wrappedWellKnownSymbolModule.f(NAME)
  });
};


/***/ }),
/* 370 */
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__(3);

module.exports = global;


/***/ }),
/* 371 */
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__(33);

exports.f = wellKnownSymbol;


/***/ }),
/* 372 */
/***/ (function(module, exports, __webpack_require__) {

var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.dispose` well-known symbol
// https://github.com/tc39/proposal-explicit-resource-management
defineWellKnownSymbol('dispose');


/***/ }),
/* 373 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var getBuiltIn = __webpack_require__(23);
var uncurryThis = __webpack_require__(13);

var Symbol = getBuiltIn('Symbol');
var keyFor = Symbol.keyFor;
var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);

// `Symbol.isRegistered` method
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregistered
$({ target: 'Symbol', stat: true }, {
  isRegistered: function isRegistered(value) {
    try {
      return keyFor(thisSymbolValue(value)) !== undefined;
    } catch (error) {
      return false;
    }
  }
});


/***/ }),
/* 374 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var shared = __webpack_require__(34);
var getBuiltIn = __webpack_require__(23);
var uncurryThis = __webpack_require__(13);
var isSymbol = __webpack_require__(22);
var wellKnownSymbol = __webpack_require__(33);

var Symbol = getBuiltIn('Symbol');
var $isWellKnown = Symbol.isWellKnown;
var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');
var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
var WellKnownSymbolsStore = shared('wks');

for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {
  // some old engines throws on access to some keys like `arguments` or `caller`
  try {
    var symbolKey = symbolKeys[i];
    if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);
  } catch (error) { /* empty */ }
}

// `Symbol.isWellKnown` method
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknown
// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
$({ target: 'Symbol', stat: true, forced: true }, {
  isWellKnown: function isWellKnown(value) {
    if ($isWellKnown && $isWellKnown(value)) return true;
    try {
      var symbol = thisSymbolValue(value);
      for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {
        if (WellKnownSymbolsStore[keys[j]] == symbol) return true;
      }
    } catch (error) { /* empty */ }
    return false;
  }
});


/***/ }),
/* 375 */
/***/ (function(module, exports, __webpack_require__) {

var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.matcher` well-known symbol
// https://github.com/tc39/proposal-pattern-matching
defineWellKnownSymbol('matcher');


/***/ }),
/* 376 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: Remove from `core-js@4`
var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.metadata` well-known symbol
// https://github.com/tc39/proposal-decorators
defineWellKnownSymbol('metadata');


/***/ }),
/* 377 */
/***/ (function(module, exports, __webpack_require__) {

var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.metadataKey` well-known symbol
// https://github.com/tc39/proposal-decorator-metadata
defineWellKnownSymbol('metadataKey');


/***/ }),
/* 378 */
/***/ (function(module, exports, __webpack_require__) {

var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.observable` well-known symbol
// https://github.com/tc39/proposal-observable
defineWellKnownSymbol('observable');


/***/ }),
/* 379 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: remove from `core-js@4`
var defineWellKnownSymbol = __webpack_require__(369);

// `Symbol.patternMatch` well-known symbol
// https://github.com/tc39/proposal-pattern-matching
defineWellKnownSymbol('patternMatch');


/***/ }),
/* 380 */
/***/ (function(module, exports, __webpack_require__) {

// TODO: remove from `core-js@4`
var defineWellKnownSymbol = __webpack_require__(369);

defineWellKnownSymbol('replaceAll');


/***/ }),
/* 381 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var getBuiltIn = __webpack_require__(23);
var aConstructor = __webpack_require__(256);
var arrayFromAsync = __webpack_require__(108);
var ArrayBufferViewCore = __webpack_require__(88);
var arrayFromConstructorAndList = __webpack_require__(79);

var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;

// `%TypedArray%.fromAsync` method
// https://github.com/tc39/proposal-array-from-async
exportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {
  var C = this;
  var argumentsLength = arguments.length;
  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
  var thisArg = argumentsLength > 2 ? arguments[2] : undefined;
  return new (getBuiltIn('Promise'))(function (resolve) {
    aConstructor(C);
    resolve(arrayFromAsync(asyncItems, mapfn, thisArg));
  }).then(function (list) {
    return arrayFromConstructorAndList(aTypedArrayConstructor(C), list);
  });
}, true);


/***/ }),
/* 382 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var ArrayBufferViewCore = __webpack_require__(88);
var $filterReject = __webpack_require__(124).filterReject;
var fromSpeciesAndList = __webpack_require__(383);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.filterOut` method
// https://github.com/tc39/proposal-array-filtering
exportTypedArrayMethod('filterOut', function filterOut(callbackfn /* , thisArg */) {
  var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  return fromSpeciesAndList(this, list);
}, true);


/***/ }),
/* 383 */
/***/ (function(module, exports, __webpack_require__) {

var arrayFromConstructorAndList = __webpack_require__(79);
var typedArraySpeciesConstructor = __webpack_require__(384);

module.exports = function (instance, list) {
  return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);
};


/***/ }),
/* 384 */
/***/ (function(module, exports, __webpack_require__) {

var ArrayBufferViewCore = __webpack_require__(88);
var speciesConstructor = __webpack_require__(385);

var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;

// a part of `TypedArraySpeciesCreate` abstract operation
// https://tc39.es/ecma262/#typedarray-species-create
module.exports = function (originalArray) {
  return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));
};


/***/ }),
/* 385 */
/***/ (function(module, exports, __webpack_require__) {

var anObject = __webpack_require__(46);
var aConstructor = __webpack_require__(256);
var isNullOrUndefined = __webpack_require__(16);
var wellKnownSymbol = __webpack_require__(33);

var SPECIES = wellKnownSymbol('species');

// `SpeciesConstructor` abstract operation
// https://tc39.es/ecma262/#sec-speciesconstructor
module.exports = function (O, defaultConstructor) {
  var C = anObject(O).constructor;
  var S;
  return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);
};


/***/ }),
/* 386 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__(88);
var $filterReject = __webpack_require__(124).filterReject;
var fromSpeciesAndList = __webpack_require__(383);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.filterReject` method
// https://github.com/tc39/proposal-array-filtering
exportTypedArrayMethod('filterReject', function filterReject(callbackfn /* , thisArg */) {
  var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  return fromSpeciesAndList(this, list);
}, true);


/***/ }),
/* 387 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var ArrayBufferViewCore = __webpack_require__(88);
var $group = __webpack_require__(129);
var typedArraySpeciesConstructor = __webpack_require__(384);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.groupBy` method
// https://github.com/tc39/proposal-array-grouping
exportTypedArrayMethod('groupBy', function groupBy(callbackfn /* , thisArg */) {
  var thisArg = arguments.length > 1 ? arguments[1] : undefined;
  return $group(aTypedArray(this), callbackfn, thisArg, typedArraySpeciesConstructor);
}, true);


/***/ }),
/* 388 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4`
var ArrayBufferViewCore = __webpack_require__(88);
var lengthOfArrayLike = __webpack_require__(63);
var isBigIntArray = __webpack_require__(99);
var toAbsoluteIndex = __webpack_require__(60);
var toBigInt = __webpack_require__(100);
var toIntegerOrInfinity = __webpack_require__(61);
var fails = __webpack_require__(6);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var max = Math.max;
var min = Math.min;

// some early implementations, like WebKit, does not follow the final semantic
var PROPER_ORDER = !fails(function () {
  // eslint-disable-next-line es/no-typed-arrays -- required for testing
  var array = new Int8Array([1]);

  var spliced = array.toSpliced(1, 0, {
    valueOf: function () {
      array[0] = 2;
      return 3;
    }
  });

  return spliced[0] !== 2 || spliced[1] !== 3;
});

// `%TypedArray%.prototype.toSpliced` method
// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced
exportTypedArrayMethod('toSpliced', function toSpliced(start, deleteCount /* , ...items */) {
  var O = aTypedArray(this);
  var C = getTypedArrayConstructor(O);
  var len = lengthOfArrayLike(O);
  var actualStart = toAbsoluteIndex(start, len);
  var argumentsLength = arguments.length;
  var k = 0;
  var insertCount, actualDeleteCount, thisIsBigIntArray, convertedItems, value, newLen, A;
  if (argumentsLength === 0) {
    insertCount = actualDeleteCount = 0;
  } else if (argumentsLength === 1) {
    insertCount = 0;
    actualDeleteCount = len - actualStart;
  } else {
    actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
    insertCount = argumentsLength - 2;
    if (insertCount) {
      convertedItems = new C(insertCount);
      thisIsBigIntArray = isBigIntArray(convertedItems);
      for (var i = 2; i < argumentsLength; i++) {
        value = arguments[i];
        // FF30- typed arrays doesn't properly convert objects to typed array values
        convertedItems[i - 2] = thisIsBigIntArray ? toBigInt(value) : +value;
      }
    }
  }
  newLen = len + insertCount - actualDeleteCount;
  A = new C(newLen);

  for (; k < actualStart; k++) A[k] = O[k];
  for (; k < actualStart + insertCount; k++) A[k] = convertedItems[k - actualStart];
  for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount];

  return A;
}, !PROPER_ORDER);


/***/ }),
/* 389 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var uncurryThis = __webpack_require__(13);
var ArrayBufferViewCore = __webpack_require__(88);
var arrayFromConstructorAndList = __webpack_require__(79);
var $arrayUniqueBy = __webpack_require__(140);

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var arrayUniqueBy = uncurryThis($arrayUniqueBy);

// `%TypedArray%.prototype.uniqueBy` method
// https://github.com/tc39/proposal-array-unique
exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) {
  aTypedArray(this);
  return arrayFromConstructorAndList(getTypedArrayConstructor(this), arrayUniqueBy(this, resolver));
}, true);


/***/ }),
/* 390 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aWeakMap = __webpack_require__(391);
var remove = __webpack_require__(392).remove;

// `WeakMap.prototype.deleteAll` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
  deleteAll: function deleteAll(/* ...elements */) {
    var collection = aWeakMap(this);
    var allDeleted = true;
    var wasDeleted;
    for (var k = 0, len = arguments.length; k < len; k++) {
      wasDeleted = remove(collection, arguments[k]);
      allDeleted = allDeleted && wasDeleted;
    } return !!allDeleted;
  }
});


/***/ }),
/* 391 */
/***/ (function(module, exports, __webpack_require__) {

var has = __webpack_require__(392).has;

// Perform ? RequireInternalSlot(M, [[WeakMapData]])
module.exports = function (it) {
  has(it);
  return it;
};


/***/ }),
/* 392 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

// eslint-disable-next-line es/no-weak-map -- safe
var WeakMapPrototype = WeakMap.prototype;

module.exports = {
  // eslint-disable-next-line es/no-weak-map -- safe
  WeakMap: WeakMap,
  set: uncurryThis(WeakMapPrototype.set),
  get: uncurryThis(WeakMapPrototype.get),
  has: uncurryThis(WeakMapPrototype.has),
  remove: uncurryThis(WeakMapPrototype['delete'])
};


/***/ }),
/* 393 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var from = __webpack_require__(255);

// `WeakMap.from` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from
$({ target: 'WeakMap', stat: true, forced: true }, {
  from: from
});


/***/ }),
/* 394 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var of = __webpack_require__(266);

// `WeakMap.of` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of
$({ target: 'WeakMap', stat: true, forced: true }, {
  of: of
});


/***/ }),
/* 395 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aWeakMap = __webpack_require__(391);
var WeakMapHelpers = __webpack_require__(392);

var get = WeakMapHelpers.get;
var has = WeakMapHelpers.has;
var set = WeakMapHelpers.set;

// `WeakMap.prototype.emplace` method
// https://github.com/tc39/proposal-upsert
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
  emplace: function emplace(key, handler) {
    var map = aWeakMap(this);
    var value, inserted;
    if (has(map, key)) {
      value = get(map, key);
      if ('update' in handler) {
        value = handler.update(value, key, map);
        set(map, key, value);
      } return value;
    }
    inserted = handler.insert(key, map);
    set(map, key, inserted);
    return inserted;
  }
});


/***/ }),
/* 396 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: remove from `core-js@4`
var $ = __webpack_require__(2);
var upsert = __webpack_require__(272);

// `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`)
// https://github.com/tc39/proposal-upsert
$({ target: 'WeakMap', proto: true, real: true, forced: true }, {
  upsert: upsert
});


/***/ }),
/* 397 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aWeakSet = __webpack_require__(398);
var add = __webpack_require__(399).add;

// `WeakSet.prototype.addAll` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'WeakSet', proto: true, real: true, forced: true }, {
  addAll: function addAll(/* ...elements */) {
    var set = aWeakSet(this);
    for (var k = 0, len = arguments.length; k < len; k++) {
      add(set, arguments[k]);
    } return set;
  }
});


/***/ }),
/* 398 */
/***/ (function(module, exports, __webpack_require__) {

var has = __webpack_require__(399).has;

// Perform ? RequireInternalSlot(M, [[WeakSetData]])
module.exports = function (it) {
  has(it);
  return it;
};


/***/ }),
/* 399 */
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__(13);

// eslint-disable-next-line es/no-weak-set -- safe
var WeakSetPrototype = WeakSet.prototype;

module.exports = {
  // eslint-disable-next-line es/no-weak-set -- safe
  WeakSet: WeakSet,
  add: uncurryThis(WeakSetPrototype.add),
  has: uncurryThis(WeakSetPrototype.has),
  remove: uncurryThis(WeakSetPrototype['delete'])
};


/***/ }),
/* 400 */
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__(2);
var aWeakSet = __webpack_require__(398);
var remove = __webpack_require__(399).remove;

// `WeakSet.prototype.deleteAll` method
// https://github.com/tc39/proposal-collection-methods
$({ target: 'WeakSet', proto: true, real: true, forced: true }, {
  deleteAll: function deleteAll(/* ...elements */) {
    var collection = aWeakSet(this);
    var allDeleted = true;
    var wasDeleted;
    for (var k = 0, len = arguments.length; k < len; k++) {
      wasDeleted = remove(collection, arguments[k]);
      allDeleted = allDeleted && wasDeleted;
    } return !!allDeleted;
  }
});


/***/ }),
/* 401 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var from = __webpack_require__(255);

// `WeakSet.from` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from
$({ target: 'WeakSet', stat: true, forced: true }, {
  from: from
});


/***/ }),
/* 402 */
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__(2);
var of = __webpack_require__(266);

// `WeakSet.of` method
// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of
$({ target: 'WeakSet', stat: true, forced: true }, {
  of: of
});


/***/ })
/******/ ]); }();
   /* Ende polyfills */
   /* Start jquery */
   /* --GSBDocStart
 * @name: jquery 
 * @version: 3.7.0 
 * @repository: https://github.com/jquery/jquery 
 * @description: JavaScript library for DOM operations 
 * @licenses: MIT 
 * --GSBDocEnd
*/
/*!
 * jQuery JavaScript Library v3.7.0
 * https://jquery.com/
 *
 * Copyright OpenJS Foundation and other contributors
 * Released under the MIT license
 * https://jquery.org/license
 *
 * Date: 2023-05-11T18:29Z
 */
( function( global, factory ) {

  "use strict";

  if ( typeof module === "object" && typeof module.exports === "object" ) {

    // For CommonJS and CommonJS-like environments where a proper `window`
    // is present, execute the factory and get jQuery.
    // For environments that do not have a `window` with a `document`
    // (such as Node.js), expose a factory as module.exports.
    // This accentuates the need for the creation of a real `window`.
    // e.g. var jQuery = require("jquery")(window);
    // See ticket trac-14549 for more info.
    module.exports = global.document ?
      factory( global, true ) :
      function( w ) {
        if ( !w.document ) {
          throw new Error( "jQuery requires a window with a document" );
        }
        return factory( w );
      };
  } else {
    factory( global );
  }

// Pass this if window is not defined yet
} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {

// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
// enough that all such attempts are guarded in a try block.
"use strict";

var arr = [];

var getProto = Object.getPrototypeOf;

var slice = arr.slice;

var flat = arr.flat ? function( array ) {
  return arr.flat.call( array );
} : function( array ) {
  return arr.concat.apply( [], array );
};


var push = arr.push;

var indexOf = arr.indexOf;

var class2type = {};

var toString = class2type.toString;

var hasOwn = class2type.hasOwnProperty;

var fnToString = hasOwn.toString;

var ObjectFunctionString = fnToString.call( Object );

var support = {};

var isFunction = function isFunction( obj ) {

    // Support: Chrome <=57, Firefox <=52
    // In some browsers, typeof returns "function" for HTML <object> elements
    // (i.e., `typeof document.createElement( "object" ) === "function"`).
    // We don't want to classify *any* DOM node as a function.
    // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
    // Plus for old WebKit, typeof returns "function" for HTML collections
    // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
    return typeof obj === "function" && typeof obj.nodeType !== "number" &&
      typeof obj.item !== "function";
  };


var isWindow = function isWindow( obj ) {
    return obj != null && obj === obj.window;
  };


var document = window.document;



  var preservedScriptAttributes = {
    type: true,
    src: true,
    nonce: true,
    noModule: true
  };

  function DOMEval( code, node, doc ) {
    doc = doc || document;

    var i, val,
      script = doc.createElement( "script" );

    script.text = code;
    if ( node ) {
      for ( i in preservedScriptAttributes ) {

        // Support: Firefox 64+, Edge 18+
        // Some browsers don't support the "nonce" property on scripts.
        // On the other hand, just using `getAttribute` is not enough as
        // the `nonce` attribute is reset to an empty string whenever it
        // becomes browsing-context connected.
        // See https://github.com/whatwg/html/issues/2369
        // See https://html.spec.whatwg.org/#nonce-attributes
        // The `node.getAttribute` check was added for the sake of
        // `jQuery.globalEval` so that it can fake a nonce-containing node
        // via an object.
        val = node[ i ] || node.getAttribute && node.getAttribute( i );
        if ( val ) {
          script.setAttribute( i, val );
        }
      }
    }
    doc.head.appendChild( script ).parentNode.removeChild( script );
  }


function toType( obj ) {
  if ( obj == null ) {
    return obj + "";
  }

  // Support: Android <=2.3 only (functionish RegExp)
  return typeof obj === "object" || typeof obj === "function" ?
    class2type[ toString.call( obj ) ] || "object" :
    typeof obj;
}
/* global Symbol */
// Defining this global in .eslintrc.json would create a danger of using the global
// unguarded in another place, it seems safer to define global only for this module



var version = "3.7.0",

  rhtmlSuffix = /HTML$/i,

  // Define a local copy of jQuery
  jQuery = function( selector, context ) {

    // The jQuery object is actually just the init constructor 'enhanced'
    // Need init if jQuery is called (just allow error to be thrown if not included)
    return new jQuery.fn.init( selector, context );
  };

jQuery.fn = jQuery.prototype = {

  // The current version of jQuery being used
  jquery: version,

  constructor: jQuery,

  // The default length of a jQuery object is 0
  length: 0,

  toArray: function() {
    return slice.call( this );
  },

  // Get the Nth element in the matched element set OR
  // Get the whole matched element set as a clean array
  get: function( num ) {

    // Return all the elements in a clean array
    if ( num == null ) {
      return slice.call( this );
    }

    // Return just the one element from the set
    return num < 0 ? this[ num + this.length ] : this[ num ];
  },

  // Take an array of elements and push it onto the stack
  // (returning the new matched element set)
  pushStack: function( elems ) {

    // Build a new jQuery matched element set
    var ret = jQuery.merge( this.constructor(), elems );

    // Add the old object onto the stack (as a reference)
    ret.prevObject = this;

    // Return the newly-formed element set
    return ret;
  },

  // Execute a callback for every element in the matched set.
  each: function( callback ) {
    return jQuery.each( this, callback );
  },

  map: function( callback ) {
    return this.pushStack( jQuery.map( this, function( elem, i ) {
      return callback.call( elem, i, elem );
    } ) );
  },

  slice: function() {
    return this.pushStack( slice.apply( this, arguments ) );
  },

  first: function() {
    return this.eq( 0 );
  },

  last: function() {
    return this.eq( -1 );
  },

  even: function() {
    return this.pushStack( jQuery.grep( this, function( _elem, i ) {
      return ( i + 1 ) % 2;
    } ) );
  },

  odd: function() {
    return this.pushStack( jQuery.grep( this, function( _elem, i ) {
      return i % 2;
    } ) );
  },

  eq: function( i ) {
    var len = this.length,
      j = +i + ( i < 0 ? len : 0 );
    return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
  },

  end: function() {
    return this.prevObject || this.constructor();
  },

  // For internal use only.
  // Behaves like an Array's method, not like a jQuery method.
  push: push,
  sort: arr.sort,
  splice: arr.splice
};

jQuery.extend = jQuery.fn.extend = function() {
  var options, name, src, copy, copyIsArray, clone,
    target = arguments[ 0 ] || {},
    i = 1,
    length = arguments.length,
    deep = false;

  // Handle a deep copy situation
  if ( typeof target === "boolean" ) {
    deep = target;

    // Skip the boolean and the target
    target = arguments[ i ] || {};
    i++;
  }

  // Handle case when target is a string or something (possible in deep copy)
  if ( typeof target !== "object" && !isFunction( target ) ) {
    target = {};
  }

  // Extend jQuery itself if only one argument is passed
  if ( i === length ) {
    target = this;
    i--;
  }

  for ( ; i < length; i++ ) {

    // Only deal with non-null/undefined values
    if ( ( options = arguments[ i ] ) != null ) {

      // Extend the base object
      for ( name in options ) {
        copy = options[ name ];

        // Prevent Object.prototype pollution
        // Prevent never-ending loop
        if ( name === "__proto__" || target === copy ) {
          continue;
        }

        // Recurse if we're merging plain objects or arrays
        if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
          ( copyIsArray = Array.isArray( copy ) ) ) ) {
          src = target[ name ];

          // Ensure proper type for the source value
          if ( copyIsArray && !Array.isArray( src ) ) {
            clone = [];
          } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
            clone = {};
          } else {
            clone = src;
          }
          copyIsArray = false;

          // Never move original objects, clone them
          target[ name ] = jQuery.extend( deep, clone, copy );

        // Don't bring in undefined values
        } else if ( copy !== undefined ) {
          target[ name ] = copy;
        }
      }
    }
  }

  // Return the modified object
  return target;
};

jQuery.extend( {

  // Unique for each copy of jQuery on the page
  expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),

  // Assume jQuery is ready without the ready module
  isReady: true,

  error: function( msg ) {
    throw new Error( msg );
  },

  noop: function() {},

  isPlainObject: function( obj ) {
    var proto, Ctor;

    // Detect obvious negatives
    // Use toString instead of jQuery.type to catch host objects
    if ( !obj || toString.call( obj ) !== "[object Object]" ) {
      return false;
    }

    proto = getProto( obj );

    // Objects with no prototype (e.g., `Object.create( null )`) are plain
    if ( !proto ) {
      return true;
    }

    // Objects with prototype are plain iff they were constructed by a global Object function
    Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
    return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
  },

  isEmptyObject: function( obj ) {
    var name;

    for ( name in obj ) {
      return false;
    }
    return true;
  },

  // Evaluates a script in a provided context; falls back to the global one
  // if not specified.
  globalEval: function( code, options, doc ) {
    DOMEval( code, { nonce: options && options.nonce }, doc );
  },

  each: function( obj, callback ) {
    var length, i = 0;

    if ( isArrayLike( obj ) ) {
      length = obj.length;
      for ( ; i < length; i++ ) {
        if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
          break;
        }
      }
    } else {
      for ( i in obj ) {
        if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
          break;
        }
      }
    }

    return obj;
  },


  // Retrieve the text value of an array of DOM nodes
  text: function( elem ) {
    var node,
      ret = "",
      i = 0,
      nodeType = elem.nodeType;

    if ( !nodeType ) {

      // If no nodeType, this is expected to be an array
      while ( ( node = elem[ i++ ] ) ) {

        // Do not traverse comment nodes
        ret += jQuery.text( node );
      }
    } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
      return elem.textContent;
    } else if ( nodeType === 3 || nodeType === 4 ) {
      return elem.nodeValue;
    }

    // Do not include comment or processing instruction nodes

    return ret;
  },

  // results is for internal usage only
  makeArray: function( arr, results ) {
    var ret = results || [];

    if ( arr != null ) {
      if ( isArrayLike( Object( arr ) ) ) {
        jQuery.merge( ret,
          typeof arr === "string" ?
            [ arr ] : arr
        );
      } else {
        push.call( ret, arr );
      }
    }

    return ret;
  },

  inArray: function( elem, arr, i ) {
    return arr == null ? -1 : indexOf.call( arr, elem, i );
  },

  isXMLDoc: function( elem ) {
    var namespace = elem && elem.namespaceURI,
      docElem = elem && ( elem.ownerDocument || elem ).documentElement;

    // Assume HTML when documentElement doesn't yet exist, such as inside
    // document fragments.
    return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" );
  },

  // Support: Android <=4.0 only, PhantomJS 1 only
  // push.apply(_, arraylike) throws on ancient WebKit
  merge: function( first, second ) {
    var len = +second.length,
      j = 0,
      i = first.length;

    for ( ; j < len; j++ ) {
      first[ i++ ] = second[ j ];
    }

    first.length = i;

    return first;
  },

  grep: function( elems, callback, invert ) {
    var callbackInverse,
      matches = [],
      i = 0,
      length = elems.length,
      callbackExpect = !invert;

    // Go through the array, only saving the items
    // that pass the validator function
    for ( ; i < length; i++ ) {
      callbackInverse = !callback( elems[ i ], i );
      if ( callbackInverse !== callbackExpect ) {
        matches.push( elems[ i ] );
      }
    }

    return matches;
  },

  // arg is for internal usage only
  map: function( elems, callback, arg ) {
    var length, value,
      i = 0,
      ret = [];

    // Go through the array, translating each of the items to their new values
    if ( isArrayLike( elems ) ) {
      length = elems.length;
      for ( ; i < length; i++ ) {
        value = callback( elems[ i ], i, arg );

        if ( value != null ) {
          ret.push( value );
        }
      }

    // Go through every key on the object,
    } else {
      for ( i in elems ) {
        value = callback( elems[ i ], i, arg );

        if ( value != null ) {
          ret.push( value );
        }
      }
    }

    // Flatten any nested arrays
    return flat( ret );
  },

  // A global GUID counter for objects
  guid: 1,

  // jQuery.support is not used in Core but other projects attach their
  // properties to it so it needs to exist.
  support: support
} );

if ( typeof Symbol === "function" ) {
  jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
}

// Populate the class2type map
jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
  function( _i, name ) {
    class2type[ "[object " + name + "]" ] = name.toLowerCase();
  } );

function isArrayLike( obj ) {

  // Support: real iOS 8.2 only (not reproducible in simulator)
  // `in` check used to prevent JIT error (gh-2145)
  // hasOwn isn't used here due to false negatives
  // regarding Nodelist length in IE
  var length = !!obj && "length" in obj && obj.length,
    type = toType( obj );

  if ( isFunction( obj ) || isWindow( obj ) ) {
    return false;
  }

  return type === "array" || length === 0 ||
    typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}


function nodeName( elem, name ) {

  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();

}
var pop = arr.pop;


var sort = arr.sort;


var splice = arr.splice;


var whitespace = "[\\x20\\t\\r\\n\\f]";


var rtrimCSS = new RegExp(
  "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
  "g"
);




// Note: an element does not contain itself
jQuery.contains = function( a, b ) {
  var bup = b && b.parentNode;

  return a === bup || !!( bup && bup.nodeType === 1 && (

    // Support: IE 9 - 11+
    // IE doesn't have `contains` on SVG.
    a.contains ?
      a.contains( bup ) :
      a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
  ) );
};




// CSS string/identifier serialization
// https://drafts.csswg.org/cssom/#common-serializing-idioms
var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;

function fcssescape( ch, asCodePoint ) {
  if ( asCodePoint ) {

    // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
    if ( ch === "\0" ) {
      return "\uFFFD";
    }

    // Control characters and (dependent upon position) numbers get escaped as code points
    return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
  }

  // Other potentially-special ASCII characters get backslash-escaped
  return "\\" + ch;
}

jQuery.escapeSelector = function( sel ) {
  return ( sel + "" ).replace( rcssescape, fcssescape );
};




var preferredDoc = document,
  pushNative = push;

( function() {

var i,
  Expr,
  outermostContext,
  sortInput,
  hasDuplicate,
  push = pushNative,

  // Local document vars
  document,
  documentElement,
  documentIsHTML,
  rbuggyQSA,
  matches,

  // Instance-specific data
  expando = jQuery.expando,
  dirruns = 0,
  done = 0,
  classCache = createCache(),
  tokenCache = createCache(),
  compilerCache = createCache(),
  nonnativeSelectorCache = createCache(),
  sortOrder = function( a, b ) {
    if ( a === b ) {
      hasDuplicate = true;
    }
    return 0;
  },

  booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" +
    "loop|multiple|open|readonly|required|scoped",

  // Regular expressions

  // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
  identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
    "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",

  // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors
  attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +

    // Operator (capture 2)
    "*([*^$|!~]?=)" + whitespace +

    // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
    "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
    whitespace + "*\\]",

  pseudos = ":(" + identifier + ")(?:\\((" +

    // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
    // 1. quoted (capture 3; capture 4 or capture 5)
    "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +

    // 2. simple (capture 6)
    "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +

    // 3. anything else (capture 2)
    ".*" +
    ")\\)|)",

  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
  rwhitespace = new RegExp( whitespace + "+", "g" ),

  rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
  rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" +
    whitespace + "*" ),
  rdescend = new RegExp( whitespace + "|>" ),

  rpseudo = new RegExp( pseudos ),
  ridentifier = new RegExp( "^" + identifier + "$" ),

  matchExpr = {
    ID: new RegExp( "^#(" + identifier + ")" ),
    CLASS: new RegExp( "^\\.(" + identifier + ")" ),
    TAG: new RegExp( "^(" + identifier + "|[*])" ),
    ATTR: new RegExp( "^" + attributes ),
    PSEUDO: new RegExp( "^" + pseudos ),
    CHILD: new RegExp(
      "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
        whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
        whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
    bool: new RegExp( "^(?:" + booleans + ")$", "i" ),

    // For use in libraries implementing .is()
    // We use this for POS matching in `select`
    needsContext: new RegExp( "^" + whitespace +
      "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
      "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
  },

  rinputs = /^(?:input|select|textarea|button)$/i,
  rheader = /^h\d$/i,

  // Easily-parseable/retrievable ID or TAG or CLASS selectors
  rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,

  rsibling = /[+~]/,

  // CSS escapes
  // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters
  runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace +
    "?|\\\\([^\\r\\n\\f])", "g" ),
  funescape = function( escape, nonHex ) {
    var high = "0x" + escape.slice( 1 ) - 0x10000;

    if ( nonHex ) {

      // Strip the backslash prefix from a non-hex escape sequence
      return nonHex;
    }

    // Replace a hexadecimal escape sequence with the encoded Unicode code point
    // Support: IE <=11+
    // For values outside the Basic Multilingual Plane (BMP), manually construct a
    // surrogate pair
    return high < 0 ?
      String.fromCharCode( high + 0x10000 ) :
      String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
  },

  // Used for iframes; see `setDocument`.
  // Support: IE 9 - 11+, Edge 12 - 18+
  // Removing the function wrapper causes a "Permission Denied"
  // error in IE/Edge.
  unloadHandler = function() {
    setDocument();
  },

  inDisabledFieldset = addCombinator(
    function( elem ) {
      return elem.disabled === true && nodeName( elem, "fieldset" );
    },
    { dir: "parentNode", next: "legend" }
  );

// Support: IE <=9 only
// Accessing document.activeElement can throw unexpectedly
// https://bugs.jquery.com/ticket/13393
function safeActiveElement() {
  try {
    return document.activeElement;
  } catch ( err ) { }
}

// Optimize for push.apply( _, NodeList )
try {
  push.apply(
    ( arr = slice.call( preferredDoc.childNodes ) ),
    preferredDoc.childNodes
  );

  // Support: Android <=4.0
  // Detect silently failing push.apply
  // eslint-disable-next-line no-unused-expressions
  arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
  push = {
    apply: function( target, els ) {
      pushNative.apply( target, slice.call( els ) );
    },
    call: function( target ) {
      pushNative.apply( target, slice.call( arguments, 1 ) );
    }
  };
}

function find( selector, context, results, seed ) {
  var m, i, elem, nid, match, groups, newSelector,
    newContext = context && context.ownerDocument,

    // nodeType defaults to 9, since context defaults to document
    nodeType = context ? context.nodeType : 9;

  results = results || [];

  // Return early from calls with invalid selector or context
  if ( typeof selector !== "string" || !selector ||
    nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {

    return results;
  }

  // Try to shortcut find operations (as opposed to filters) in HTML documents
  if ( !seed ) {
    setDocument( context );
    context = context || document;

    if ( documentIsHTML ) {

      // If the selector is sufficiently simple, try using a "get*By*" DOM method
      // (excepting DocumentFragment context, where the methods don't exist)
      if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {

        // ID selector
        if ( ( m = match[ 1 ] ) ) {

          // Document context
          if ( nodeType === 9 ) {
            if ( ( elem = context.getElementById( m ) ) ) {

              // Support: IE 9 only
              // getElementById can match elements by name instead of ID
              if ( elem.id === m ) {
                push.call( results, elem );
                return results;
              }
            } else {
              return results;
            }

          // Element context
          } else {

            // Support: IE 9 only
            // getElementById can match elements by name instead of ID
            if ( newContext && ( elem = newContext.getElementById( m ) ) &&
              find.contains( context, elem ) &&
              elem.id === m ) {

              push.call( results, elem );
              return results;
            }
          }

        // Type selector
        } else if ( match[ 2 ] ) {
          push.apply( results, context.getElementsByTagName( selector ) );
          return results;

        // Class selector
        } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {
          push.apply( results, context.getElementsByClassName( m ) );
          return results;
        }
      }

      // Take advantage of querySelectorAll
      if ( !nonnativeSelectorCache[ selector + " " ] &&
        ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {

        newSelector = selector;
        newContext = context;

        // qSA considers elements outside a scoping root when evaluating child or
        // descendant combinators, which is not what we want.
        // In such cases, we work around the behavior by prefixing every selector in the
        // list with an ID selector referencing the scope context.
        // The technique has to be used as well when a leading combinator is used
        // as such selectors are not recognized by querySelectorAll.
        // Thanks to Andrew Dupont for this technique.
        if ( nodeType === 1 &&
          ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {

          // Expand context for sibling selectors
          newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
            context;

          // We can use :scope instead of the ID hack if the browser
          // supports it & if we're not changing the context.
          // Support: IE 11+, Edge 17 - 18+
          // IE/Edge sometimes throw a "Permission denied" error when
          // strict-comparing two documents; shallow comparisons work.
          // eslint-disable-next-line eqeqeq
          if ( newContext != context || !support.scope ) {

            // Capture the context ID, setting it first if necessary
            if ( ( nid = context.getAttribute( "id" ) ) ) {
              nid = jQuery.escapeSelector( nid );
            } else {
              context.setAttribute( "id", ( nid = expando ) );
            }
          }

          // Prefix every selector in the list
          groups = tokenize( selector );
          i = groups.length;
          while ( i-- ) {
            groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
              toSelector( groups[ i ] );
          }
          newSelector = groups.join( "," );
        }

        try {
          push.apply( results,
            newContext.querySelectorAll( newSelector )
          );
          return results;
        } catch ( qsaError ) {
          nonnativeSelectorCache( selector, true );
        } finally {
          if ( nid === expando ) {
            context.removeAttribute( "id" );
          }
        }
      }
    }
  }

  // All others
  return select( selector.replace( rtrimCSS, "$1" ), context, results, seed );
}

/**
 * Create key-value caches of limited size
 * @returns {function(string, object)} Returns the Object data after storing it on itself with
 *  property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
 *  deleting the oldest entry
 */
function createCache() {
  var keys = [];

  function cache( key, value ) {

    // Use (key + " ") to avoid collision with native prototype properties
    // (see https://github.com/jquery/sizzle/issues/157)
    if ( keys.push( key + " " ) > Expr.cacheLength ) {

      // Only keep the most recent entries
      delete cache[ keys.shift() ];
    }
    return ( cache[ key + " " ] = value );
  }
  return cache;
}

/**
 * Mark a function for special use by jQuery selector module
 * @param {Function} fn The function to mark
 */
function markFunction( fn ) {
  fn[ expando ] = true;
  return fn;
}

/**
 * Support testing using an element
 * @param {Function} fn Passed the created element and returns a boolean result
 */
function assert( fn ) {
  var el = document.createElement( "fieldset" );

  try {
    return !!fn( el );
  } catch ( e ) {
    return false;
  } finally {

    // Remove from its parent by default
    if ( el.parentNode ) {
      el.parentNode.removeChild( el );
    }

    // release memory in IE
    el = null;
  }
}

/**
 * Returns a function to use in pseudos for input types
 * @param {String} type
 */
function createInputPseudo( type ) {
  return function( elem ) {
    return nodeName( elem, "input" ) && elem.type === type;
  };
}

/**
 * Returns a function to use in pseudos for buttons
 * @param {String} type
 */
function createButtonPseudo( type ) {
  return function( elem ) {
    return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) &&
      elem.type === type;
  };
}

/**
 * Returns a function to use in pseudos for :enabled/:disabled
 * @param {Boolean} disabled true for :disabled; false for :enabled
 */
function createDisabledPseudo( disabled ) {

  // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
  return function( elem ) {

    // Only certain elements can match :enabled or :disabled
    // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
    // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
    if ( "form" in elem ) {

      // Check for inherited disabledness on relevant non-disabled elements:
      // * listed form-associated elements in a disabled fieldset
      //   https://html.spec.whatwg.org/multipage/forms.html#category-listed
      //   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
      // * option elements in a disabled optgroup
      //   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
      // All such elements have a "form" property.
      if ( elem.parentNode && elem.disabled === false ) {

        // Option elements defer to a parent optgroup if present
        if ( "label" in elem ) {
          if ( "label" in elem.parentNode ) {
            return elem.parentNode.disabled === disabled;
          } else {
            return elem.disabled === disabled;
          }
        }

        // Support: IE 6 - 11+
        // Use the isDisabled shortcut property to check for disabled fieldset ancestors
        return elem.isDisabled === disabled ||

          // Where there is no isDisabled, check manually
          elem.isDisabled !== !disabled &&
            inDisabledFieldset( elem ) === disabled;
      }

      return elem.disabled === disabled;

    // Try to winnow out elements that can't be disabled before trusting the disabled property.
    // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
    // even exist on them, let alone have a boolean value.
    } else if ( "label" in elem ) {
      return elem.disabled === disabled;
    }

    // Remaining elements are neither :enabled nor :disabled
    return false;
  };
}

/**
 * Returns a function to use in pseudos for positionals
 * @param {Function} fn
 */
function createPositionalPseudo( fn ) {
  return markFunction( function( argument ) {
    argument = +argument;
    return markFunction( function( seed, matches ) {
      var j,
        matchIndexes = fn( [], seed.length, argument ),
        i = matchIndexes.length;

      // Match elements found at the specified indexes
      while ( i-- ) {
        if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
          seed[ j ] = !( matches[ j ] = seed[ j ] );
        }
      }
    } );
  } );
}

/**
 * Checks a node for validity as a jQuery selector context
 * @param {Element|Object=} context
 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
 */
function testContext( context ) {
  return context && typeof context.getElementsByTagName !== "undefined" && context;
}

/**
 * Sets document-related variables once based on the current document
 * @param {Element|Object} [node] An element or document object to use to set the document
 * @returns {Object} Returns the current document
 */
function setDocument( node ) {
  var subWindow,
    doc = node ? node.ownerDocument || node : preferredDoc;

  // Return early if doc is invalid or already selected
  // Support: IE 11+, Edge 17 - 18+
  // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
  // two documents; shallow comparisons work.
  // eslint-disable-next-line eqeqeq
  if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
    return document;
  }

  // Update global variables
  document = doc;
  documentElement = document.documentElement;
  documentIsHTML = !jQuery.isXMLDoc( document );

  // Support: iOS 7 only, IE 9 - 11+
  // Older browsers didn't support unprefixed `matches`.
  matches = documentElement.matches ||
    documentElement.webkitMatchesSelector ||
    documentElement.msMatchesSelector;

  // Support: IE 9 - 11+, Edge 12 - 18+
  // Accessing iframe documents after unload throws "permission denied" errors (see trac-13936)
  // Support: IE 11+, Edge 17 - 18+
  // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
  // two documents; shallow comparisons work.
  // eslint-disable-next-line eqeqeq
  if ( preferredDoc != document &&
    ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {

    // Support: IE 9 - 11+, Edge 12 - 18+
    subWindow.addEventListener( "unload", unloadHandler );
  }

  // Support: IE <10
  // Check if getElementById returns elements by name
  // The broken getElementById methods don't pick up programmatically-set names,
  // so use a roundabout getElementsByName test
  support.getById = assert( function( el ) {
    documentElement.appendChild( el ).id = jQuery.expando;
    return !document.getElementsByName ||
      !document.getElementsByName( jQuery.expando ).length;
  } );

  // Support: IE 9 only
  // Check to see if it's possible to do matchesSelector
  // on a disconnected node.
  support.disconnectedMatch = assert( function( el ) {
    return matches.call( el, "*" );
  } );

  // Support: IE 9 - 11+, Edge 12 - 18+
  // IE/Edge don't support the :scope pseudo-class.
  support.scope = assert( function() {
    return document.querySelectorAll( ":scope" );
  } );

  // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only
  // Make sure the `:has()` argument is parsed unforgivingly.
  // We include `*` in the test to detect buggy implementations that are
  // _selectively_ forgiving (specifically when the list includes at least
  // one valid selector).
  // Note that we treat complete lack of support for `:has()` as if it were
  // spec-compliant support, which is fine because use of `:has()` in such
  // environments will fail in the qSA path and fall back to jQuery traversal
  // anyway.
  support.cssHas = assert( function() {
    try {
      document.querySelector( ":has(*,:jqfake)" );
      return false;
    } catch ( e ) {
      return true;
    }
  } );

  // ID filter and find
  if ( support.getById ) {
    Expr.filter.ID = function( id ) {
      var attrId = id.replace( runescape, funescape );
      return function( elem ) {
        return elem.getAttribute( "id" ) === attrId;
      };
    };
    Expr.find.ID = function( id, context ) {
      if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
        var elem = context.getElementById( id );
        return elem ? [ elem ] : [];
      }
    };
  } else {
    Expr.filter.ID =  function( id ) {
      var attrId = id.replace( runescape, funescape );
      return function( elem ) {
        var node = typeof elem.getAttributeNode !== "undefined" &&
          elem.getAttributeNode( "id" );
        return node && node.value === attrId;
      };
    };

    // Support: IE 6 - 7 only
    // getElementById is not reliable as a find shortcut
    Expr.find.ID = function( id, context ) {
      if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
        var node, i, elems,
          elem = context.getElementById( id );

        if ( elem ) {

          // Verify the id attribute
          node = elem.getAttributeNode( "id" );
          if ( node && node.value === id ) {
            return [ elem ];
          }

          // Fall back on getElementsByName
          elems = context.getElementsByName( id );
          i = 0;
          while ( ( elem = elems[ i++ ] ) ) {
            node = elem.getAttributeNode( "id" );
            if ( node && node.value === id ) {
              return [ elem ];
            }
          }
        }

        return [];
      }
    };
  }

  // Tag
  Expr.find.TAG = function( tag, context ) {
    if ( typeof context.getElementsByTagName !== "undefined" ) {
      return context.getElementsByTagName( tag );

    // DocumentFragment nodes don't have gEBTN
    } else {
      return context.querySelectorAll( tag );
    }
  };

  // Class
  Expr.find.CLASS = function( className, context ) {
    if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
      return context.getElementsByClassName( className );
    }
  };

  /* QSA/matchesSelector
  ---------------------------------------------------------------------- */

  // QSA and matchesSelector support

  rbuggyQSA = [];

  // Build QSA regex
  // Regex strategy adopted from Diego Perini
  assert( function( el ) {

    var input;

    documentElement.appendChild( el ).innerHTML =
      "<a id='" + expando + "' href='' disabled='disabled'></a>" +
      "<select id='" + expando + "-\r\\' disabled='disabled'>" +
      "<option selected=''></option></select>";

    // Support: iOS <=7 - 8 only
    // Boolean attributes and "value" are not treated correctly in some XML documents
    if ( !el.querySelectorAll( "[selected]" ).length ) {
      rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
    }

    // Support: iOS <=7 - 8 only
    if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
      rbuggyQSA.push( "~=" );
    }

    // Support: iOS 8 only
    // https://bugs.webkit.org/show_bug.cgi?id=136851
    // In-page `selector#id sibling-combinator selector` fails
    if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
      rbuggyQSA.push( ".#.+[+~]" );
    }

    // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
    // In some of the document kinds, these selectors wouldn't work natively.
    // This is probably OK but for backwards compatibility we want to maintain
    // handling them through jQuery traversal in jQuery 3.x.
    if ( !el.querySelectorAll( ":checked" ).length ) {
      rbuggyQSA.push( ":checked" );
    }

    // Support: Windows 8 Native Apps
    // The type and name attributes are restricted during .innerHTML assignment
    input = document.createElement( "input" );
    input.setAttribute( "type", "hidden" );
    el.appendChild( input ).setAttribute( "name", "D" );

    // Support: IE 9 - 11+
    // IE's :disabled selector does not pick up the children of disabled fieldsets
    // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+
    // In some of the document kinds, these selectors wouldn't work natively.
    // This is probably OK but for backwards compatibility we want to maintain
    // handling them through jQuery traversal in jQuery 3.x.
    documentElement.appendChild( el ).disabled = true;
    if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
      rbuggyQSA.push( ":enabled", ":disabled" );
    }

    // Support: IE 11+, Edge 15 - 18+
    // IE 11/Edge don't find elements on a `[name='']` query in some cases.
    // Adding a temporary attribute to the document before the selection works
    // around the issue.
    // Interestingly, IE 10 & older don't seem to have the issue.
    input = document.createElement( "input" );
    input.setAttribute( "name", "" );
    el.appendChild( input );
    if ( !el.querySelectorAll( "[name='']" ).length ) {
      rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
        whitespace + "*(?:''|\"\")" );
    }
  } );

  if ( !support.cssHas ) {

    // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
    // Our regular `try-catch` mechanism fails to detect natively-unsupported
    // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
    // in browsers that parse the `:has()` argument as a forgiving selector list.
    // https://drafts.csswg.org/selectors/#relational now requires the argument
    // to be parsed unforgivingly, but browsers have not yet fully adjusted.
    rbuggyQSA.push( ":has" );
  }

  rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );

  /* Sorting
  ---------------------------------------------------------------------- */

  // Document order sorting
  sortOrder = function( a, b ) {

    // Flag for duplicate removal
    if ( a === b ) {
      hasDuplicate = true;
      return 0;
    }

    // Sort on method existence if only one input has compareDocumentPosition
    var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
    if ( compare ) {
      return compare;
    }

    // Calculate position if both inputs belong to the same document
    // Support: IE 11+, Edge 17 - 18+
    // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
    // two documents; shallow comparisons work.
    // eslint-disable-next-line eqeqeq
    compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
      a.compareDocumentPosition( b ) :

      // Otherwise we know they are disconnected
      1;

    // Disconnected nodes
    if ( compare & 1 ||
      ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {

      // Choose the first element that is related to our preferred document
      // Support: IE 11+, Edge 17 - 18+
      // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
      // two documents; shallow comparisons work.
      // eslint-disable-next-line eqeqeq
      if ( a === document || a.ownerDocument == preferredDoc &&
        find.contains( preferredDoc, a ) ) {
        return -1;
      }

      // Support: IE 11+, Edge 17 - 18+
      // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
      // two documents; shallow comparisons work.
      // eslint-disable-next-line eqeqeq
      if ( b === document || b.ownerDocument == preferredDoc &&
        find.contains( preferredDoc, b ) ) {
        return 1;
      }

      // Maintain original order
      return sortInput ?
        ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
        0;
    }

    return compare & 4 ? -1 : 1;
  };

  return document;
}

find.matches = function( expr, elements ) {
  return find( expr, null, null, elements );
};

find.matchesSelector = function( elem, expr ) {
  setDocument( elem );

  if ( documentIsHTML &&
    !nonnativeSelectorCache[ expr + " " ] &&
    ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {

    try {
      var ret = matches.call( elem, expr );

      // IE 9's matchesSelector returns false on disconnected nodes
      if ( ret || support.disconnectedMatch ||

          // As well, disconnected nodes are said to be in a document
          // fragment in IE 9
          elem.document && elem.document.nodeType !== 11 ) {
        return ret;
      }
    } catch ( e ) {
      nonnativeSelectorCache( expr, true );
    }
  }

  return find( expr, document, null, [ elem ] ).length > 0;
};

find.contains = function( context, elem ) {

  // Set document vars if needed
  // Support: IE 11+, Edge 17 - 18+
  // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
  // two documents; shallow comparisons work.
  // eslint-disable-next-line eqeqeq
  if ( ( context.ownerDocument || context ) != document ) {
    setDocument( context );
  }
  return jQuery.contains( context, elem );
};


find.attr = function( elem, name ) {

  // Set document vars if needed
  // Support: IE 11+, Edge 17 - 18+
  // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
  // two documents; shallow comparisons work.
  // eslint-disable-next-line eqeqeq
  if ( ( elem.ownerDocument || elem ) != document ) {
    setDocument( elem );
  }

  var fn = Expr.attrHandle[ name.toLowerCase() ],

    // Don't get fooled by Object.prototype properties (see trac-13807)
    val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
      fn( elem, name, !documentIsHTML ) :
      undefined;

  if ( val !== undefined ) {
    return val;
  }

  return elem.getAttribute( name );
};

find.error = function( msg ) {
  throw new Error( "Syntax error, unrecognized expression: " + msg );
};

/**
 * Document sorting and removing duplicates
 * @param {ArrayLike} results
 */
jQuery.uniqueSort = function( results ) {
  var elem,
    duplicates = [],
    j = 0,
    i = 0;

  // Unless we *know* we can detect duplicates, assume their presence
  //
  // Support: Android <=4.0+
  // Testing for detecting duplicates is unpredictable so instead assume we can't
  // depend on duplicate detection in all browsers without a stable sort.
  hasDuplicate = !support.sortStable;
  sortInput = !support.sortStable && slice.call( results, 0 );
  sort.call( results, sortOrder );

  if ( hasDuplicate ) {
    while ( ( elem = results[ i++ ] ) ) {
      if ( elem === results[ i ] ) {
        j = duplicates.push( i );
      }
    }
    while ( j-- ) {
      splice.call( results, duplicates[ j ], 1 );
    }
  }

  // Clear input after sorting to release objects
  // See https://github.com/jquery/sizzle/pull/225
  sortInput = null;

  return results;
};

jQuery.fn.uniqueSort = function() {
  return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );
};

Expr = jQuery.expr = {

  // Can be adjusted by the user
  cacheLength: 50,

  createPseudo: markFunction,

  match: matchExpr,

  attrHandle: {},

  find: {},

  relative: {
    ">": { dir: "parentNode", first: true },
    " ": { dir: "parentNode" },
    "+": { dir: "previousSibling", first: true },
    "~": { dir: "previousSibling" }
  },

  preFilter: {
    ATTR: function( match ) {
      match[ 1 ] = match[ 1 ].replace( runescape, funescape );

      // Move the given value to match[3] whether quoted or unquoted
      match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" )
        .replace( runescape, funescape );

      if ( match[ 2 ] === "~=" ) {
        match[ 3 ] = " " + match[ 3 ] + " ";
      }

      return match.slice( 0, 4 );
    },

    CHILD: function( match ) {

      /* matches from matchExpr["CHILD"]
        1 type (only|nth|...)
        2 what (child|of-type)
        3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
        4 xn-component of xn+y argument ([+-]?\d*n|)
        5 sign of xn-component
        6 x of xn-component
        7 sign of y-component
        8 y of y-component
      */
      match[ 1 ] = match[ 1 ].toLowerCase();

      if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {

        // nth-* requires argument
        if ( !match[ 3 ] ) {
          find.error( match[ 0 ] );
        }

        // numeric x and y parameters for Expr.filter.CHILD
        // remember that false/true cast respectively to 0/1
        match[ 4 ] = +( match[ 4 ] ?
          match[ 5 ] + ( match[ 6 ] || 1 ) :
          2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" )
        );
        match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );

      // other types prohibit arguments
      } else if ( match[ 3 ] ) {
        find.error( match[ 0 ] );
      }

      return match;
    },

    PSEUDO: function( match ) {
      var excess,
        unquoted = !match[ 6 ] && match[ 2 ];

      if ( matchExpr.CHILD.test( match[ 0 ] ) ) {
        return null;
      }

      // Accept quoted arguments as-is
      if ( match[ 3 ] ) {
        match[ 2 ] = match[ 4 ] || match[ 5 ] || "";

      // Strip excess characters from unquoted arguments
      } else if ( unquoted && rpseudo.test( unquoted ) &&

        // Get excess from tokenize (recursively)
        ( excess = tokenize( unquoted, true ) ) &&

        // advance to the next closing parenthesis
        ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {

        // excess is a negative index
        match[ 0 ] = match[ 0 ].slice( 0, excess );
        match[ 2 ] = unquoted.slice( 0, excess );
      }

      // Return only captures needed by the pseudo filter method (type and argument)
      return match.slice( 0, 3 );
    }
  },

  filter: {

    TAG: function( nodeNameSelector ) {
      var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
      return nodeNameSelector === "*" ?
        function() {
          return true;
        } :
        function( elem ) {
          return nodeName( elem, expectedNodeName );
        };
    },

    CLASS: function( className ) {
      var pattern = classCache[ className + " " ];

      return pattern ||
        ( pattern = new RegExp( "(^|" + whitespace + ")" + className +
          "(" + whitespace + "|$)" ) ) &&
        classCache( className, function( elem ) {
          return pattern.test(
            typeof elem.className === "string" && elem.className ||
              typeof elem.getAttribute !== "undefined" &&
                elem.getAttribute( "class" ) ||
              ""
          );
        } );
    },

    ATTR: function( name, operator, check ) {
      return function( elem ) {
        var result = find.attr( elem, name );

        if ( result == null ) {
          return operator === "!=";
        }
        if ( !operator ) {
          return true;
        }

        result += "";

        if ( operator === "=" ) {
          return result === check;
        }
        if ( operator === "!=" ) {
          return result !== check;
        }
        if ( operator === "^=" ) {
          return check && result.indexOf( check ) === 0;
        }
        if ( operator === "*=" ) {
          return check && result.indexOf( check ) > -1;
        }
        if ( operator === "$=" ) {
          return check && result.slice( -check.length ) === check;
        }
        if ( operator === "~=" ) {
          return ( " " + result.replace( rwhitespace, " " ) + " " )
            .indexOf( check ) > -1;
        }
        if ( operator === "|=" ) {
          return result === check || result.slice( 0, check.length + 1 ) === check + "-";
        }

        return false;
      };
    },

    CHILD: function( type, what, _argument, first, last ) {
      var simple = type.slice( 0, 3 ) !== "nth",
        forward = type.slice( -4 ) !== "last",
        ofType = what === "of-type";

      return first === 1 && last === 0 ?

        // Shortcut for :nth-*(n)
        function( elem ) {
          return !!elem.parentNode;
        } :

        function( elem, _context, xml ) {
          var cache, outerCache, node, nodeIndex, start,
            dir = simple !== forward ? "nextSibling" : "previousSibling",
            parent = elem.parentNode,
            name = ofType && elem.nodeName.toLowerCase(),
            useCache = !xml && !ofType,
            diff = false;

          if ( parent ) {

            // :(first|last|only)-(child|of-type)
            if ( simple ) {
              while ( dir ) {
                node = elem;
                while ( ( node = node[ dir ] ) ) {
                  if ( ofType ?
                    nodeName( node, name ) :
                    node.nodeType === 1 ) {

                    return false;
                  }
                }

                // Reverse direction for :only-* (if we haven't yet done so)
                start = dir = type === "only" && !start && "nextSibling";
              }
              return true;
            }

            start = [ forward ? parent.firstChild : parent.lastChild ];

            // non-xml :nth-child(...) stores cache data on `parent`
            if ( forward && useCache ) {

              // Seek `elem` from a previously-cached index
              outerCache = parent[ expando ] || ( parent[ expando ] = {} );
              cache = outerCache[ type ] || [];
              nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
              diff = nodeIndex && cache[ 2 ];
              node = nodeIndex && parent.childNodes[ nodeIndex ];

              while ( ( node = ++nodeIndex && node && node[ dir ] ||

                // Fallback to seeking `elem` from the start
                ( diff = nodeIndex = 0 ) || start.pop() ) ) {

                // When found, cache indexes on `parent` and break
                if ( node.nodeType === 1 && ++diff && node === elem ) {
                  outerCache[ type ] = [ dirruns, nodeIndex, diff ];
                  break;
                }
              }

            } else {

              // Use previously-cached element index if available
              if ( useCache ) {
                outerCache = elem[ expando ] || ( elem[ expando ] = {} );
                cache = outerCache[ type ] || [];
                nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
                diff = nodeIndex;
              }

              // xml :nth-child(...)
              // or :nth-last-child(...) or :nth(-last)?-of-type(...)
              if ( diff === false ) {

                // Use the same loop as above to seek `elem` from the start
                while ( ( node = ++nodeIndex && node && node[ dir ] ||
                  ( diff = nodeIndex = 0 ) || start.pop() ) ) {

                  if ( ( ofType ?
                    nodeName( node, name ) :
                    node.nodeType === 1 ) &&
                    ++diff ) {

                    // Cache the index of each encountered element
                    if ( useCache ) {
                      outerCache = node[ expando ] ||
                        ( node[ expando ] = {} );
                      outerCache[ type ] = [ dirruns, diff ];
                    }

                    if ( node === elem ) {
                      break;
                    }
                  }
                }
              }
            }

            // Incorporate the offset, then check against cycle size
            diff -= last;
            return diff === first || ( diff % first === 0 && diff / first >= 0 );
          }
        };
    },

    PSEUDO: function( pseudo, argument ) {

      // pseudo-class names are case-insensitive
      // https://www.w3.org/TR/selectors/#pseudo-classes
      // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
      // Remember that setFilters inherits from pseudos
      var args,
        fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
          find.error( "unsupported pseudo: " + pseudo );

      // The user may use createPseudo to indicate that
      // arguments are needed to create the filter function
      // just as jQuery does
      if ( fn[ expando ] ) {
        return fn( argument );
      }

      // But maintain support for old signatures
      if ( fn.length > 1 ) {
        args = [ pseudo, pseudo, "", argument ];
        return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
          markFunction( function( seed, matches ) {
            var idx,
              matched = fn( seed, argument ),
              i = matched.length;
            while ( i-- ) {
              idx = indexOf.call( seed, matched[ i ] );
              seed[ idx ] = !( matches[ idx ] = matched[ i ] );
            }
          } ) :
          function( elem ) {
            return fn( elem, 0, args );
          };
      }

      return fn;
    }
  },

  pseudos: {

    // Potentially complex pseudos
    not: markFunction( function( selector ) {

      // Trim the selector passed to compile
      // to avoid treating leading and trailing
      // spaces as combinators
      var input = [],
        results = [],
        matcher = compile( selector.replace( rtrimCSS, "$1" ) );

      return matcher[ expando ] ?
        markFunction( function( seed, matches, _context, xml ) {
          var elem,
            unmatched = matcher( seed, null, xml, [] ),
            i = seed.length;

          // Match elements unmatched by `matcher`
          while ( i-- ) {
            if ( ( elem = unmatched[ i ] ) ) {
              seed[ i ] = !( matches[ i ] = elem );
            }
          }
        } ) :
        function( elem, _context, xml ) {
          input[ 0 ] = elem;
          matcher( input, null, xml, results );

          // Don't keep the element
          // (see https://github.com/jquery/sizzle/issues/299)
          input[ 0 ] = null;
          return !results.pop();
        };
    } ),

    has: markFunction( function( selector ) {
      return function( elem ) {
        return find( selector, elem ).length > 0;
      };
    } ),

    contains: markFunction( function( text ) {
      text = text.replace( runescape, funescape );
      return function( elem ) {
        return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;
      };
    } ),

    // "Whether an element is represented by a :lang() selector
    // is based solely on the element's language value
    // being equal to the identifier C,
    // or beginning with the identifier C immediately followed by "-".
    // The matching of C against the element's language value is performed case-insensitively.
    // The identifier C does not have to be a valid language name."
    // https://www.w3.org/TR/selectors/#lang-pseudo
    lang: markFunction( function( lang ) {

      // lang value must be a valid identifier
      if ( !ridentifier.test( lang || "" ) ) {
        find.error( "unsupported lang: " + lang );
      }
      lang = lang.replace( runescape, funescape ).toLowerCase();
      return function( elem ) {
        var elemLang;
        do {
          if ( ( elemLang = documentIsHTML ?
            elem.lang :
            elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {

            elemLang = elemLang.toLowerCase();
            return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
          }
        } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
        return false;
      };
    } ),

    // Miscellaneous
    target: function( elem ) {
      var hash = window.location && window.location.hash;
      return hash && hash.slice( 1 ) === elem.id;
    },

    root: function( elem ) {
      return elem === documentElement;
    },

    focus: function( elem ) {
      return elem === safeActiveElement() &&
        document.hasFocus() &&
        !!( elem.type || elem.href || ~elem.tabIndex );
    },

    // Boolean properties
    enabled: createDisabledPseudo( false ),
    disabled: createDisabledPseudo( true ),

    checked: function( elem ) {

      // In CSS3, :checked should return both checked and selected elements
      // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
      return ( nodeName( elem, "input" ) && !!elem.checked ) ||
        ( nodeName( elem, "option" ) && !!elem.selected );
    },

    selected: function( elem ) {

      // Support: IE <=11+
      // Accessing the selectedIndex property
      // forces the browser to treat the default option as
      // selected when in an optgroup.
      if ( elem.parentNode ) {
        // eslint-disable-next-line no-unused-expressions
        elem.parentNode.selectedIndex;
      }

      return elem.selected === true;
    },

    // Contents
    empty: function( elem ) {

      // https://www.w3.org/TR/selectors/#empty-pseudo
      // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
      //   but not by others (comment: 8; processing instruction: 7; etc.)
      // nodeType < 6 works because attributes (2) do not appear as children
      for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
        if ( elem.nodeType < 6 ) {
          return false;
        }
      }
      return true;
    },

    parent: function( elem ) {
      return !Expr.pseudos.empty( elem );
    },

    // Element/input types
    header: function( elem ) {
      return rheader.test( elem.nodeName );
    },

    input: function( elem ) {
      return rinputs.test( elem.nodeName );
    },

    button: function( elem ) {
      return nodeName( elem, "input" ) && elem.type === "button" ||
        nodeName( elem, "button" );
    },

    text: function( elem ) {
      var attr;
      return nodeName( elem, "input" ) && elem.type === "text" &&

        // Support: IE <10 only
        // New HTML5 attribute values (e.g., "search") appear
        // with elem.type === "text"
        ( ( attr = elem.getAttribute( "type" ) ) == null ||
          attr.toLowerCase() === "text" );
    },

    // Position-in-collection
    first: createPositionalPseudo( function() {
      return [ 0 ];
    } ),

    last: createPositionalPseudo( function( _matchIndexes, length ) {
      return [ length - 1 ];
    } ),

    eq: createPositionalPseudo( function( _matchIndexes, length, argument ) {
      return [ argument < 0 ? argument + length : argument ];
    } ),

    even: createPositionalPseudo( function( matchIndexes, length ) {
      var i = 0;
      for ( ; i < length; i += 2 ) {
        matchIndexes.push( i );
      }
      return matchIndexes;
    } ),

    odd: createPositionalPseudo( function( matchIndexes, length ) {
      var i = 1;
      for ( ; i < length; i += 2 ) {
        matchIndexes.push( i );
      }
      return matchIndexes;
    } ),

    lt: createPositionalPseudo( function( matchIndexes, length, argument ) {
      var i;

      if ( argument < 0 ) {
        i = argument + length;
      } else if ( argument > length ) {
        i = length;
      } else {
        i = argument;
      }

      for ( ; --i >= 0; ) {
        matchIndexes.push( i );
      }
      return matchIndexes;
    } ),

    gt: createPositionalPseudo( function( matchIndexes, length, argument ) {
      var i = argument < 0 ? argument + length : argument;
      for ( ; ++i < length; ) {
        matchIndexes.push( i );
      }
      return matchIndexes;
    } )
  }
};

Expr.pseudos.nth = Expr.pseudos.eq;

// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
  Expr.pseudos[ i ] = createInputPseudo( i );
}
for ( i in { submit: true, reset: true } ) {
  Expr.pseudos[ i ] = createButtonPseudo( i );
}

// Easy API for creating new setFilters
function setFilters() {}
setFilters.prototype = Expr.filters = Expr.pseudos;
Expr.setFilters = new setFilters();

function tokenize( selector, parseOnly ) {
  var matched, match, tokens, type,
    soFar, groups, preFilters,
    cached = tokenCache[ selector + " " ];

  if ( cached ) {
    return parseOnly ? 0 : cached.slice( 0 );
  }

  soFar = selector;
  groups = [];
  preFilters = Expr.preFilter;

  while ( soFar ) {

    // Comma and first run
    if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
      if ( match ) {

        // Don't consume trailing commas as valid
        soFar = soFar.slice( match[ 0 ].length ) || soFar;
      }
      groups.push( ( tokens = [] ) );
    }

    matched = false;

    // Combinators
    if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
      matched = match.shift();
      tokens.push( {
        value: matched,

        // Cast descendant combinators to space
        type: match[ 0 ].replace( rtrimCSS, " " )
      } );
      soFar = soFar.slice( matched.length );
    }

    // Filters
    for ( type in Expr.filter ) {
      if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
        ( match = preFilters[ type ]( match ) ) ) ) {
        matched = match.shift();
        tokens.push( {
          value: matched,
          type: type,
          matches: match
        } );
        soFar = soFar.slice( matched.length );
      }
    }

    if ( !matched ) {
      break;
    }
  }

  // Return the length of the invalid excess
  // if we're just parsing
  // Otherwise, throw an error or return tokens
  if ( parseOnly ) {
    return soFar.length;
  }

  return soFar ?
    find.error( selector ) :

    // Cache the tokens
    tokenCache( selector, groups ).slice( 0 );
}

function toSelector( tokens ) {
  var i = 0,
    len = tokens.length,
    selector = "";
  for ( ; i < len; i++ ) {
    selector += tokens[ i ].value;
  }
  return selector;
}

function addCombinator( matcher, combinator, base ) {
  var dir = combinator.dir,
    skip = combinator.next,
    key = skip || dir,
    checkNonElements = base && key === "parentNode",
    doneName = done++;

  return combinator.first ?

    // Check against closest ancestor/preceding element
    function( elem, context, xml ) {
      while ( ( elem = elem[ dir ] ) ) {
        if ( elem.nodeType === 1 || checkNonElements ) {
          return matcher( elem, context, xml );
        }
      }
      return false;
    } :

    // Check against all ancestor/preceding elements
    function( elem, context, xml ) {
      var oldCache, outerCache,
        newCache = [ dirruns, doneName ];

      // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
      if ( xml ) {
        while ( ( elem = elem[ dir ] ) ) {
          if ( elem.nodeType === 1 || checkNonElements ) {
            if ( matcher( elem, context, xml ) ) {
              return true;
            }
          }
        }
      } else {
        while ( ( elem = elem[ dir ] ) ) {
          if ( elem.nodeType === 1 || checkNonElements ) {
            outerCache = elem[ expando ] || ( elem[ expando ] = {} );

            if ( skip && nodeName( elem, skip ) ) {
              elem = elem[ dir ] || elem;
            } else if ( ( oldCache = outerCache[ key ] ) &&
              oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {

              // Assign to newCache so results back-propagate to previous elements
              return ( newCache[ 2 ] = oldCache[ 2 ] );
            } else {

              // Reuse newcache so results back-propagate to previous elements
              outerCache[ key ] = newCache;

              // A match means we're done; a fail means we have to keep checking
              if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
                return true;
              }
            }
          }
        }
      }
      return false;
    };
}

function elementMatcher( matchers ) {
  return matchers.length > 1 ?
    function( elem, context, xml ) {
      var i = matchers.length;
      while ( i-- ) {
        if ( !matchers[ i ]( elem, context, xml ) ) {
          return false;
        }
      }
      return true;
    } :
    matchers[ 0 ];
}

function multipleContexts( selector, contexts, results ) {
  var i = 0,
    len = contexts.length;
  for ( ; i < len; i++ ) {
    find( selector, contexts[ i ], results );
  }
  return results;
}

function condense( unmatched, map, filter, context, xml ) {
  var elem,
    newUnmatched = [],
    i = 0,
    len = unmatched.length,
    mapped = map != null;

  for ( ; i < len; i++ ) {
    if ( ( elem = unmatched[ i ] ) ) {
      if ( !filter || filter( elem, context, xml ) ) {
        newUnmatched.push( elem );
        if ( mapped ) {
          map.push( i );
        }
      }
    }
  }

  return newUnmatched;
}

function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
  if ( postFilter && !postFilter[ expando ] ) {
    postFilter = setMatcher( postFilter );
  }
  if ( postFinder && !postFinder[ expando ] ) {
    postFinder = setMatcher( postFinder, postSelector );
  }
  return markFunction( function( seed, results, context, xml ) {
    var temp, i, elem, matcherOut,
      preMap = [],
      postMap = [],
      preexisting = results.length,

      // Get initial elements from seed or context
      elems = seed ||
        multipleContexts( selector || "*",
          context.nodeType ? [ context ] : context, [] ),

      // Prefilter to get matcher input, preserving a map for seed-results synchronization
      matcherIn = preFilter && ( seed || !selector ) ?
        condense( elems, preMap, preFilter, context, xml ) :
        elems;

    if ( matcher ) {

      // If we have a postFinder, or filtered seed, or non-seed postFilter
      // or preexisting results,
      matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?

        // ...intermediate processing is necessary
        [] :

        // ...otherwise use results directly
        results;

      // Find primary matches
      matcher( matcherIn, matcherOut, context, xml );
    } else {
      matcherOut = matcherIn;
    }

    // Apply postFilter
    if ( postFilter ) {
      temp = condense( matcherOut, postMap );
      postFilter( temp, [], context, xml );

      // Un-match failing elements by moving them back to matcherIn
      i = temp.length;
      while ( i-- ) {
        if ( ( elem = temp[ i ] ) ) {
          matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
        }
      }
    }

    if ( seed ) {
      if ( postFinder || preFilter ) {
        if ( postFinder ) {

          // Get the final matcherOut by condensing this intermediate into postFinder contexts
          temp = [];
          i = matcherOut.length;
          while ( i-- ) {
            if ( ( elem = matcherOut[ i ] ) ) {

              // Restore matcherIn since elem is not yet a final match
              temp.push( ( matcherIn[ i ] = elem ) );
            }
          }
          postFinder( null, ( matcherOut = [] ), temp, xml );
        }

        // Move matched elements from seed to results to keep them synchronized
        i = matcherOut.length;
        while ( i-- ) {
          if ( ( elem = matcherOut[ i ] ) &&
            ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {

            seed[ temp ] = !( results[ temp ] = elem );
          }
        }
      }

    // Add elements to results, through postFinder if defined
    } else {
      matcherOut = condense(
        matcherOut === results ?
          matcherOut.splice( preexisting, matcherOut.length ) :
          matcherOut
      );
      if ( postFinder ) {
        postFinder( null, results, matcherOut, xml );
      } else {
        push.apply( results, matcherOut );
      }
    }
  } );
}

function matcherFromTokens( tokens ) {
  var checkContext, matcher, j,
    len = tokens.length,
    leadingRelative = Expr.relative[ tokens[ 0 ].type ],
    implicitRelative = leadingRelative || Expr.relative[ " " ],
    i = leadingRelative ? 1 : 0,

    // The foundational matcher ensures that elements are reachable from top-level context(s)
    matchContext = addCombinator( function( elem ) {
      return elem === checkContext;
    }, implicitRelative, true ),
    matchAnyContext = addCombinator( function( elem ) {
      return indexOf.call( checkContext, elem ) > -1;
    }, implicitRelative, true ),
    matchers = [ function( elem, context, xml ) {

      // Support: IE 11+, Edge 17 - 18+
      // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
      // two documents; shallow comparisons work.
      // eslint-disable-next-line eqeqeq
      var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (
        ( checkContext = context ).nodeType ?
          matchContext( elem, context, xml ) :
          matchAnyContext( elem, context, xml ) );

      // Avoid hanging onto element
      // (see https://github.com/jquery/sizzle/issues/299)
      checkContext = null;
      return ret;
    } ];

  for ( ; i < len; i++ ) {
    if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
      matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
    } else {
      matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );

      // Return special upon seeing a positional matcher
      if ( matcher[ expando ] ) {

        // Find the next relative operator (if any) for proper handling
        j = ++i;
        for ( ; j < len; j++ ) {
          if ( Expr.relative[ tokens[ j ].type ] ) {
            break;
          }
        }
        return setMatcher(
          i > 1 && elementMatcher( matchers ),
          i > 1 && toSelector(

            // If the preceding token was a descendant combinator, insert an implicit any-element `*`
            tokens.slice( 0, i - 1 )
              .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
          ).replace( rtrimCSS, "$1" ),
          matcher,
          i < j && matcherFromTokens( tokens.slice( i, j ) ),
          j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
          j < len && toSelector( tokens )
        );
      }
      matchers.push( matcher );
    }
  }

  return elementMatcher( matchers );
}

function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
  var bySet = setMatchers.length > 0,
    byElement = elementMatchers.length > 0,
    superMatcher = function( seed, context, xml, results, outermost ) {
      var elem, j, matcher,
        matchedCount = 0,
        i = "0",
        unmatched = seed && [],
        setMatched = [],
        contextBackup = outermostContext,

        // We must always have either seed elements or outermost context
        elems = seed || byElement && Expr.find.TAG( "*", outermost ),

        // Use integer dirruns iff this is the outermost matcher
        dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
        len = elems.length;

      if ( outermost ) {

        // Support: IE 11+, Edge 17 - 18+
        // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
        // two documents; shallow comparisons work.
        // eslint-disable-next-line eqeqeq
        outermostContext = context == document || context || outermost;
      }

      // Add elements passing elementMatchers directly to results
      // Support: iOS <=7 - 9 only
      // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching
      // elements by id. (see trac-14142)
      for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
        if ( byElement && elem ) {
          j = 0;

          // Support: IE 11+, Edge 17 - 18+
          // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
          // two documents; shallow comparisons work.
          // eslint-disable-next-line eqeqeq
          if ( !context && elem.ownerDocument != document ) {
            setDocument( elem );
            xml = !documentIsHTML;
          }
          while ( ( matcher = elementMatchers[ j++ ] ) ) {
            if ( matcher( elem, context || document, xml ) ) {
              push.call( results, elem );
              break;
            }
          }
          if ( outermost ) {
            dirruns = dirrunsUnique;
          }
        }

        // Track unmatched elements for set filters
        if ( bySet ) {

          // They will have gone through all possible matchers
          if ( ( elem = !matcher && elem ) ) {
            matchedCount--;
          }

          // Lengthen the array for every element, matched or not
          if ( seed ) {
            unmatched.push( elem );
          }
        }
      }

      // `i` is now the count of elements visited above, and adding it to `matchedCount`
      // makes the latter nonnegative.
      matchedCount += i;

      // Apply set filters to unmatched elements
      // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
      // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
      // no element matchers and no seed.
      // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
      // case, which will result in a "00" `matchedCount` that differs from `i` but is also
      // numerically zero.
      if ( bySet && i !== matchedCount ) {
        j = 0;
        while ( ( matcher = setMatchers[ j++ ] ) ) {
          matcher( unmatched, setMatched, context, xml );
        }

        if ( seed ) {

          // Reintegrate element matches to eliminate the need for sorting
          if ( matchedCount > 0 ) {
            while ( i-- ) {
              if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
                setMatched[ i ] = pop.call( results );
              }
            }
          }

          // Discard index placeholder values to get only actual matches
          setMatched = condense( setMatched );
        }

        // Add matches to results
        push.apply( results, setMatched );

        // Seedless set matches succeeding multiple successful matchers stipulate sorting
        if ( outermost && !seed && setMatched.length > 0 &&
          ( matchedCount + setMatchers.length ) > 1 ) {

          jQuery.uniqueSort( results );
        }
      }

      // Override manipulation of globals by nested matchers
      if ( outermost ) {
        dirruns = dirrunsUnique;
        outermostContext = contextBackup;
      }

      return unmatched;
    };

  return bySet ?
    markFunction( superMatcher ) :
    superMatcher;
}

function compile( selector, match /* Internal Use Only */ ) {
  var i,
    setMatchers = [],
    elementMatchers = [],
    cached = compilerCache[ selector + " " ];

  if ( !cached ) {

    // Generate a function of recursive functions that can be used to check each element
    if ( !match ) {
      match = tokenize( selector );
    }
    i = match.length;
    while ( i-- ) {
      cached = matcherFromTokens( match[ i ] );
      if ( cached[ expando ] ) {
        setMatchers.push( cached );
      } else {
        elementMatchers.push( cached );
      }
    }

    // Cache the compiled function
    cached = compilerCache( selector,
      matcherFromGroupMatchers( elementMatchers, setMatchers ) );

    // Save selector and tokenization
    cached.selector = selector;
  }
  return cached;
}

/**
 * A low-level selection function that works with jQuery's compiled
 *  selector functions
 * @param {String|Function} selector A selector or a pre-compiled
 *  selector function built with jQuery selector compile
 * @param {Element} context
 * @param {Array} [results]
 * @param {Array} [seed] A set of elements to match against
 */
function select( selector, context, results, seed ) {
  var i, tokens, token, type, find,
    compiled = typeof selector === "function" && selector,
    match = !seed && tokenize( ( selector = compiled.selector || selector ) );

  results = results || [];

  // Try to minimize operations if there is only one selector in the list and no seed
  // (the latter of which guarantees us context)
  if ( match.length === 1 ) {

    // Reduce context if the leading compound selector is an ID
    tokens = match[ 0 ] = match[ 0 ].slice( 0 );
    if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
        context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {

      context = ( Expr.find.ID(
        token.matches[ 0 ].replace( runescape, funescape ),
        context
      ) || [] )[ 0 ];
      if ( !context ) {
        return results;

      // Precompiled matchers will still verify ancestry, so step up a level
      } else if ( compiled ) {
        context = context.parentNode;
      }

      selector = selector.slice( tokens.shift().value.length );
    }

    // Fetch a seed set for right-to-left matching
    i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;
    while ( i-- ) {
      token = tokens[ i ];

      // Abort if we hit a combinator
      if ( Expr.relative[ ( type = token.type ) ] ) {
        break;
      }
      if ( ( find = Expr.find[ type ] ) ) {

        // Search, expanding context for leading sibling combinators
        if ( ( seed = find(
          token.matches[ 0 ].replace( runescape, funescape ),
          rsibling.test( tokens[ 0 ].type ) &&
            testContext( context.parentNode ) || context
        ) ) ) {

          // If seed is empty or no tokens remain, we can return early
          tokens.splice( i, 1 );
          selector = seed.length && toSelector( tokens );
          if ( !selector ) {
            push.apply( results, seed );
            return results;
          }

          break;
        }
      }
    }
  }

  // Compile and execute a filtering function if one is not provided
  // Provide `match` to avoid retokenization if we modified the selector above
  ( compiled || compile( selector, match ) )(
    seed,
    context,
    !documentIsHTML,
    results,
    !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
  );
  return results;
}

// One-time assignments

// Support: Android <=4.0 - 4.1+
// Sort stability
support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;

// Initialize against the default document
setDocument();

// Support: Android <=4.0 - 4.1+
// Detached nodes confoundingly follow *each other*
support.sortDetached = assert( function( el ) {

  // Should return 1, but returns 4 (following)
  return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
} );

jQuery.find = find;

// Deprecated
jQuery.expr[ ":" ] = jQuery.expr.pseudos;
jQuery.unique = jQuery.uniqueSort;

// These have always been private, but they used to be documented
// as part of Sizzle so let's maintain them in the 3.x line
// for backwards compatibility purposes.
find.compile = compile;
find.select = select;
find.setDocument = setDocument;

find.escape = jQuery.escapeSelector;
find.getText = jQuery.text;
find.isXML = jQuery.isXMLDoc;
find.selectors = jQuery.expr;
find.support = jQuery.support;
find.uniqueSort = jQuery.uniqueSort;

  /* eslint-enable */

} )();


var dir = function( elem, dir, until ) {
  var matched = [],
    truncate = until !== undefined;

  while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
    if ( elem.nodeType === 1 ) {
      if ( truncate && jQuery( elem ).is( until ) ) {
        break;
      }
      matched.push( elem );
    }
  }
  return matched;
};


var siblings = function( n, elem ) {
  var matched = [];

  for ( ; n; n = n.nextSibling ) {
    if ( n.nodeType === 1 && n !== elem ) {
      matched.push( n );
    }
  }

  return matched;
};


var rneedsContext = jQuery.expr.match.needsContext;

var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );



// Implement the identical functionality for filter and not
function winnow( elements, qualifier, not ) {
  if ( isFunction( qualifier ) ) {
    return jQuery.grep( elements, function( elem, i ) {
      return !!qualifier.call( elem, i, elem ) !== not;
    } );
  }

  // Single element
  if ( qualifier.nodeType ) {
    return jQuery.grep( elements, function( elem ) {
      return ( elem === qualifier ) !== not;
    } );
  }

  // Arraylike of elements (jQuery, arguments, Array)
  if ( typeof qualifier !== "string" ) {
    return jQuery.grep( elements, function( elem ) {
      return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
    } );
  }

  // Filtered directly for both simple and complex selectors
  return jQuery.filter( qualifier, elements, not );
}

jQuery.filter = function( expr, elems, not ) {
  var elem = elems[ 0 ];

  if ( not ) {
    expr = ":not(" + expr + ")";
  }

  if ( elems.length === 1 && elem.nodeType === 1 ) {
    return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
  }

  return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
    return elem.nodeType === 1;
  } ) );
};

jQuery.fn.extend( {
  find: function( selector ) {
    var i, ret,
      len = this.length,
      self = this;

    if ( typeof selector !== "string" ) {
      return this.pushStack( jQuery( selector ).filter( function() {
        for ( i = 0; i < len; i++ ) {
          if ( jQuery.contains( self[ i ], this ) ) {
            return true;
          }
        }
      } ) );
    }

    ret = this.pushStack( [] );

    for ( i = 0; i < len; i++ ) {
      jQuery.find( selector, self[ i ], ret );
    }

    return len > 1 ? jQuery.uniqueSort( ret ) : ret;
  },
  filter: function( selector ) {
    return this.pushStack( winnow( this, selector || [], false ) );
  },
  not: function( selector ) {
    return this.pushStack( winnow( this, selector || [], true ) );
  },
  is: function( selector ) {
    return !!winnow(
      this,

      // If this is a positional/relative selector, check membership in the returned set
      // so $("p:first").is("p:last") won't return true for a doc with two "p".
      typeof selector === "string" && rneedsContext.test( selector ) ?
        jQuery( selector ) :
        selector || [],
      false
    ).length;
  }
} );


// Initialize a jQuery object


// A central reference to the root jQuery(document)
var rootjQuery,

  // A simple way to check for HTML strings
  // Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
  // Strict HTML recognition (trac-11290: must start with <)
  // Shortcut simple #id case for speed
  rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,

  init = jQuery.fn.init = function( selector, context, root ) {
    var match, elem;

    // HANDLE: $(""), $(null), $(undefined), $(false)
    if ( !selector ) {
      return this;
    }

    // Method init() accepts an alternate rootjQuery
    // so migrate can support jQuery.sub (gh-2101)
    root = root || rootjQuery;

    // Handle HTML strings
    if ( typeof selector === "string" ) {
      if ( selector[ 0 ] === "<" &&
        selector[ selector.length - 1 ] === ">" &&
        selector.length >= 3 ) {

        // Assume that strings that start and end with <> are HTML and skip the regex check
        match = [ null, selector, null ];

      } else {
        match = rquickExpr.exec( selector );
      }

      // Match html or make sure no context is specified for #id
      if ( match && ( match[ 1 ] || !context ) ) {

        // HANDLE: $(html) -> $(array)
        if ( match[ 1 ] ) {
          context = context instanceof jQuery ? context[ 0 ] : context;

          // Option to run scripts is true for back-compat
          // Intentionally let the error be thrown if parseHTML is not present
          jQuery.merge( this, jQuery.parseHTML(
            match[ 1 ],
            context && context.nodeType ? context.ownerDocument || context : document,
            true
          ) );

          // HANDLE: $(html, props)
          if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
            for ( match in context ) {

              // Properties of context are called as methods if possible
              if ( isFunction( this[ match ] ) ) {
                this[ match ]( context[ match ] );

              // ...and otherwise set as attributes
              } else {
                this.attr( match, context[ match ] );
              }
            }
          }

          return this;

        // HANDLE: $(#id)
        } else {
          elem = document.getElementById( match[ 2 ] );

          if ( elem ) {

            // Inject the element directly into the jQuery object
            this[ 0 ] = elem;
            this.length = 1;
          }
          return this;
        }

      // HANDLE: $(expr, $(...))
      } else if ( !context || context.jquery ) {
        return ( context || root ).find( selector );

      // HANDLE: $(expr, context)
      // (which is just equivalent to: $(context).find(expr)
      } else {
        return this.constructor( context ).find( selector );
      }

    // HANDLE: $(DOMElement)
    } else if ( selector.nodeType ) {
      this[ 0 ] = selector;
      this.length = 1;
      return this;

    // HANDLE: $(function)
    // Shortcut for document ready
    } else if ( isFunction( selector ) ) {
      return root.ready !== undefined ?
        root.ready( selector ) :

        // Execute immediately if ready is not present
        selector( jQuery );
    }

    return jQuery.makeArray( selector, this );
  };

// Give the init function the jQuery prototype for later instantiation
init.prototype = jQuery.fn;

// Initialize central reference
rootjQuery = jQuery( document );


var rparentsprev = /^(?:parents|prev(?:Until|All))/,

  // Methods guaranteed to produce a unique set when starting from a unique set
  guaranteedUnique = {
    children: true,
    contents: true,
    next: true,
    prev: true
  };

jQuery.fn.extend( {
  has: function( target ) {
    var targets = jQuery( target, this ),
      l = targets.length;

    return this.filter( function() {
      var i = 0;
      for ( ; i < l; i++ ) {
        if ( jQuery.contains( this, targets[ i ] ) ) {
          return true;
        }
      }
    } );
  },

  closest: function( selectors, context ) {
    var cur,
      i = 0,
      l = this.length,
      matched = [],
      targets = typeof selectors !== "string" && jQuery( selectors );

    // Positional selectors never match, since there's no _selection_ context
    if ( !rneedsContext.test( selectors ) ) {
      for ( ; i < l; i++ ) {
        for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {

          // Always skip document fragments
          if ( cur.nodeType < 11 && ( targets ?
            targets.index( cur ) > -1 :

            // Don't pass non-elements to jQuery#find
            cur.nodeType === 1 &&
              jQuery.find.matchesSelector( cur, selectors ) ) ) {

            matched.push( cur );
            break;
          }
        }
      }
    }

    return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
  },

  // Determine the position of an element within the set
  index: function( elem ) {

    // No argument, return index in parent
    if ( !elem ) {
      return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
    }

    // Index in selector
    if ( typeof elem === "string" ) {
      return indexOf.call( jQuery( elem ), this[ 0 ] );
    }

    // Locate the position of the desired element
    return indexOf.call( this,

      // If it receives a jQuery object, the first element is used
      elem.jquery ? elem[ 0 ] : elem
    );
  },

  add: function( selector, context ) {
    return this.pushStack(
      jQuery.uniqueSort(
        jQuery.merge( this.get(), jQuery( selector, context ) )
      )
    );
  },

  addBack: function( selector ) {
    return this.add( selector == null ?
      this.prevObject : this.prevObject.filter( selector )
    );
  }
} );

function sibling( cur, dir ) {
  while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
  return cur;
}

jQuery.each( {
  parent: function( elem ) {
    var parent = elem.parentNode;
    return parent && parent.nodeType !== 11 ? parent : null;
  },
  parents: function( elem ) {
    return dir( elem, "parentNode" );
  },
  parentsUntil: function( elem, _i, until ) {
    return dir( elem, "parentNode", until );
  },
  next: function( elem ) {
    return sibling( elem, "nextSibling" );
  },
  prev: function( elem ) {
    return sibling( elem, "previousSibling" );
  },
  nextAll: function( elem ) {
    return dir( elem, "nextSibling" );
  },
  prevAll: function( elem ) {
    return dir( elem, "previousSibling" );
  },
  nextUntil: function( elem, _i, until ) {
    return dir( elem, "nextSibling", until );
  },
  prevUntil: function( elem, _i, until ) {
    return dir( elem, "previousSibling", until );
  },
  siblings: function( elem ) {
    return siblings( ( elem.parentNode || {} ).firstChild, elem );
  },
  children: function( elem ) {
    return siblings( elem.firstChild );
  },
  contents: function( elem ) {
    if ( elem.contentDocument != null &&

      // Support: IE 11+
      // <object> elements with no `data` attribute has an object
      // `contentDocument` with a `null` prototype.
      getProto( elem.contentDocument ) ) {

      return elem.contentDocument;
    }

    // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
    // Treat the template element as a regular one in browsers that
    // don't support it.
    if ( nodeName( elem, "template" ) ) {
      elem = elem.content || elem;
    }

    return jQuery.merge( [], elem.childNodes );
  }
}, function( name, fn ) {
  jQuery.fn[ name ] = function( until, selector ) {
    var matched = jQuery.map( this, fn, until );

    if ( name.slice( -5 ) !== "Until" ) {
      selector = until;
    }

    if ( selector && typeof selector === "string" ) {
      matched = jQuery.filter( selector, matched );
    }

    if ( this.length > 1 ) {

      // Remove duplicates
      if ( !guaranteedUnique[ name ] ) {
        jQuery.uniqueSort( matched );
      }

      // Reverse order for parents* and prev-derivatives
      if ( rparentsprev.test( name ) ) {
        matched.reverse();
      }
    }

    return this.pushStack( matched );
  };
} );
var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );



// Convert String-formatted options into Object-formatted ones
function createOptions( options ) {
  var object = {};
  jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
    object[ flag ] = true;
  } );
  return object;
}

/*
 * Create a callback list using the following parameters:
 *
 *  options: an optional list of space-separated options that will change how
 *      the callback list behaves or a more traditional option object
 *
 * By default a callback list will act like an event callback list and can be
 * "fired" multiple times.
 *
 * Possible options:
 *
 *  once:      will ensure the callback list can only be fired once (like a Deferred)
 *
 *  memory:      will keep track of previous values and will call any callback added
 *          after the list has been fired right away with the latest "memorized"
 *          values (like a Deferred)
 *
 *  unique:      will ensure a callback can only be added once (no duplicate in the list)
 *
 *  stopOnFalse:  interrupt callings when a callback returns false
 *
 */
jQuery.Callbacks = function( options ) {

  // Convert options from String-formatted to Object-formatted if needed
  // (we check in cache first)
  options = typeof options === "string" ?
    createOptions( options ) :
    jQuery.extend( {}, options );

  var // Flag to know if list is currently firing
    firing,

    // Last fire value for non-forgettable lists
    memory,

    // Flag to know if list was already fired
    fired,

    // Flag to prevent firing
    locked,

    // Actual callback list
    list = [],

    // Queue of execution data for repeatable lists
    queue = [],

    // Index of currently firing callback (modified by add/remove as needed)
    firingIndex = -1,

    // Fire callbacks
    fire = function() {

      // Enforce single-firing
      locked = locked || options.once;

      // Execute callbacks for all pending executions,
      // respecting firingIndex overrides and runtime changes
      fired = firing = true;
      for ( ; queue.length; firingIndex = -1 ) {
        memory = queue.shift();
        while ( ++firingIndex < list.length ) {

          // Run callback and check for early termination
          if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
            options.stopOnFalse ) {

            // Jump to end and forget the data so .add doesn't re-fire
            firingIndex = list.length;
            memory = false;
          }
        }
      }

      // Forget the data if we're done with it
      if ( !options.memory ) {
        memory = false;
      }

      firing = false;

      // Clean up if we're done firing for good
      if ( locked ) {

        // Keep an empty list if we have data for future add calls
        if ( memory ) {
          list = [];

        // Otherwise, this object is spent
        } else {
          list = "";
        }
      }
    },

    // Actual Callbacks object
    self = {

      // Add a callback or a collection of callbacks to the list
      add: function() {
        if ( list ) {

          // If we have memory from a past run, we should fire after adding
          if ( memory && !firing ) {
            firingIndex = list.length - 1;
            queue.push( memory );
          }

          ( function add( args ) {
            jQuery.each( args, function( _, arg ) {
              if ( isFunction( arg ) ) {
                if ( !options.unique || !self.has( arg ) ) {
                  list.push( arg );
                }
              } else if ( arg && arg.length && toType( arg ) !== "string" ) {

                // Inspect recursively
                add( arg );
              }
            } );
          } )( arguments );

          if ( memory && !firing ) {
            fire();
          }
        }
        return this;
      },

      // Remove a callback from the list
      remove: function() {
        jQuery.each( arguments, function( _, arg ) {
          var index;
          while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
            list.splice( index, 1 );

            // Handle firing indexes
            if ( index <= firingIndex ) {
              firingIndex--;
            }
          }
        } );
        return this;
      },

      // Check if a given callback is in the list.
      // If no argument is given, return whether or not list has callbacks attached.
      has: function( fn ) {
        return fn ?
          jQuery.inArray( fn, list ) > -1 :
          list.length > 0;
      },

      // Remove all callbacks from the list
      empty: function() {
        if ( list ) {
          list = [];
        }
        return this;
      },

      // Disable .fire and .add
      // Abort any current/pending executions
      // Clear all callbacks and values
      disable: function() {
        locked = queue = [];
        list = memory = "";
        return this;
      },
      disabled: function() {
        return !list;
      },

      // Disable .fire
      // Also disable .add unless we have memory (since it would have no effect)
      // Abort any pending executions
      lock: function() {
        locked = queue = [];
        if ( !memory && !firing ) {
          list = memory = "";
        }
        return this;
      },
      locked: function() {
        return !!locked;
      },

      // Call all callbacks with the given context and arguments
      fireWith: function( context, args ) {
        if ( !locked ) {
          args = args || [];
          args = [ context, args.slice ? args.slice() : args ];
          queue.push( args );
          if ( !firing ) {
            fire();
          }
        }
        return this;
      },

      // Call all the callbacks with the given arguments
      fire: function() {
        self.fireWith( this, arguments );
        return this;
      },

      // To know if the callbacks have already been called at least once
      fired: function() {
        return !!fired;
      }
    };

  return self;
};


function Identity( v ) {
  return v;
}
function Thrower( ex ) {
  throw ex;
}

function adoptValue( value, resolve, reject, noValue ) {
  var method;

  try {

    // Check for promise aspect first to privilege synchronous behavior
    if ( value && isFunction( ( method = value.promise ) ) ) {
      method.call( value ).done( resolve ).fail( reject );

    // Other thenables
    } else if ( value && isFunction( ( method = value.then ) ) ) {
      method.call( value, resolve, reject );

    // Other non-thenables
    } else {

      // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
      // * false: [ value ].slice( 0 ) => resolve( value )
      // * true: [ value ].slice( 1 ) => resolve()
      resolve.apply( undefined, [ value ].slice( noValue ) );
    }

  // For Promises/A+, convert exceptions into rejections
  // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
  // Deferred#then to conditionally suppress rejection.
  } catch ( value ) {

    // Support: Android 4.0 only
    // Strict mode functions invoked without .call/.apply get global-object context
    reject.apply( undefined, [ value ] );
  }
}

jQuery.extend( {

  Deferred: function( func ) {
    var tuples = [

        // action, add listener, callbacks,
        // ... .then handlers, argument index, [final state]
        [ "notify", "progress", jQuery.Callbacks( "memory" ),
          jQuery.Callbacks( "memory" ), 2 ],
        [ "resolve", "done", jQuery.Callbacks( "once memory" ),
          jQuery.Callbacks( "once memory" ), 0, "resolved" ],
        [ "reject", "fail", jQuery.Callbacks( "once memory" ),
          jQuery.Callbacks( "once memory" ), 1, "rejected" ]
      ],
      state = "pending",
      promise = {
        state: function() {
          return state;
        },
        always: function() {
          deferred.done( arguments ).fail( arguments );
          return this;
        },
        "catch": function( fn ) {
          return promise.then( null, fn );
        },

        // Keep pipe for back-compat
        pipe: function( /* fnDone, fnFail, fnProgress */ ) {
          var fns = arguments;

          return jQuery.Deferred( function( newDefer ) {
            jQuery.each( tuples, function( _i, tuple ) {

              // Map tuples (progress, done, fail) to arguments (done, fail, progress)
              var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];

              // deferred.progress(function() { bind to newDefer or newDefer.notify })
              // deferred.done(function() { bind to newDefer or newDefer.resolve })
              // deferred.fail(function() { bind to newDefer or newDefer.reject })
              deferred[ tuple[ 1 ] ]( function() {
                var returned = fn && fn.apply( this, arguments );
                if ( returned && isFunction( returned.promise ) ) {
                  returned.promise()
                    .progress( newDefer.notify )
                    .done( newDefer.resolve )
                    .fail( newDefer.reject );
                } else {
                  newDefer[ tuple[ 0 ] + "With" ](
                    this,
                    fn ? [ returned ] : arguments
                  );
                }
              } );
            } );
            fns = null;
          } ).promise();
        },
        then: function( onFulfilled, onRejected, onProgress ) {
          var maxDepth = 0;
          function resolve( depth, deferred, handler, special ) {
            return function() {
              var that = this,
                args = arguments,
                mightThrow = function() {
                  var returned, then;

                  // Support: Promises/A+ section 2.3.3.3.3
                  // https://promisesaplus.com/#point-59
                  // Ignore double-resolution attempts
                  if ( depth < maxDepth ) {
                    return;
                  }

                  returned = handler.apply( that, args );

                  // Support: Promises/A+ section 2.3.1
                  // https://promisesaplus.com/#point-48
                  if ( returned === deferred.promise() ) {
                    throw new TypeError( "Thenable self-resolution" );
                  }

                  // Support: Promises/A+ sections 2.3.3.1, 3.5
                  // https://promisesaplus.com/#point-54
                  // https://promisesaplus.com/#point-75
                  // Retrieve `then` only once
                  then = returned &&

                    // Support: Promises/A+ section 2.3.4
                    // https://promisesaplus.com/#point-64
                    // Only check objects and functions for thenability
                    ( typeof returned === "object" ||
                      typeof returned === "function" ) &&
                    returned.then;

                  // Handle a returned thenable
                  if ( isFunction( then ) ) {

                    // Special processors (notify) just wait for resolution
                    if ( special ) {
                      then.call(
                        returned,
                        resolve( maxDepth, deferred, Identity, special ),
                        resolve( maxDepth, deferred, Thrower, special )
                      );

                    // Normal processors (resolve) also hook into progress
                    } else {

                      // ...and disregard older resolution values
                      maxDepth++;

                      then.call(
                        returned,
                        resolve( maxDepth, deferred, Identity, special ),
                        resolve( maxDepth, deferred, Thrower, special ),
                        resolve( maxDepth, deferred, Identity,
                          deferred.notifyWith )
                      );
                    }

                  // Handle all other returned values
                  } else {

                    // Only substitute handlers pass on context
                    // and multiple values (non-spec behavior)
                    if ( handler !== Identity ) {
                      that = undefined;
                      args = [ returned ];
                    }

                    // Process the value(s)
                    // Default process is resolve
                    ( special || deferred.resolveWith )( that, args );
                  }
                },

                // Only normal processors (resolve) catch and reject exceptions
                process = special ?
                  mightThrow :
                  function() {
                    try {
                      mightThrow();
                    } catch ( e ) {

                      if ( jQuery.Deferred.exceptionHook ) {
                        jQuery.Deferred.exceptionHook( e,
                          process.error );
                      }

                      // Support: Promises/A+ section 2.3.3.3.4.1
                      // https://promisesaplus.com/#point-61
                      // Ignore post-resolution exceptions
                      if ( depth + 1 >= maxDepth ) {

                        // Only substitute handlers pass on context
                        // and multiple values (non-spec behavior)
                        if ( handler !== Thrower ) {
                          that = undefined;
                          args = [ e ];
                        }

                        deferred.rejectWith( that, args );
                      }
                    }
                  };

              // Support: Promises/A+ section 2.3.3.3.1
              // https://promisesaplus.com/#point-57
              // Re-resolve promises immediately to dodge false rejection from
              // subsequent errors
              if ( depth ) {
                process();
              } else {

                // Call an optional hook to record the error, in case of exception
                // since it's otherwise lost when execution goes async
                if ( jQuery.Deferred.getErrorHook ) {
                  process.error = jQuery.Deferred.getErrorHook();

                // The deprecated alias of the above. While the name suggests
                // returning the stack, not an error instance, jQuery just passes
                // it directly to `console.warn` so both will work; an instance
                // just better cooperates with source maps.
                } else if ( jQuery.Deferred.getStackHook ) {
                  process.error = jQuery.Deferred.getStackHook();
                }
                window.setTimeout( process );
              }
            };
          }

          return jQuery.Deferred( function( newDefer ) {

            // progress_handlers.add( ... )
            tuples[ 0 ][ 3 ].add(
              resolve(
                0,
                newDefer,
                isFunction( onProgress ) ?
                  onProgress :
                  Identity,
                newDefer.notifyWith
              )
            );

            // fulfilled_handlers.add( ... )
            tuples[ 1 ][ 3 ].add(
              resolve(
                0,
                newDefer,
                isFunction( onFulfilled ) ?
                  onFulfilled :
                  Identity
              )
            );

            // rejected_handlers.add( ... )
            tuples[ 2 ][ 3 ].add(
              resolve(
                0,
                newDefer,
                isFunction( onRejected ) ?
                  onRejected :
                  Thrower
              )
            );
          } ).promise();
        },

        // Get a promise for this deferred
        // If obj is provided, the promise aspect is added to the object
        promise: function( obj ) {
          return obj != null ? jQuery.extend( obj, promise ) : promise;
        }
      },
      deferred = {};

    // Add list-specific methods
    jQuery.each( tuples, function( i, tuple ) {
      var list = tuple[ 2 ],
        stateString = tuple[ 5 ];

      // promise.progress = list.add
      // promise.done = list.add
      // promise.fail = list.add
      promise[ tuple[ 1 ] ] = list.add;

      // Handle state
      if ( stateString ) {
        list.add(
          function() {

            // state = "resolved" (i.e., fulfilled)
            // state = "rejected"
            state = stateString;
          },

          // rejected_callbacks.disable
          // fulfilled_callbacks.disable
          tuples[ 3 - i ][ 2 ].disable,

          // rejected_handlers.disable
          // fulfilled_handlers.disable
          tuples[ 3 - i ][ 3 ].disable,

          // progress_callbacks.lock
          tuples[ 0 ][ 2 ].lock,

          // progress_handlers.lock
          tuples[ 0 ][ 3 ].lock
        );
      }

      // progress_handlers.fire
      // fulfilled_handlers.fire
      // rejected_handlers.fire
      list.add( tuple[ 3 ].fire );

      // deferred.notify = function() { deferred.notifyWith(...) }
      // deferred.resolve = function() { deferred.resolveWith(...) }
      // deferred.reject = function() { deferred.rejectWith(...) }
      deferred[ tuple[ 0 ] ] = function() {
        deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
        return this;
      };

      // deferred.notifyWith = list.fireWith
      // deferred.resolveWith = list.fireWith
      // deferred.rejectWith = list.fireWith
      deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
    } );

    // Make the deferred a promise
    promise.promise( deferred );

    // Call given func if any
    if ( func ) {
      func.call( deferred, deferred );
    }

    // All done!
    return deferred;
  },

  // Deferred helper
  when: function( singleValue ) {
    var

      // count of uncompleted subordinates
      remaining = arguments.length,

      // count of unprocessed arguments
      i = remaining,

      // subordinate fulfillment data
      resolveContexts = Array( i ),
      resolveValues = slice.call( arguments ),

      // the primary Deferred
      primary = jQuery.Deferred(),

      // subordinate callback factory
      updateFunc = function( i ) {
        return function( value ) {
          resolveContexts[ i ] = this;
          resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
          if ( !( --remaining ) ) {
            primary.resolveWith( resolveContexts, resolveValues );
          }
        };
      };

    // Single- and empty arguments are adopted like Promise.resolve
    if ( remaining <= 1 ) {
      adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
        !remaining );

      // Use .then() to unwrap secondary thenables (cf. gh-3000)
      if ( primary.state() === "pending" ||
        isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {

        return primary.then();
      }
    }

    // Multiple arguments are aggregated like Promise.all array elements
    while ( i-- ) {
      adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
    }

    return primary.promise();
  }
} );


// These usually indicate a programmer mistake during development,
// warn about them ASAP rather than swallowing them by default.
var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;

// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error
// captured before the async barrier to get the original error cause
// which may otherwise be hidden.
jQuery.Deferred.exceptionHook = function( error, asyncError ) {

  // Support: IE 8 - 9 only
  // Console exists when dev tools are open, which can happen at any time
  if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
    window.console.warn( "jQuery.Deferred exception: " + error.message,
      error.stack, asyncError );
  }
};




jQuery.readyException = function( error ) {
  window.setTimeout( function() {
    throw error;
  } );
};




// The deferred used on DOM ready
var readyList = jQuery.Deferred();

jQuery.fn.ready = function( fn ) {

  readyList
    .then( fn )

    // Wrap jQuery.readyException in a function so that the lookup
    // happens at the time of error handling instead of callback
    // registration.
    .catch( function( error ) {
      jQuery.readyException( error );
    } );

  return this;
};

jQuery.extend( {

  // Is the DOM ready to be used? Set to true once it occurs.
  isReady: false,

  // A counter to track how many items to wait for before
  // the ready event fires. See trac-6781
  readyWait: 1,

  // Handle when the DOM is ready
  ready: function( wait ) {

    // Abort if there are pending holds or we're already ready
    if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
      return;
    }

    // Remember that the DOM is ready
    jQuery.isReady = true;

    // If a normal DOM Ready event fired, decrement, and wait if need be
    if ( wait !== true && --jQuery.readyWait > 0 ) {
      return;
    }

    // If there are functions bound, to execute
    readyList.resolveWith( document, [ jQuery ] );
  }
} );

jQuery.ready.then = readyList.then;

// The ready event handler and self cleanup method
function completed() {
  document.removeEventListener( "DOMContentLoaded", completed );
  window.removeEventListener( "load", completed );
  jQuery.ready();
}

// Catch cases where $(document).ready() is called
// after the browser event has already occurred.
// Support: IE <=9 - 10 only
// Older IE sometimes signals "interactive" too soon
if ( document.readyState === "complete" ||
  ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {

  // Handle it asynchronously to allow scripts the opportunity to delay ready
  window.setTimeout( jQuery.ready );

} else {

  // Use the handy event callback
  document.addEventListener( "DOMContentLoaded", completed );

  // A fallback to window.onload, that will always work
  window.addEventListener( "load", completed );
}




// Multifunctional method to get and set values of a collection
// The value/s can optionally be executed if it's a function
var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
  var i = 0,
    len = elems.length,
    bulk = key == null;

  // Sets many values
  if ( toType( key ) === "object" ) {
    chainable = true;
    for ( i in key ) {
      access( elems, fn, i, key[ i ], true, emptyGet, raw );
    }

  // Sets one value
  } else if ( value !== undefined ) {
    chainable = true;

    if ( !isFunction( value ) ) {
      raw = true;
    }

    if ( bulk ) {

      // Bulk operations run against the entire set
      if ( raw ) {
        fn.call( elems, value );
        fn = null;

      // ...except when executing function values
      } else {
        bulk = fn;
        fn = function( elem, _key, value ) {
          return bulk.call( jQuery( elem ), value );
        };
      }
    }

    if ( fn ) {
      for ( ; i < len; i++ ) {
        fn(
          elems[ i ], key, raw ?
            value :
            value.call( elems[ i ], i, fn( elems[ i ], key ) )
        );
      }
    }
  }

  if ( chainable ) {
    return elems;
  }

  // Gets
  if ( bulk ) {
    return fn.call( elems );
  }

  return len ? fn( elems[ 0 ], key ) : emptyGet;
};


// Matches dashed string for camelizing
var rmsPrefix = /^-ms-/,
  rdashAlpha = /-([a-z])/g;

// Used by camelCase as callback to replace()
function fcamelCase( _all, letter ) {
  return letter.toUpperCase();
}

// Convert dashed to camelCase; used by the css and data modules
// Support: IE <=9 - 11, Edge 12 - 15
// Microsoft forgot to hump their vendor prefix (trac-9572)
function camelCase( string ) {
  return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
}
var acceptData = function( owner ) {

  // Accepts only:
  //  - Node
  //    - Node.ELEMENT_NODE
  //    - Node.DOCUMENT_NODE
  //  - Object
  //    - Any
  return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
};




function Data() {
  this.expando = jQuery.expando + Data.uid++;
}

Data.uid = 1;

Data.prototype = {

  cache: function( owner ) {

    // Check if the owner object already has a cache
    var value = owner[ this.expando ];

    // If not, create one
    if ( !value ) {
      value = {};

      // We can accept data for non-element nodes in modern browsers,
      // but we should not, see trac-8335.
      // Always return an empty object.
      if ( acceptData( owner ) ) {

        // If it is a node unlikely to be stringify-ed or looped over
        // use plain assignment
        if ( owner.nodeType ) {
          owner[ this.expando ] = value;

        // Otherwise secure it in a non-enumerable property
        // configurable must be true to allow the property to be
        // deleted when data is removed
        } else {
          Object.defineProperty( owner, this.expando, {
            value: value,
            configurable: true
          } );
        }
      }
    }

    return value;
  },
  set: function( owner, data, value ) {
    var prop,
      cache = this.cache( owner );

    // Handle: [ owner, key, value ] args
    // Always use camelCase key (gh-2257)
    if ( typeof data === "string" ) {
      cache[ camelCase( data ) ] = value;

    // Handle: [ owner, { properties } ] args
    } else {

      // Copy the properties one-by-one to the cache object
      for ( prop in data ) {
        cache[ camelCase( prop ) ] = data[ prop ];
      }
    }
    return cache;
  },
  get: function( owner, key ) {
    return key === undefined ?
      this.cache( owner ) :

      // Always use camelCase key (gh-2257)
      owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
  },
  access: function( owner, key, value ) {

    // In cases where either:
    //
    //   1. No key was specified
    //   2. A string key was specified, but no value provided
    //
    // Take the "read" path and allow the get method to determine
    // which value to return, respectively either:
    //
    //   1. The entire cache object
    //   2. The data stored at the key
    //
    if ( key === undefined ||
        ( ( key && typeof key === "string" ) && value === undefined ) ) {

      return this.get( owner, key );
    }

    // When the key is not a string, or both a key and value
    // are specified, set or extend (existing objects) with either:
    //
    //   1. An object of properties
    //   2. A key and value
    //
    this.set( owner, key, value );

    // Since the "set" path can have two possible entry points
    // return the expected data based on which path was taken[*]
    return value !== undefined ? value : key;
  },
  remove: function( owner, key ) {
    var i,
      cache = owner[ this.expando ];

    if ( cache === undefined ) {
      return;
    }

    if ( key !== undefined ) {

      // Support array or space separated string of keys
      if ( Array.isArray( key ) ) {

        // If key is an array of keys...
        // We always set camelCase keys, so remove that.
        key = key.map( camelCase );
      } else {
        key = camelCase( key );

        // If a key with the spaces exists, use it.
        // Otherwise, create an array by matching non-whitespace
        key = key in cache ?
          [ key ] :
          ( key.match( rnothtmlwhite ) || [] );
      }

      i = key.length;

      while ( i-- ) {
        delete cache[ key[ i ] ];
      }
    }

    // Remove the expando if there's no more data
    if ( key === undefined || jQuery.isEmptyObject( cache ) ) {

      // Support: Chrome <=35 - 45
      // Webkit & Blink performance suffers when deleting properties
      // from DOM nodes, so set to undefined instead
      // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
      if ( owner.nodeType ) {
        owner[ this.expando ] = undefined;
      } else {
        delete owner[ this.expando ];
      }
    }
  },
  hasData: function( owner ) {
    var cache = owner[ this.expando ];
    return cache !== undefined && !jQuery.isEmptyObject( cache );
  }
};
var dataPriv = new Data();

var dataUser = new Data();



//  Implementation Summary
//
//  1. Enforce API surface and semantic compatibility with 1.9.x branch
//  2. Improve the module's maintainability by reducing the storage
//    paths to a single mechanism.
//  3. Use the same single mechanism to support "private" and "user" data.
//  4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
//  5. Avoid exposing implementation details on user objects (eg. expando properties)
//  6. Provide a clear path for implementation upgrade to WeakMap in 2014

var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
  rmultiDash = /[A-Z]/g;

function getData( data ) {
  if ( data === "true" ) {
    return true;
  }

  if ( data === "false" ) {
    return false;
  }

  if ( data === "null" ) {
    return null;
  }

  // Only convert to a number if it doesn't change the string
  if ( data === +data + "" ) {
    return +data;
  }

  if ( rbrace.test( data ) ) {
    return JSON.parse( data );
  }

  return data;
}

function dataAttr( elem, key, data ) {
  var name;

  // If nothing was found internally, try to fetch any
  // data from the HTML5 data-* attribute
  if ( data === undefined && elem.nodeType === 1 ) {
    name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
    data = elem.getAttribute( name );

    if ( typeof data === "string" ) {
      try {
        data = getData( data );
      } catch ( e ) {}

      // Make sure we set the data so it isn't changed later
      dataUser.set( elem, key, data );
    } else {
      data = undefined;
    }
  }
  return data;
}

jQuery.extend( {
  hasData: function( elem ) {
    return dataUser.hasData( elem ) || dataPriv.hasData( elem );
  },

  data: function( elem, name, data ) {
    return dataUser.access( elem, name, data );
  },

  removeData: function( elem, name ) {
    dataUser.remove( elem, name );
  },

  // TODO: Now that all calls to _data and _removeData have been replaced
  // with direct calls to dataPriv methods, these can be deprecated.
  _data: function( elem, name, data ) {
    return dataPriv.access( elem, name, data );
  },

  _removeData: function( elem, name ) {
    dataPriv.remove( elem, name );
  }
} );

jQuery.fn.extend( {
  data: function( key, value ) {
    var i, name, data,
      elem = this[ 0 ],
      attrs = elem && elem.attributes;

    // Gets all values
    if ( key === undefined ) {
      if ( this.length ) {
        data = dataUser.get( elem );

        if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
          i = attrs.length;
          while ( i-- ) {

            // Support: IE 11 only
            // The attrs elements can be null (trac-14894)
            if ( attrs[ i ] ) {
              name = attrs[ i ].name;
              if ( name.indexOf( "data-" ) === 0 ) {
                name = camelCase( name.slice( 5 ) );
                dataAttr( elem, name, data[ name ] );
              }
            }
          }
          dataPriv.set( elem, "hasDataAttrs", true );
        }
      }

      return data;
    }

    // Sets multiple values
    if ( typeof key === "object" ) {
      return this.each( function() {
        dataUser.set( this, key );
      } );
    }

    return access( this, function( value ) {
      var data;

      // The calling jQuery object (element matches) is not empty
      // (and therefore has an element appears at this[ 0 ]) and the
      // `value` parameter was not undefined. An empty jQuery object
      // will result in `undefined` for elem = this[ 0 ] which will
      // throw an exception if an attempt to read a data cache is made.
      if ( elem && value === undefined ) {

        // Attempt to get data from the cache
        // The key will always be camelCased in Data
        data = dataUser.get( elem, key );
        if ( data !== undefined ) {
          return data;
        }

        // Attempt to "discover" the data in
        // HTML5 custom data-* attrs
        data = dataAttr( elem, key );
        if ( data !== undefined ) {
          return data;
        }

        // We tried really hard, but the data doesn't exist.
        return;
      }

      // Set the data...
      this.each( function() {

        // We always store the camelCased key
        dataUser.set( this, key, value );
      } );
    }, null, value, arguments.length > 1, null, true );
  },

  removeData: function( key ) {
    return this.each( function() {
      dataUser.remove( this, key );
    } );
  }
} );


jQuery.extend( {
  queue: function( elem, type, data ) {
    var queue;

    if ( elem ) {
      type = ( type || "fx" ) + "queue";
      queue = dataPriv.get( elem, type );

      // Speed up dequeue by getting out quickly if this is just a lookup
      if ( data ) {
        if ( !queue || Array.isArray( data ) ) {
          queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
        } else {
          queue.push( data );
        }
      }
      return queue || [];
    }
  },

  dequeue: function( elem, type ) {
    type = type || "fx";

    var queue = jQuery.queue( elem, type ),
      startLength = queue.length,
      fn = queue.shift(),
      hooks = jQuery._queueHooks( elem, type ),
      next = function() {
        jQuery.dequeue( elem, type );
      };

    // If the fx queue is dequeued, always remove the progress sentinel
    if ( fn === "inprogress" ) {
      fn = queue.shift();
      startLength--;
    }

    if ( fn ) {

      // Add a progress sentinel to prevent the fx queue from being
      // automatically dequeued
      if ( type === "fx" ) {
        queue.unshift( "inprogress" );
      }

      // Clear up the last queue stop function
      delete hooks.stop;
      fn.call( elem, next, hooks );
    }

    if ( !startLength && hooks ) {
      hooks.empty.fire();
    }
  },

  // Not public - generate a queueHooks object, or return the current one
  _queueHooks: function( elem, type ) {
    var key = type + "queueHooks";
    return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
      empty: jQuery.Callbacks( "once memory" ).add( function() {
        dataPriv.remove( elem, [ type + "queue", key ] );
      } )
    } );
  }
} );

jQuery.fn.extend( {
  queue: function( type, data ) {
    var setter = 2;

    if ( typeof type !== "string" ) {
      data = type;
      type = "fx";
      setter--;
    }

    if ( arguments.length < setter ) {
      return jQuery.queue( this[ 0 ], type );
    }

    return data === undefined ?
      this :
      this.each( function() {
        var queue = jQuery.queue( this, type, data );

        // Ensure a hooks for this queue
        jQuery._queueHooks( this, type );

        if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
          jQuery.dequeue( this, type );
        }
      } );
  },
  dequeue: function( type ) {
    return this.each( function() {
      jQuery.dequeue( this, type );
    } );
  },
  clearQueue: function( type ) {
    return this.queue( type || "fx", [] );
  },

  // Get a promise resolved when queues of a certain type
  // are emptied (fx is the type by default)
  promise: function( type, obj ) {
    var tmp,
      count = 1,
      defer = jQuery.Deferred(),
      elements = this,
      i = this.length,
      resolve = function() {
        if ( !( --count ) ) {
          defer.resolveWith( elements, [ elements ] );
        }
      };

    if ( typeof type !== "string" ) {
      obj = type;
      type = undefined;
    }
    type = type || "fx";

    while ( i-- ) {
      tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
      if ( tmp && tmp.empty ) {
        count++;
        tmp.empty.add( resolve );
      }
    }
    resolve();
    return defer.promise( obj );
  }
} );
var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;

var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );


var cssExpand = [ "Top", "Right", "Bottom", "Left" ];

var documentElement = document.documentElement;



  var isAttached = function( elem ) {
      return jQuery.contains( elem.ownerDocument, elem );
    },
    composed = { composed: true };

  // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
  // Check attachment across shadow DOM boundaries when possible (gh-3504)
  // Support: iOS 10.0-10.2 only
  // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
  // leading to errors. We need to check for `getRootNode`.
  if ( documentElement.getRootNode ) {
    isAttached = function( elem ) {
      return jQuery.contains( elem.ownerDocument, elem ) ||
        elem.getRootNode( composed ) === elem.ownerDocument;
    };
  }
var isHiddenWithinTree = function( elem, el ) {

    // isHiddenWithinTree might be called from jQuery#filter function;
    // in that case, element will be second argument
    elem = el || elem;

    // Inline style trumps all
    return elem.style.display === "none" ||
      elem.style.display === "" &&

      // Otherwise, check computed style
      // Support: Firefox <=43 - 45
      // Disconnected elements can have computed display: none, so first confirm that elem is
      // in the document.
      isAttached( elem ) &&

      jQuery.css( elem, "display" ) === "none";
  };



function adjustCSS( elem, prop, valueParts, tween ) {
  var adjusted, scale,
    maxIterations = 20,
    currentValue = tween ?
      function() {
        return tween.cur();
      } :
      function() {
        return jQuery.css( elem, prop, "" );
      },
    initial = currentValue(),
    unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),

    // Starting value computation is required for potential unit mismatches
    initialInUnit = elem.nodeType &&
      ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
      rcssNum.exec( jQuery.css( elem, prop ) );

  if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {

    // Support: Firefox <=54
    // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
    initial = initial / 2;

    // Trust units reported by jQuery.css
    unit = unit || initialInUnit[ 3 ];

    // Iteratively approximate from a nonzero starting point
    initialInUnit = +initial || 1;

    while ( maxIterations-- ) {

      // Evaluate and update our best guess (doubling guesses that zero out).
      // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
      jQuery.style( elem, prop, initialInUnit + unit );
      if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
        maxIterations = 0;
      }
      initialInUnit = initialInUnit / scale;

    }

    initialInUnit = initialInUnit * 2;
    jQuery.style( elem, prop, initialInUnit + unit );

    // Make sure we update the tween properties later on
    valueParts = valueParts || [];
  }

  if ( valueParts ) {
    initialInUnit = +initialInUnit || +initial || 0;

    // Apply relative offset (+=/-=) if specified
    adjusted = valueParts[ 1 ] ?
      initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
      +valueParts[ 2 ];
    if ( tween ) {
      tween.unit = unit;
      tween.start = initialInUnit;
      tween.end = adjusted;
    }
  }
  return adjusted;
}


var defaultDisplayMap = {};

function getDefaultDisplay( elem ) {
  var temp,
    doc = elem.ownerDocument,
    nodeName = elem.nodeName,
    display = defaultDisplayMap[ nodeName ];

  if ( display ) {
    return display;
  }

  temp = doc.body.appendChild( doc.createElement( nodeName ) );
  display = jQuery.css( temp, "display" );

  temp.parentNode.removeChild( temp );

  if ( display === "none" ) {
    display = "block";
  }
  defaultDisplayMap[ nodeName ] = display;

  return display;
}

function showHide( elements, show ) {
  var display, elem,
    values = [],
    index = 0,
    length = elements.length;

  // Determine new display value for elements that need to change
  for ( ; index < length; index++ ) {
    elem = elements[ index ];
    if ( !elem.style ) {
      continue;
    }

    display = elem.style.display;
    if ( show ) {

      // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
      // check is required in this first loop unless we have a nonempty display value (either
      // inline or about-to-be-restored)
      if ( display === "none" ) {
        values[ index ] = dataPriv.get( elem, "display" ) || null;
        if ( !values[ index ] ) {
          elem.style.display = "";
        }
      }
      if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
        values[ index ] = getDefaultDisplay( elem );
      }
    } else {
      if ( display !== "none" ) {
        values[ index ] = "none";

        // Remember what we're overwriting
        dataPriv.set( elem, "display", display );
      }
    }
  }

  // Set the display of the elements in a second loop to avoid constant reflow
  for ( index = 0; index < length; index++ ) {
    if ( values[ index ] != null ) {
      elements[ index ].style.display = values[ index ];
    }
  }

  return elements;
}

jQuery.fn.extend( {
  show: function() {
    return showHide( this, true );
  },
  hide: function() {
    return showHide( this );
  },
  toggle: function( state ) {
    if ( typeof state === "boolean" ) {
      return state ? this.show() : this.hide();
    }

    return this.each( function() {
      if ( isHiddenWithinTree( this ) ) {
        jQuery( this ).show();
      } else {
        jQuery( this ).hide();
      }
    } );
  }
} );
var rcheckableType = ( /^(?:checkbox|radio)$/i );

var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );

var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );



( function() {
  var fragment = document.createDocumentFragment(),
    div = fragment.appendChild( document.createElement( "div" ) ),
    input = document.createElement( "input" );

  // Support: Android 4.0 - 4.3 only
  // Check state lost if the name is set (trac-11217)
  // Support: Windows Web Apps (WWA)
  // `name` and `type` must use .setAttribute for WWA (trac-14901)
  input.setAttribute( "type", "radio" );
  input.setAttribute( "checked", "checked" );
  input.setAttribute( "name", "t" );

  div.appendChild( input );

  // Support: Android <=4.1 only
  // Older WebKit doesn't clone checked state correctly in fragments
  support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;

  // Support: IE <=11 only
  // Make sure textarea (and checkbox) defaultValue is properly cloned
  div.innerHTML = "<textarea>x</textarea>";
  support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;

  // Support: IE <=9 only
  // IE <=9 replaces <option> tags with their contents when inserted outside of
  // the select element.
  div.innerHTML = "<option></option>";
  support.option = !!div.lastChild;
} )();


// We have to close these tags to support XHTML (trac-13200)
var wrapMap = {

  // XHTML parsers do not magically insert elements in the
  // same way that tag soup parsers do. So we cannot shorten
  // this by omitting <tbody> or other required elements.
  thead: [ 1, "<table>", "</table>" ],
  col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
  tr: [ 2, "<table><tbody>", "</tbody></table>" ],
  td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],

  _default: [ 0, "", "" ]
};

wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;

// Support: IE <=9 only
if ( !support.option ) {
  wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
}


function getAll( context, tag ) {

  // Support: IE <=9 - 11 only
  // Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
  var ret;

  if ( typeof context.getElementsByTagName !== "undefined" ) {
    ret = context.getElementsByTagName( tag || "*" );

  } else if ( typeof context.querySelectorAll !== "undefined" ) {
    ret = context.querySelectorAll( tag || "*" );

  } else {
    ret = [];
  }

  if ( tag === undefined || tag && nodeName( context, tag ) ) {
    return jQuery.merge( [ context ], ret );
  }

  return ret;
}


// Mark scripts as having already been evaluated
function setGlobalEval( elems, refElements ) {
  var i = 0,
    l = elems.length;

  for ( ; i < l; i++ ) {
    dataPriv.set(
      elems[ i ],
      "globalEval",
      !refElements || dataPriv.get( refElements[ i ], "globalEval" )
    );
  }
}


var rhtml = /<|&#?\w+;/;

function buildFragment( elems, context, scripts, selection, ignored ) {
  var elem, tmp, tag, wrap, attached, j,
    fragment = context.createDocumentFragment(),
    nodes = [],
    i = 0,
    l = elems.length;

  for ( ; i < l; i++ ) {
    elem = elems[ i ];

    if ( elem || elem === 0 ) {

      // Add nodes directly
      if ( toType( elem ) === "object" ) {

        // Support: Android <=4.0 only, PhantomJS 1 only
        // push.apply(_, arraylike) throws on ancient WebKit
        jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );

      // Convert non-html into a text node
      } else if ( !rhtml.test( elem ) ) {
        nodes.push( context.createTextNode( elem ) );

      // Convert html into DOM nodes
      } else {
        tmp = tmp || fragment.appendChild( context.createElement( "div" ) );

        // Deserialize a standard representation
        tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
        wrap = wrapMap[ tag ] || wrapMap._default;
        tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];

        // Descend through wrappers to the right content
        j = wrap[ 0 ];
        while ( j-- ) {
          tmp = tmp.lastChild;
        }

        // Support: Android <=4.0 only, PhantomJS 1 only
        // push.apply(_, arraylike) throws on ancient WebKit
        jQuery.merge( nodes, tmp.childNodes );

        // Remember the top-level container
        tmp = fragment.firstChild;

        // Ensure the created nodes are orphaned (trac-12392)
        tmp.textContent = "";
      }
    }
  }

  // Remove wrapper from fragment
  fragment.textContent = "";

  i = 0;
  while ( ( elem = nodes[ i++ ] ) ) {

    // Skip elements already in the context collection (trac-4087)
    if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
      if ( ignored ) {
        ignored.push( elem );
      }
      continue;
    }

    attached = isAttached( elem );

    // Append to fragment
    tmp = getAll( fragment.appendChild( elem ), "script" );

    // Preserve script evaluation history
    if ( attached ) {
      setGlobalEval( tmp );
    }

    // Capture executables
    if ( scripts ) {
      j = 0;
      while ( ( elem = tmp[ j++ ] ) ) {
        if ( rscriptType.test( elem.type || "" ) ) {
          scripts.push( elem );
        }
      }
    }
  }

  return fragment;
}


var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;

function returnTrue() {
  return true;
}

function returnFalse() {
  return false;
}

function on( elem, types, selector, data, fn, one ) {
  var origFn, type;

  // Types can be a map of types/handlers
  if ( typeof types === "object" ) {

    // ( types-Object, selector, data )
    if ( typeof selector !== "string" ) {

      // ( types-Object, data )
      data = data || selector;
      selector = undefined;
    }
    for ( type in types ) {
      on( elem, type, selector, data, types[ type ], one );
    }
    return elem;
  }

  if ( data == null && fn == null ) {

    // ( types, fn )
    fn = selector;
    data = selector = undefined;
  } else if ( fn == null ) {
    if ( typeof selector === "string" ) {

      // ( types, selector, fn )
      fn = data;
      data = undefined;
    } else {

      // ( types, data, fn )
      fn = data;
      data = selector;
      selector = undefined;
    }
  }
  if ( fn === false ) {
    fn = returnFalse;
  } else if ( !fn ) {
    return elem;
  }

  if ( one === 1 ) {
    origFn = fn;
    fn = function( event ) {

      // Can use an empty set, since event contains the info
      jQuery().off( event );
      return origFn.apply( this, arguments );
    };

    // Use same guid so caller can remove using origFn
    fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
  }
  return elem.each( function() {
    jQuery.event.add( this, types, fn, data, selector );
  } );
}

/*
 * Helper functions for managing events -- not part of the public interface.
 * Props to Dean Edwards' addEvent library for many of the ideas.
 */
jQuery.event = {

  global: {},

  add: function( elem, types, handler, data, selector ) {

    var handleObjIn, eventHandle, tmp,
      events, t, handleObj,
      special, handlers, type, namespaces, origType,
      elemData = dataPriv.get( elem );

    // Only attach events to objects that accept data
    if ( !acceptData( elem ) ) {
      return;
    }

    // Caller can pass in an object of custom data in lieu of the handler
    if ( handler.handler ) {
      handleObjIn = handler;
      handler = handleObjIn.handler;
      selector = handleObjIn.selector;
    }

    // Ensure that invalid selectors throw exceptions at attach time
    // Evaluate against documentElement in case elem is a non-element node (e.g., document)
    if ( selector ) {
      jQuery.find.matchesSelector( documentElement, selector );
    }

    // Make sure that the handler has a unique ID, used to find/remove it later
    if ( !handler.guid ) {
      handler.guid = jQuery.guid++;
    }

    // Init the element's event structure and main handler, if this is the first
    if ( !( events = elemData.events ) ) {
      events = elemData.events = Object.create( null );
    }
    if ( !( eventHandle = elemData.handle ) ) {
      eventHandle = elemData.handle = function( e ) {

        // Discard the second event of a jQuery.event.trigger() and
        // when an event is called after a page has unloaded
        return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
          jQuery.event.dispatch.apply( elem, arguments ) : undefined;
      };
    }

    // Handle multiple events separated by a space
    types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
    t = types.length;
    while ( t-- ) {
      tmp = rtypenamespace.exec( types[ t ] ) || [];
      type = origType = tmp[ 1 ];
      namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();

      // There *must* be a type, no attaching namespace-only handlers
      if ( !type ) {
        continue;
      }

      // If event changes its type, use the special event handlers for the changed type
      special = jQuery.event.special[ type ] || {};

      // If selector defined, determine special event api type, otherwise given type
      type = ( selector ? special.delegateType : special.bindType ) || type;

      // Update special based on newly reset type
      special = jQuery.event.special[ type ] || {};

      // handleObj is passed to all event handlers
      handleObj = jQuery.extend( {
        type: type,
        origType: origType,
        data: data,
        handler: handler,
        guid: handler.guid,
        selector: selector,
        needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
        namespace: namespaces.join( "." )
      }, handleObjIn );

      // Init the event handler queue if we're the first
      if ( !( handlers = events[ type ] ) ) {
        handlers = events[ type ] = [];
        handlers.delegateCount = 0;

        // Only use addEventListener if the special events handler returns false
        if ( !special.setup ||
          special.setup.call( elem, data, namespaces, eventHandle ) === false ) {

          if ( elem.addEventListener ) {
            elem.addEventListener( type, eventHandle );
          }
        }
      }

      if ( special.add ) {
        special.add.call( elem, handleObj );

        if ( !handleObj.handler.guid ) {
          handleObj.handler.guid = handler.guid;
        }
      }

      // Add to the element's handler list, delegates in front
      if ( selector ) {
        handlers.splice( handlers.delegateCount++, 0, handleObj );
      } else {
        handlers.push( handleObj );
      }

      // Keep track of which events have ever been used, for event optimization
      jQuery.event.global[ type ] = true;
    }

  },

  // Detach an event or set of events from an element
  remove: function( elem, types, handler, selector, mappedTypes ) {

    var j, origCount, tmp,
      events, t, handleObj,
      special, handlers, type, namespaces, origType,
      elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );

    if ( !elemData || !( events = elemData.events ) ) {
      return;
    }

    // Once for each type.namespace in types; type may be omitted
    types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
    t = types.length;
    while ( t-- ) {
      tmp = rtypenamespace.exec( types[ t ] ) || [];
      type = origType = tmp[ 1 ];
      namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();

      // Unbind all events (on this namespace, if provided) for the element
      if ( !type ) {
        for ( type in events ) {
          jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
        }
        continue;
      }

      special = jQuery.event.special[ type ] || {};
      type = ( selector ? special.delegateType : special.bindType ) || type;
      handlers = events[ type ] || [];
      tmp = tmp[ 2 ] &&
        new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );

      // Remove matching events
      origCount = j = handlers.length;
      while ( j-- ) {
        handleObj = handlers[ j ];

        if ( ( mappedTypes || origType === handleObj.origType ) &&
          ( !handler || handler.guid === handleObj.guid ) &&
          ( !tmp || tmp.test( handleObj.namespace ) ) &&
          ( !selector || selector === handleObj.selector ||
            selector === "**" && handleObj.selector ) ) {
          handlers.splice( j, 1 );

          if ( handleObj.selector ) {
            handlers.delegateCount--;
          }
          if ( special.remove ) {
            special.remove.call( elem, handleObj );
          }
        }
      }

      // Remove generic event handler if we removed something and no more handlers exist
      // (avoids potential for endless recursion during removal of special event handlers)
      if ( origCount && !handlers.length ) {
        if ( !special.teardown ||
          special.teardown.call( elem, namespaces, elemData.handle ) === false ) {

          jQuery.removeEvent( elem, type, elemData.handle );
        }

        delete events[ type ];
      }
    }

    // Remove data and the expando if it's no longer used
    if ( jQuery.isEmptyObject( events ) ) {
      dataPriv.remove( elem, "handle events" );
    }
  },

  dispatch: function( nativeEvent ) {

    var i, j, ret, matched, handleObj, handlerQueue,
      args = new Array( arguments.length ),

      // Make a writable jQuery.Event from the native event object
      event = jQuery.event.fix( nativeEvent ),

      handlers = (
        dataPriv.get( this, "events" ) || Object.create( null )
      )[ event.type ] || [],
      special = jQuery.event.special[ event.type ] || {};

    // Use the fix-ed jQuery.Event rather than the (read-only) native event
    args[ 0 ] = event;

    for ( i = 1; i < arguments.length; i++ ) {
      args[ i ] = arguments[ i ];
    }

    event.delegateTarget = this;

    // Call the preDispatch hook for the mapped type, and let it bail if desired
    if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
      return;
    }

    // Determine handlers
    handlerQueue = jQuery.event.handlers.call( this, event, handlers );

    // Run delegates first; they may want to stop propagation beneath us
    i = 0;
    while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
      event.currentTarget = matched.elem;

      j = 0;
      while ( ( handleObj = matched.handlers[ j++ ] ) &&
        !event.isImmediatePropagationStopped() ) {

        // If the event is namespaced, then each handler is only invoked if it is
        // specially universal or its namespaces are a superset of the event's.
        if ( !event.rnamespace || handleObj.namespace === false ||
          event.rnamespace.test( handleObj.namespace ) ) {

          event.handleObj = handleObj;
          event.data = handleObj.data;

          ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
            handleObj.handler ).apply( matched.elem, args );

          if ( ret !== undefined ) {
            if ( ( event.result = ret ) === false ) {
              event.preventDefault();
              event.stopPropagation();
            }
          }
        }
      }
    }

    // Call the postDispatch hook for the mapped type
    if ( special.postDispatch ) {
      special.postDispatch.call( this, event );
    }

    return event.result;
  },

  handlers: function( event, handlers ) {
    var i, handleObj, sel, matchedHandlers, matchedSelectors,
      handlerQueue = [],
      delegateCount = handlers.delegateCount,
      cur = event.target;

    // Find delegate handlers
    if ( delegateCount &&

      // Support: IE <=9
      // Black-hole SVG <use> instance trees (trac-13180)
      cur.nodeType &&

      // Support: Firefox <=42
      // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
      // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
      // Support: IE 11 only
      // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
      !( event.type === "click" && event.button >= 1 ) ) {

      for ( ; cur !== this; cur = cur.parentNode || this ) {

        // Don't check non-elements (trac-13208)
        // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
        if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
          matchedHandlers = [];
          matchedSelectors = {};
          for ( i = 0; i < delegateCount; i++ ) {
            handleObj = handlers[ i ];

            // Don't conflict with Object.prototype properties (trac-13203)
            sel = handleObj.selector + " ";

            if ( matchedSelectors[ sel ] === undefined ) {
              matchedSelectors[ sel ] = handleObj.needsContext ?
                jQuery( sel, this ).index( cur ) > -1 :
                jQuery.find( sel, this, null, [ cur ] ).length;
            }
            if ( matchedSelectors[ sel ] ) {
              matchedHandlers.push( handleObj );
            }
          }
          if ( matchedHandlers.length ) {
            handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
          }
        }
      }
    }

    // Add the remaining (directly-bound) handlers
    cur = this;
    if ( delegateCount < handlers.length ) {
      handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
    }

    return handlerQueue;
  },

  addProp: function( name, hook ) {
    Object.defineProperty( jQuery.Event.prototype, name, {
      enumerable: true,
      configurable: true,

      get: isFunction( hook ) ?
        function() {
          if ( this.originalEvent ) {
            return hook( this.originalEvent );
          }
        } :
        function() {
          if ( this.originalEvent ) {
            return this.originalEvent[ name ];
          }
        },

      set: function( value ) {
        Object.defineProperty( this, name, {
          enumerable: true,
          configurable: true,
          writable: true,
          value: value
        } );
      }
    } );
  },

  fix: function( originalEvent ) {
    return originalEvent[ jQuery.expando ] ?
      originalEvent :
      new jQuery.Event( originalEvent );
  },

  special: {
    load: {

      // Prevent triggered image.load events from bubbling to window.load
      noBubble: true
    },
    click: {

      // Utilize native event to ensure correct state for checkable inputs
      setup: function( data ) {

        // For mutual compressibility with _default, replace `this` access with a local var.
        // `|| data` is dead code meant only to preserve the variable through minification.
        var el = this || data;

        // Claim the first handler
        if ( rcheckableType.test( el.type ) &&
          el.click && nodeName( el, "input" ) ) {

          // dataPriv.set( el, "click", ... )
          leverageNative( el, "click", true );
        }

        // Return false to allow normal processing in the caller
        return false;
      },
      trigger: function( data ) {

        // For mutual compressibility with _default, replace `this` access with a local var.
        // `|| data` is dead code meant only to preserve the variable through minification.
        var el = this || data;

        // Force setup before triggering a click
        if ( rcheckableType.test( el.type ) &&
          el.click && nodeName( el, "input" ) ) {

          leverageNative( el, "click" );
        }

        // Return non-false to allow normal event-path propagation
        return true;
      },

      // For cross-browser consistency, suppress native .click() on links
      // Also prevent it if we're currently inside a leveraged native-event stack
      _default: function( event ) {
        var target = event.target;
        return rcheckableType.test( target.type ) &&
          target.click && nodeName( target, "input" ) &&
          dataPriv.get( target, "click" ) ||
          nodeName( target, "a" );
      }
    },

    beforeunload: {
      postDispatch: function( event ) {

        // Support: Firefox 20+
        // Firefox doesn't alert if the returnValue field is not set.
        if ( event.result !== undefined && event.originalEvent ) {
          event.originalEvent.returnValue = event.result;
        }
      }
    }
  }
};

// Ensure the presence of an event listener that handles manually-triggered
// synthetic events by interrupting progress until reinvoked in response to
// *native* events that it fires directly, ensuring that state changes have
// already occurred before other listeners are invoked.
function leverageNative( el, type, isSetup ) {

  // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add
  if ( !isSetup ) {
    if ( dataPriv.get( el, type ) === undefined ) {
      jQuery.event.add( el, type, returnTrue );
    }
    return;
  }

  // Register the controller as a special universal handler for all event namespaces
  dataPriv.set( el, type, false );
  jQuery.event.add( el, type, {
    namespace: false,
    handler: function( event ) {
      var result,
        saved = dataPriv.get( this, type );

      if ( ( event.isTrigger & 1 ) && this[ type ] ) {

        // Interrupt processing of the outer synthetic .trigger()ed event
        if ( !saved ) {

          // Store arguments for use when handling the inner native event
          // There will always be at least one argument (an event object), so this array
          // will not be confused with a leftover capture object.
          saved = slice.call( arguments );
          dataPriv.set( this, type, saved );

          // Trigger the native event and capture its result
          this[ type ]();
          result = dataPriv.get( this, type );
          dataPriv.set( this, type, false );

          if ( saved !== result ) {

            // Cancel the outer synthetic event
            event.stopImmediatePropagation();
            event.preventDefault();

            return result;
          }

        // If this is an inner synthetic event for an event with a bubbling surrogate
        // (focus or blur), assume that the surrogate already propagated from triggering
        // the native event and prevent that from happening again here.
        // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
        // bubbling surrogate propagates *after* the non-bubbling base), but that seems
        // less bad than duplication.
        } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
          event.stopPropagation();
        }

      // If this is a native event triggered above, everything is now in order
      // Fire an inner synthetic event with the original arguments
      } else if ( saved ) {

        // ...and capture the result
        dataPriv.set( this, type, jQuery.event.trigger(
          saved[ 0 ],
          saved.slice( 1 ),
          this
        ) );

        // Abort handling of the native event by all jQuery handlers while allowing
        // native handlers on the same element to run. On target, this is achieved
        // by stopping immediate propagation just on the jQuery event. However,
        // the native event is re-wrapped by a jQuery one on each level of the
        // propagation so the only way to stop it for jQuery is to stop it for
        // everyone via native `stopPropagation()`. This is not a problem for
        // focus/blur which don't bubble, but it does also stop click on checkboxes
        // and radios. We accept this limitation.
        event.stopPropagation();
        event.isImmediatePropagationStopped = returnTrue;
      }
    }
  } );
}

jQuery.removeEvent = function( elem, type, handle ) {

  // This "if" is needed for plain objects
  if ( elem.removeEventListener ) {
    elem.removeEventListener( type, handle );
  }
};

jQuery.Event = function( src, props ) {

  // Allow instantiation without the 'new' keyword
  if ( !( this instanceof jQuery.Event ) ) {
    return new jQuery.Event( src, props );
  }

  // Event object
  if ( src && src.type ) {
    this.originalEvent = src;
    this.type = src.type;

    // Events bubbling up the document may have been marked as prevented
    // by a handler lower down the tree; reflect the correct value.
    this.isDefaultPrevented = src.defaultPrevented ||
        src.defaultPrevented === undefined &&

        // Support: Android <=2.3 only
        src.returnValue === false ?
      returnTrue :
      returnFalse;

    // Create target properties
    // Support: Safari <=6 - 7 only
    // Target should not be a text node (trac-504, trac-13143)
    this.target = ( src.target && src.target.nodeType === 3 ) ?
      src.target.parentNode :
      src.target;

    this.currentTarget = src.currentTarget;
    this.relatedTarget = src.relatedTarget;

  // Event type
  } else {
    this.type = src;
  }

  // Put explicitly provided properties onto the event object
  if ( props ) {
    jQuery.extend( this, props );
  }

  // Create a timestamp if incoming event doesn't have one
  this.timeStamp = src && src.timeStamp || Date.now();

  // Mark it as fixed
  this[ jQuery.expando ] = true;
};

// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
  constructor: jQuery.Event,
  isDefaultPrevented: returnFalse,
  isPropagationStopped: returnFalse,
  isImmediatePropagationStopped: returnFalse,
  isSimulated: false,

  preventDefault: function() {
    var e = this.originalEvent;

    this.isDefaultPrevented = returnTrue;

    if ( e && !this.isSimulated ) {
      e.preventDefault();
    }
  },
  stopPropagation: function() {
    var e = this.originalEvent;

    this.isPropagationStopped = returnTrue;

    if ( e && !this.isSimulated ) {
      e.stopPropagation();
    }
  },
  stopImmediatePropagation: function() {
    var e = this.originalEvent;

    this.isImmediatePropagationStopped = returnTrue;

    if ( e && !this.isSimulated ) {
      e.stopImmediatePropagation();
    }

    this.stopPropagation();
  }
};

// Includes all common event props including KeyEvent and MouseEvent specific props
jQuery.each( {
  altKey: true,
  bubbles: true,
  cancelable: true,
  changedTouches: true,
  ctrlKey: true,
  detail: true,
  eventPhase: true,
  metaKey: true,
  pageX: true,
  pageY: true,
  shiftKey: true,
  view: true,
  "char": true,
  code: true,
  charCode: true,
  key: true,
  keyCode: true,
  button: true,
  buttons: true,
  clientX: true,
  clientY: true,
  offsetX: true,
  offsetY: true,
  pointerId: true,
  pointerType: true,
  screenX: true,
  screenY: true,
  targetTouches: true,
  toElement: true,
  touches: true,
  which: true
}, jQuery.event.addProp );

jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {

  function focusMappedHandler( nativeEvent ) {
    if ( document.documentMode ) {

      // Support: IE 11+
      // Attach a single focusin/focusout handler on the document while someone wants
      // focus/blur. This is because the former are synchronous in IE while the latter
      // are async. In other browsers, all those handlers are invoked synchronously.

      // `handle` from private data would already wrap the event, but we need
      // to change the `type` here.
      var handle = dataPriv.get( this, "handle" ),
        event = jQuery.event.fix( nativeEvent );
      event.type = nativeEvent.type === "focusin" ? "focus" : "blur";
      event.isSimulated = true;

      // First, handle focusin/focusout
      handle( nativeEvent );

      // ...then, handle focus/blur
      //
      // focus/blur don't bubble while focusin/focusout do; simulate the former by only
      // invoking the handler at the lower level.
      if ( event.target === event.currentTarget ) {

        // The setup part calls `leverageNative`, which, in turn, calls
        // `jQuery.event.add`, so event handle will already have been set
        // by this point.
        handle( event );
      }
    } else {

      // For non-IE browsers, attach a single capturing handler on the document
      // while someone wants focusin/focusout.
      jQuery.event.simulate( delegateType, nativeEvent.target,
        jQuery.event.fix( nativeEvent ) );
    }
  }

  jQuery.event.special[ type ] = {

    // Utilize native event if possible so blur/focus sequence is correct
    setup: function() {

      var attaches;

      // Claim the first handler
      // dataPriv.set( this, "focus", ... )
      // dataPriv.set( this, "blur", ... )
      leverageNative( this, type, true );

      if ( document.documentMode ) {

        // Support: IE 9 - 11+
        // We use the same native handler for focusin & focus (and focusout & blur)
        // so we need to coordinate setup & teardown parts between those events.
        // Use `delegateType` as the key as `type` is already used by `leverageNative`.
        attaches = dataPriv.get( this, delegateType );
        if ( !attaches ) {
          this.addEventListener( delegateType, focusMappedHandler );
        }
        dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );
      } else {

        // Return false to allow normal processing in the caller
        return false;
      }
    },
    trigger: function() {

      // Force setup before trigger
      leverageNative( this, type );

      // Return non-false to allow normal event-path propagation
      return true;
    },

    teardown: function() {
      var attaches;

      if ( document.documentMode ) {
        attaches = dataPriv.get( this, delegateType ) - 1;
        if ( !attaches ) {
          this.removeEventListener( delegateType, focusMappedHandler );
          dataPriv.remove( this, delegateType );
        } else {
          dataPriv.set( this, delegateType, attaches );
        }
      } else {

        // Return false to indicate standard teardown should be applied
        return false;
      }
    },

    // Suppress native focus or blur if we're currently inside
    // a leveraged native-event stack
    _default: function( event ) {
      return dataPriv.get( event.target, type );
    },

    delegateType: delegateType
  };

  // Support: Firefox <=44
  // Firefox doesn't have focus(in | out) events
  // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
  //
  // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
  // focus(in | out) events fire after focus & blur events,
  // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
  // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
  //
  // Support: IE 9 - 11+
  // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,
  // attach a single handler for both events in IE.
  jQuery.event.special[ delegateType ] = {
    setup: function() {

      // Handle: regular nodes (via `this.ownerDocument`), window
      // (via `this.document`) & document (via `this`).
      var doc = this.ownerDocument || this.document || this,
        dataHolder = document.documentMode ? this : doc,
        attaches = dataPriv.get( dataHolder, delegateType );

      // Support: IE 9 - 11+
      // We use the same native handler for focusin & focus (and focusout & blur)
      // so we need to coordinate setup & teardown parts between those events.
      // Use `delegateType` as the key as `type` is already used by `leverageNative`.
      if ( !attaches ) {
        if ( document.documentMode ) {
          this.addEventListener( delegateType, focusMappedHandler );
        } else {
          doc.addEventListener( type, focusMappedHandler, true );
        }
      }
      dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );
    },
    teardown: function() {
      var doc = this.ownerDocument || this.document || this,
        dataHolder = document.documentMode ? this : doc,
        attaches = dataPriv.get( dataHolder, delegateType ) - 1;

      if ( !attaches ) {
        if ( document.documentMode ) {
          this.removeEventListener( delegateType, focusMappedHandler );
        } else {
          doc.removeEventListener( type, focusMappedHandler, true );
        }
        dataPriv.remove( dataHolder, delegateType );
      } else {
        dataPriv.set( dataHolder, delegateType, attaches );
      }
    }
  };
} );

// Create mouseenter/leave events using mouseover/out and event-time checks
// so that event delegation works in jQuery.
// Do the same for pointerenter/pointerleave and pointerover/pointerout
//
// Support: Safari 7 only
// Safari sends mouseenter too often; see:
// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
// for the description of the bug (it existed in older Chrome versions as well).
jQuery.each( {
  mouseenter: "mouseover",
  mouseleave: "mouseout",
  pointerenter: "pointerover",
  pointerleave: "pointerout"
}, function( orig, fix ) {
  jQuery.event.special[ orig ] = {
    delegateType: fix,
    bindType: fix,

    handle: function( event ) {
      var ret,
        target = this,
        related = event.relatedTarget,
        handleObj = event.handleObj;

      // For mouseenter/leave call the handler if related is outside the target.
      // NB: No relatedTarget if the mouse left/entered the browser window
      if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
        event.type = handleObj.origType;
        ret = handleObj.handler.apply( this, arguments );
        event.type = fix;
      }
      return ret;
    }
  };
} );

jQuery.fn.extend( {

  on: function( types, selector, data, fn ) {
    return on( this, types, selector, data, fn );
  },
  one: function( types, selector, data, fn ) {
    return on( this, types, selector, data, fn, 1 );
  },
  off: function( types, selector, fn ) {
    var handleObj, type;
    if ( types && types.preventDefault && types.handleObj ) {

      // ( event )  dispatched jQuery.Event
      handleObj = types.handleObj;
      jQuery( types.delegateTarget ).off(
        handleObj.namespace ?
          handleObj.origType + "." + handleObj.namespace :
          handleObj.origType,
        handleObj.selector,
        handleObj.handler
      );
      return this;
    }
    if ( typeof types === "object" ) {

      // ( types-object [, selector] )
      for ( type in types ) {
        this.off( type, selector, types[ type ] );
      }
      return this;
    }
    if ( selector === false || typeof selector === "function" ) {

      // ( types [, fn] )
      fn = selector;
      selector = undefined;
    }
    if ( fn === false ) {
      fn = returnFalse;
    }
    return this.each( function() {
      jQuery.event.remove( this, types, fn, selector );
    } );
  }
} );


var

  // Support: IE <=10 - 11, Edge 12 - 13 only
  // In IE/Edge using regex groups here causes severe slowdowns.
  // See https://connect.microsoft.com/IE/feedback/details/1736512/
  rnoInnerhtml = /<script|<style|<link/i,

  // checked="checked" or checked
  rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,

  rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;

// Prefer a tbody over its parent table for containing new rows
function manipulationTarget( elem, content ) {
  if ( nodeName( elem, "table" ) &&
    nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {

    return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
  }

  return elem;
}

// Replace/restore the type attribute of script elements for safe DOM manipulation
function disableScript( elem ) {
  elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
  return elem;
}
function restoreScript( elem ) {
  if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
    elem.type = elem.type.slice( 5 );
  } else {
    elem.removeAttribute( "type" );
  }

  return elem;
}

function cloneCopyEvent( src, dest ) {
  var i, l, type, pdataOld, udataOld, udataCur, events;

  if ( dest.nodeType !== 1 ) {
    return;
  }

  // 1. Copy private data: events, handlers, etc.
  if ( dataPriv.hasData( src ) ) {
    pdataOld = dataPriv.get( src );
    events = pdataOld.events;

    if ( events ) {
      dataPriv.remove( dest, "handle events" );

      for ( type in events ) {
        for ( i = 0, l = events[ type ].length; i < l; i++ ) {
          jQuery.event.add( dest, type, events[ type ][ i ] );
        }
      }
    }
  }

  // 2. Copy user data
  if ( dataUser.hasData( src ) ) {
    udataOld = dataUser.access( src );
    udataCur = jQuery.extend( {}, udataOld );

    dataUser.set( dest, udataCur );
  }
}

// Fix IE bugs, see support tests
function fixInput( src, dest ) {
  var nodeName = dest.nodeName.toLowerCase();

  // Fails to persist the checked state of a cloned checkbox or radio button.
  if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
    dest.checked = src.checked;

  // Fails to return the selected option to the default selected state when cloning options
  } else if ( nodeName === "input" || nodeName === "textarea" ) {
    dest.defaultValue = src.defaultValue;
  }
}

function domManip( collection, args, callback, ignored ) {

  // Flatten any nested arrays
  args = flat( args );

  var fragment, first, scripts, hasScripts, node, doc,
    i = 0,
    l = collection.length,
    iNoClone = l - 1,
    value = args[ 0 ],
    valueIsFunction = isFunction( value );

  // We can't cloneNode fragments that contain checked, in WebKit
  if ( valueIsFunction ||
      ( l > 1 && typeof value === "string" &&
        !support.checkClone && rchecked.test( value ) ) ) {
    return collection.each( function( index ) {
      var self = collection.eq( index );
      if ( valueIsFunction ) {
        args[ 0 ] = value.call( this, index, self.html() );
      }
      domManip( self, args, callback, ignored );
    } );
  }

  if ( l ) {
    fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
    first = fragment.firstChild;

    if ( fragment.childNodes.length === 1 ) {
      fragment = first;
    }

    // Require either new content or an interest in ignored elements to invoke the callback
    if ( first || ignored ) {
      scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
      hasScripts = scripts.length;

      // Use the original fragment for the last item
      // instead of the first because it can end up
      // being emptied incorrectly in certain situations (trac-8070).
      for ( ; i < l; i++ ) {
        node = fragment;

        if ( i !== iNoClone ) {
          node = jQuery.clone( node, true, true );

          // Keep references to cloned scripts for later restoration
          if ( hasScripts ) {

            // Support: Android <=4.0 only, PhantomJS 1 only
            // push.apply(_, arraylike) throws on ancient WebKit
            jQuery.merge( scripts, getAll( node, "script" ) );
          }
        }

        callback.call( collection[ i ], node, i );
      }

      if ( hasScripts ) {
        doc = scripts[ scripts.length - 1 ].ownerDocument;

        // Reenable scripts
        jQuery.map( scripts, restoreScript );

        // Evaluate executable scripts on first document insertion
        for ( i = 0; i < hasScripts; i++ ) {
          node = scripts[ i ];
          if ( rscriptType.test( node.type || "" ) &&
            !dataPriv.access( node, "globalEval" ) &&
            jQuery.contains( doc, node ) ) {

            if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {

              // Optional AJAX dependency, but won't run scripts if not present
              if ( jQuery._evalUrl && !node.noModule ) {
                jQuery._evalUrl( node.src, {
                  nonce: node.nonce || node.getAttribute( "nonce" )
                }, doc );
              }
            } else {

              // Unwrap a CDATA section containing script contents. This shouldn't be
              // needed as in XML documents they're already not visible when
              // inspecting element contents and in HTML documents they have no
              // meaning but we're preserving that logic for backwards compatibility.
              // This will be removed completely in 4.0. See gh-4904.
              DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
            }
          }
        }
      }
    }
  }

  return collection;
}

function remove( elem, selector, keepData ) {
  var node,
    nodes = selector ? jQuery.filter( selector, elem ) : elem,
    i = 0;

  for ( ; ( node = nodes[ i ] ) != null; i++ ) {
    if ( !keepData && node.nodeType === 1 ) {
      jQuery.cleanData( getAll( node ) );
    }

    if ( node.parentNode ) {
      if ( keepData && isAttached( node ) ) {
        setGlobalEval( getAll( node, "script" ) );
      }
      node.parentNode.removeChild( node );
    }
  }

  return elem;
}

jQuery.extend( {
  htmlPrefilter: function( html ) {
    return html;
  },

  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
    var i, l, srcElements, destElements,
      clone = elem.cloneNode( true ),
      inPage = isAttached( elem );

    // Fix IE cloning issues
    if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
        !jQuery.isXMLDoc( elem ) ) {

      // We eschew jQuery#find here for performance reasons:
      // https://jsperf.com/getall-vs-sizzle/2
      destElements = getAll( clone );
      srcElements = getAll( elem );

      for ( i = 0, l = srcElements.length; i < l; i++ ) {
        fixInput( srcElements[ i ], destElements[ i ] );
      }
    }

    // Copy the events from the original to the clone
    if ( dataAndEvents ) {
      if ( deepDataAndEvents ) {
        srcElements = srcElements || getAll( elem );
        destElements = destElements || getAll( clone );

        for ( i = 0, l = srcElements.length; i < l; i++ ) {
          cloneCopyEvent( srcElements[ i ], destElements[ i ] );
        }
      } else {
        cloneCopyEvent( elem, clone );
      }
    }

    // Preserve script evaluation history
    destElements = getAll( clone, "script" );
    if ( destElements.length > 0 ) {
      setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
    }

    // Return the cloned set
    return clone;
  },

  cleanData: function( elems ) {
    var data, elem, type,
      special = jQuery.event.special,
      i = 0;

    for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
      if ( acceptData( elem ) ) {
        if ( ( data = elem[ dataPriv.expando ] ) ) {
          if ( data.events ) {
            for ( type in data.events ) {
              if ( special[ type ] ) {
                jQuery.event.remove( elem, type );

              // This is a shortcut to avoid jQuery.event.remove's overhead
              } else {
                jQuery.removeEvent( elem, type, data.handle );
              }
            }
          }

          // Support: Chrome <=35 - 45+
          // Assign undefined instead of using delete, see Data#remove
          elem[ dataPriv.expando ] = undefined;
        }
        if ( elem[ dataUser.expando ] ) {

          // Support: Chrome <=35 - 45+
          // Assign undefined instead of using delete, see Data#remove
          elem[ dataUser.expando ] = undefined;
        }
      }
    }
  }
} );

jQuery.fn.extend( {
  detach: function( selector ) {
    return remove( this, selector, true );
  },

  remove: function( selector ) {
    return remove( this, selector );
  },

  text: function( value ) {
    return access( this, function( value ) {
      return value === undefined ?
        jQuery.text( this ) :
        this.empty().each( function() {
          if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
            this.textContent = value;
          }
        } );
    }, null, value, arguments.length );
  },

  append: function() {
    return domManip( this, arguments, function( elem ) {
      if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
        var target = manipulationTarget( this, elem );
        target.appendChild( elem );
      }
    } );
  },

  prepend: function() {
    return domManip( this, arguments, function( elem ) {
      if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
        var target = manipulationTarget( this, elem );
        target.insertBefore( elem, target.firstChild );
      }
    } );
  },

  before: function() {
    return domManip( this, arguments, function( elem ) {
      if ( this.parentNode ) {
        this.parentNode.insertBefore( elem, this );
      }
    } );
  },

  after: function() {
    return domManip( this, arguments, function( elem ) {
      if ( this.parentNode ) {
        this.parentNode.insertBefore( elem, this.nextSibling );
      }
    } );
  },

  empty: function() {
    var elem,
      i = 0;

    for ( ; ( elem = this[ i ] ) != null; i++ ) {
      if ( elem.nodeType === 1 ) {

        // Prevent memory leaks
        jQuery.cleanData( getAll( elem, false ) );

        // Remove any remaining nodes
        elem.textContent = "";
      }
    }

    return this;
  },

  clone: function( dataAndEvents, deepDataAndEvents ) {
    dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
    deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;

    return this.map( function() {
      return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
    } );
  },

  html: function( value ) {
    return access( this, function( value ) {
      var elem = this[ 0 ] || {},
        i = 0,
        l = this.length;

      if ( value === undefined && elem.nodeType === 1 ) {
        return elem.innerHTML;
      }

      // See if we can take a shortcut and just use innerHTML
      if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
        !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {

        value = jQuery.htmlPrefilter( value );

        try {
          for ( ; i < l; i++ ) {
            elem = this[ i ] || {};

            // Remove element nodes and prevent memory leaks
            if ( elem.nodeType === 1 ) {
              jQuery.cleanData( getAll( elem, false ) );
              elem.innerHTML = value;
            }
          }

          elem = 0;

        // If using innerHTML throws an exception, use the fallback method
        } catch ( e ) {}
      }

      if ( elem ) {
        this.empty().append( value );
      }
    }, null, value, arguments.length );
  },

  replaceWith: function() {
    var ignored = [];

    // Make the changes, replacing each non-ignored context element with the new content
    return domManip( this, arguments, function( elem ) {
      var parent = this.parentNode;

      if ( jQuery.inArray( this, ignored ) < 0 ) {
        jQuery.cleanData( getAll( this ) );
        if ( parent ) {
          parent.replaceChild( elem, this );
        }
      }

    // Force callback invocation
    }, ignored );
  }
} );

jQuery.each( {
  appendTo: "append",
  prependTo: "prepend",
  insertBefore: "before",
  insertAfter: "after",
  replaceAll: "replaceWith"
}, function( name, original ) {
  jQuery.fn[ name ] = function( selector ) {
    var elems,
      ret = [],
      insert = jQuery( selector ),
      last = insert.length - 1,
      i = 0;

    for ( ; i <= last; i++ ) {
      elems = i === last ? this : this.clone( true );
      jQuery( insert[ i ] )[ original ]( elems );

      // Support: Android <=4.0 only, PhantomJS 1 only
      // .get() because push.apply(_, arraylike) throws on ancient WebKit
      push.apply( ret, elems.get() );
    }

    return this.pushStack( ret );
  };
} );
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );

var rcustomProp = /^--/;


var getStyles = function( elem ) {

    // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
    // IE throws on elements created in popups
    // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
    var view = elem.ownerDocument.defaultView;

    if ( !view || !view.opener ) {
      view = window;
    }

    return view.getComputedStyle( elem );
  };

var swap = function( elem, options, callback ) {
  var ret, name,
    old = {};

  // Remember the old values, and insert the new ones
  for ( name in options ) {
    old[ name ] = elem.style[ name ];
    elem.style[ name ] = options[ name ];
  }

  ret = callback.call( elem );

  // Revert the old values
  for ( name in options ) {
    elem.style[ name ] = old[ name ];
  }

  return ret;
};


var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );



( function() {

  // Executing both pixelPosition & boxSizingReliable tests require only one layout
  // so they're executed at the same time to save the second computation.
  function computeStyleTests() {

    // This is a singleton, we need to execute it only once
    if ( !div ) {
      return;
    }

    container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
      "margin-top:1px;padding:0;border:0";
    div.style.cssText =
      "position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
      "margin:auto;border:1px;padding:1px;" +
      "width:60%;top:1%";
    documentElement.appendChild( container ).appendChild( div );

    var divStyle = window.getComputedStyle( div );
    pixelPositionVal = divStyle.top !== "1%";

    // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
    reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;

    // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
    // Some styles come back with percentage values, even though they shouldn't
    div.style.right = "60%";
    pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;

    // Support: IE 9 - 11 only
    // Detect misreporting of content dimensions for box-sizing:border-box elements
    boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;

    // Support: IE 9 only
    // Detect overflow:scroll screwiness (gh-3699)
    // Support: Chrome <=64
    // Don't get tricked when zoom affects offsetWidth (gh-4029)
    div.style.position = "absolute";
    scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;

    documentElement.removeChild( container );

    // Nullify the div so it wouldn't be stored in the memory and
    // it will also be a sign that checks already performed
    div = null;
  }

  function roundPixelMeasures( measure ) {
    return Math.round( parseFloat( measure ) );
  }

  var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
    reliableTrDimensionsVal, reliableMarginLeftVal,
    container = document.createElement( "div" ),
    div = document.createElement( "div" );

  // Finish early in limited (non-browser) environments
  if ( !div.style ) {
    return;
  }

  // Support: IE <=9 - 11 only
  // Style of cloned element affects source element cloned (trac-8908)
  div.style.backgroundClip = "content-box";
  div.cloneNode( true ).style.backgroundClip = "";
  support.clearCloneStyle = div.style.backgroundClip === "content-box";

  jQuery.extend( support, {
    boxSizingReliable: function() {
      computeStyleTests();
      return boxSizingReliableVal;
    },
    pixelBoxStyles: function() {
      computeStyleTests();
      return pixelBoxStylesVal;
    },
    pixelPosition: function() {
      computeStyleTests();
      return pixelPositionVal;
    },
    reliableMarginLeft: function() {
      computeStyleTests();
      return reliableMarginLeftVal;
    },
    scrollboxSize: function() {
      computeStyleTests();
      return scrollboxSizeVal;
    },

    // Support: IE 9 - 11+, Edge 15 - 18+
    // IE/Edge misreport `getComputedStyle` of table rows with width/height
    // set in CSS while `offset*` properties report correct values.
    // Behavior in IE 9 is more subtle than in newer versions & it passes
    // some versions of this test; make sure not to make it pass there!
    //
    // Support: Firefox 70+
    // Only Firefox includes border widths
    // in computed dimensions. (gh-4529)
    reliableTrDimensions: function() {
      var table, tr, trChild, trStyle;
      if ( reliableTrDimensionsVal == null ) {
        table = document.createElement( "table" );
        tr = document.createElement( "tr" );
        trChild = document.createElement( "div" );

        table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
        tr.style.cssText = "border:1px solid";

        // Support: Chrome 86+
        // Height set through cssText does not get applied.
        // Computed height then comes back as 0.
        tr.style.height = "1px";
        trChild.style.height = "9px";

        // Support: Android 8 Chrome 86+
        // In our bodyBackground.html iframe,
        // display for all div elements is set to "inline",
        // which causes a problem only in Android 8 Chrome 86.
        // Ensuring the div is display: block
        // gets around this issue.
        trChild.style.display = "block";

        documentElement
          .appendChild( table )
          .appendChild( tr )
          .appendChild( trChild );

        trStyle = window.getComputedStyle( tr );
        reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
          parseInt( trStyle.borderTopWidth, 10 ) +
          parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;

        documentElement.removeChild( table );
      }
      return reliableTrDimensionsVal;
    }
  } );
} )();


function curCSS( elem, name, computed ) {
  var width, minWidth, maxWidth, ret,
    isCustomProp = rcustomProp.test( name ),

    // Support: Firefox 51+
    // Retrieving style before computed somehow
    // fixes an issue with getting wrong values
    // on detached elements
    style = elem.style;

  computed = computed || getStyles( elem );

  // getPropertyValue is needed for:
  //   .css('filter') (IE 9 only, trac-12537)
  //   .css('--customProperty) (gh-3144)
  if ( computed ) {

    // Support: IE <=9 - 11+
    // IE only supports `"float"` in `getPropertyValue`; in computed styles
    // it's only available as `"cssFloat"`. We no longer modify properties
    // sent to `.css()` apart from camelCasing, so we need to check both.
    // Normally, this would create difference in behavior: if
    // `getPropertyValue` returns an empty string, the value returned
    // by `.css()` would be `undefined`. This is usually the case for
    // disconnected elements. However, in IE even disconnected elements
    // with no styles return `"none"` for `getPropertyValue( "float" )`
    ret = computed.getPropertyValue( name ) || computed[ name ];

    if ( isCustomProp && ret ) {

      // Support: Firefox 105+, Chrome <=105+
      // Spec requires trimming whitespace for custom properties (gh-4926).
      // Firefox only trims leading whitespace. Chrome just collapses
      // both leading & trailing whitespace to a single space.
      //
      // Fall back to `undefined` if empty string returned.
      // This collapses a missing definition with property defined
      // and set to an empty string but there's no standard API
      // allowing us to differentiate them without a performance penalty
      // and returning `undefined` aligns with older jQuery.
      //
      // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED
      // as whitespace while CSS does not, but this is not a problem
      // because CSS preprocessing replaces them with U+000A LINE FEED
      // (which *is* CSS whitespace)
      // https://www.w3.org/TR/css-syntax-3/#input-preprocessing
      ret = ret.replace( rtrimCSS, "$1" ) || undefined;
    }

    if ( ret === "" && !isAttached( elem ) ) {
      ret = jQuery.style( elem, name );
    }

    // A tribute to the "awesome hack by Dean Edwards"
    // Android Browser returns percentage for some values,
    // but width seems to be reliably pixels.
    // This is against the CSSOM draft spec:
    // https://drafts.csswg.org/cssom/#resolved-values
    if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {

      // Remember the original values
      width = style.width;
      minWidth = style.minWidth;
      maxWidth = style.maxWidth;

      // Put in the new values to get a computed value out
      style.minWidth = style.maxWidth = style.width = ret;
      ret = computed.width;

      // Revert the changed values
      style.width = width;
      style.minWidth = minWidth;
      style.maxWidth = maxWidth;
    }
  }

  return ret !== undefined ?

    // Support: IE <=9 - 11 only
    // IE returns zIndex value as an integer.
    ret + "" :
    ret;
}


function addGetHookIf( conditionFn, hookFn ) {

  // Define the hook, we'll check on the first run if it's really needed.
  return {
    get: function() {
      if ( conditionFn() ) {

        // Hook not needed (or it's not possible to use it due
        // to missing dependency), remove it.
        delete this.get;
        return;
      }

      // Hook needed; redefine it so that the support test is not executed again.
      return ( this.get = hookFn ).apply( this, arguments );
    }
  };
}


var cssPrefixes = [ "Webkit", "Moz", "ms" ],
  emptyStyle = document.createElement( "div" ).style,
  vendorProps = {};

// Return a vendor-prefixed property or undefined
function vendorPropName( name ) {

  // Check for vendor prefixed names
  var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
    i = cssPrefixes.length;

  while ( i-- ) {
    name = cssPrefixes[ i ] + capName;
    if ( name in emptyStyle ) {
      return name;
    }
  }
}

// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
function finalPropName( name ) {
  var final = jQuery.cssProps[ name ] || vendorProps[ name ];

  if ( final ) {
    return final;
  }
  if ( name in emptyStyle ) {
    return name;
  }
  return vendorProps[ name ] = vendorPropName( name ) || name;
}


var

  // Swappable if display is none or starts with table
  // except "table", "table-cell", or "table-caption"
  // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
  rdisplayswap = /^(none|table(?!-c[ea]).+)/,
  cssShow = { position: "absolute", visibility: "hidden", display: "block" },
  cssNormalTransform = {
    letterSpacing: "0",
    fontWeight: "400"
  };

function setPositiveNumber( _elem, value, subtract ) {

  // Any relative (+/-) values have already been
  // normalized at this point
  var matches = rcssNum.exec( value );
  return matches ?

    // Guard against undefined "subtract", e.g., when used as in cssHooks
    Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
    value;
}

function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
  var i = dimension === "width" ? 1 : 0,
    extra = 0,
    delta = 0,
    marginDelta = 0;

  // Adjustment may not be necessary
  if ( box === ( isBorderBox ? "border" : "content" ) ) {
    return 0;
  }

  for ( ; i < 4; i += 2 ) {

    // Both box models exclude margin
    // Count margin delta separately to only add it after scroll gutter adjustment.
    // This is needed to make negative margins work with `outerHeight( true )` (gh-3982).
    if ( box === "margin" ) {
      marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
    }

    // If we get here with a content-box, we're seeking "padding" or "border" or "margin"
    if ( !isBorderBox ) {

      // Add padding
      delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );

      // For "border" or "margin", add border
      if ( box !== "padding" ) {
        delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );

      // But still keep track of it otherwise
      } else {
        extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
      }

    // If we get here with a border-box (content + padding + border), we're seeking "content" or
    // "padding" or "margin"
    } else {

      // For "content", subtract padding
      if ( box === "content" ) {
        delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
      }

      // For "content" or "padding", subtract border
      if ( box !== "margin" ) {
        delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
      }
    }
  }

  // Account for positive content-box scroll gutter when requested by providing computedVal
  if ( !isBorderBox && computedVal >= 0 ) {

    // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
    // Assuming integer scroll gutter, subtract the rest and round down
    delta += Math.max( 0, Math.ceil(
      elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
      computedVal -
      delta -
      extra -
      0.5

    // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
    // Use an explicit zero to avoid NaN (gh-3964)
    ) ) || 0;
  }

  return delta + marginDelta;
}

function getWidthOrHeight( elem, dimension, extra ) {

  // Start with computed style
  var styles = getStyles( elem ),

    // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
    // Fake content-box until we know it's needed to know the true value.
    boxSizingNeeded = !support.boxSizingReliable() || extra,
    isBorderBox = boxSizingNeeded &&
      jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
    valueIsBorderBox = isBorderBox,

    val = curCSS( elem, dimension, styles ),
    offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );

  // Support: Firefox <=54
  // Return a confounding non-pixel value or feign ignorance, as appropriate.
  if ( rnumnonpx.test( val ) ) {
    if ( !extra ) {
      return val;
    }
    val = "auto";
  }


  // Support: IE 9 - 11 only
  // Use offsetWidth/offsetHeight for when box sizing is unreliable.
  // In those cases, the computed value can be trusted to be border-box.
  if ( ( !support.boxSizingReliable() && isBorderBox ||

    // Support: IE 10 - 11+, Edge 15 - 18+
    // IE/Edge misreport `getComputedStyle` of table rows with width/height
    // set in CSS while `offset*` properties report correct values.
    // Interestingly, in some cases IE 9 doesn't suffer from this issue.
    !support.reliableTrDimensions() && nodeName( elem, "tr" ) ||

    // Fall back to offsetWidth/offsetHeight when value is "auto"
    // This happens for inline elements with no explicit setting (gh-3571)
    val === "auto" ||

    // Support: Android <=4.1 - 4.3 only
    // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
    !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&

    // Make sure the element is visible & connected
    elem.getClientRects().length ) {

    isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";

    // Where available, offsetWidth/offsetHeight approximate border box dimensions.
    // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
    // retrieved value as a content box dimension.
    valueIsBorderBox = offsetProp in elem;
    if ( valueIsBorderBox ) {
      val = elem[ offsetProp ];
    }
  }

  // Normalize "" and auto
  val = parseFloat( val ) || 0;

  // Adjust for the element's box model
  return ( val +
    boxModelAdjustment(
      elem,
      dimension,
      extra || ( isBorderBox ? "border" : "content" ),
      valueIsBorderBox,
      styles,

      // Provide the current computed size to request scroll gutter calculation (gh-3589)
      val
    )
  ) + "px";
}

jQuery.extend( {

  // Add in style property hooks for overriding the default
  // behavior of getting and setting a style property
  cssHooks: {
    opacity: {
      get: function( elem, computed ) {
        if ( computed ) {

          // We should always get a number back from opacity
          var ret = curCSS( elem, "opacity" );
          return ret === "" ? "1" : ret;
        }
      }
    }
  },

  // Don't automatically add "px" to these possibly-unitless properties
  cssNumber: {
    animationIterationCount: true,
    aspectRatio: true,
    borderImageSlice: true,
    columnCount: true,
    flexGrow: true,
    flexShrink: true,
    fontWeight: true,
    gridArea: true,
    gridColumn: true,
    gridColumnEnd: true,
    gridColumnStart: true,
    gridRow: true,
    gridRowEnd: true,
    gridRowStart: true,
    lineHeight: true,
    opacity: true,
    order: true,
    orphans: true,
    scale: true,
    widows: true,
    zIndex: true,
    zoom: true,

    // SVG-related
    fillOpacity: true,
    floodOpacity: true,
    stopOpacity: true,
    strokeMiterlimit: true,
    strokeOpacity: true
  },

  // Add in properties whose names you wish to fix before
  // setting or getting the value
  cssProps: {},

  // Get and set the style property on a DOM Node
  style: function( elem, name, value, extra ) {

    // Don't set styles on text and comment nodes
    if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
      return;
    }

    // Make sure that we're working with the right name
    var ret, type, hooks,
      origName = camelCase( name ),
      isCustomProp = rcustomProp.test( name ),
      style = elem.style;

    // Make sure that we're working with the right name. We don't
    // want to query the value if it is a CSS custom property
    // since they are user-defined.
    if ( !isCustomProp ) {
      name = finalPropName( origName );
    }

    // Gets hook for the prefixed version, then unprefixed version
    hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

    // Check if we're setting a value
    if ( value !== undefined ) {
      type = typeof value;

      // Convert "+=" or "-=" to relative numbers (trac-7345)
      if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
        value = adjustCSS( elem, name, ret );

        // Fixes bug trac-9237
        type = "number";
      }

      // Make sure that null and NaN values aren't set (trac-7116)
      if ( value == null || value !== value ) {
        return;
      }

      // If a number was passed in, add the unit (except for certain CSS properties)
      // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
      // "px" to a few hardcoded values.
      if ( type === "number" && !isCustomProp ) {
        value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
      }

      // background-* props affect original clone's values
      if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
        style[ name ] = "inherit";
      }

      // If a hook was provided, use that value, otherwise just set the specified value
      if ( !hooks || !( "set" in hooks ) ||
        ( value = hooks.set( elem, value, extra ) ) !== undefined ) {

        if ( isCustomProp ) {
          style.setProperty( name, value );
        } else {
          style[ name ] = value;
        }
      }

    } else {

      // If a hook was provided get the non-computed value from there
      if ( hooks && "get" in hooks &&
        ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {

        return ret;
      }

      // Otherwise just get the value from the style object
      return style[ name ];
    }
  },

  css: function( elem, name, extra, styles ) {
    var val, num, hooks,
      origName = camelCase( name ),
      isCustomProp = rcustomProp.test( name );

    // Make sure that we're working with the right name. We don't
    // want to modify the value if it is a CSS custom property
    // since they are user-defined.
    if ( !isCustomProp ) {
      name = finalPropName( origName );
    }

    // Try prefixed name followed by the unprefixed name
    hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];

    // If a hook was provided get the computed value from there
    if ( hooks && "get" in hooks ) {
      val = hooks.get( elem, true, extra );
    }

    // Otherwise, if a way to get the computed value exists, use that
    if ( val === undefined ) {
      val = curCSS( elem, name, styles );
    }

    // Convert "normal" to computed value
    if ( val === "normal" && name in cssNormalTransform ) {
      val = cssNormalTransform[ name ];
    }

    // Make numeric if forced or a qualifier was provided and val looks numeric
    if ( extra === "" || extra ) {
      num = parseFloat( val );
      return extra === true || isFinite( num ) ? num || 0 : val;
    }

    return val;
  }
} );

jQuery.each( [ "height", "width" ], function( _i, dimension ) {
  jQuery.cssHooks[ dimension ] = {
    get: function( elem, computed, extra ) {
      if ( computed ) {

        // Certain elements can have dimension info if we invisibly show them
        // but it must have a current display style that would benefit
        return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&

          // Support: Safari 8+
          // Table columns in Safari have non-zero offsetWidth & zero
          // getBoundingClientRect().width unless display is changed.
          // Support: IE <=11 only
          // Running getBoundingClientRect on a disconnected node
          // in IE throws an error.
          ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
          swap( elem, cssShow, function() {
            return getWidthOrHeight( elem, dimension, extra );
          } ) :
          getWidthOrHeight( elem, dimension, extra );
      }
    },

    set: function( elem, value, extra ) {
      var matches,
        styles = getStyles( elem ),

        // Only read styles.position if the test has a chance to fail
        // to avoid forcing a reflow.
        scrollboxSizeBuggy = !support.scrollboxSize() &&
          styles.position === "absolute",

        // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
        boxSizingNeeded = scrollboxSizeBuggy || extra,
        isBorderBox = boxSizingNeeded &&
          jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
        subtract = extra ?
          boxModelAdjustment(
            elem,
            dimension,
            extra,
            isBorderBox,
            styles
          ) :
          0;

      // Account for unreliable border-box dimensions by comparing offset* to computed and
      // faking a content-box to get border and padding (gh-3699)
      if ( isBorderBox && scrollboxSizeBuggy ) {
        subtract -= Math.ceil(
          elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
          parseFloat( styles[ dimension ] ) -
          boxModelAdjustment( elem, dimension, "border", false, styles ) -
          0.5
        );
      }

      // Convert to pixels if value adjustment is needed
      if ( subtract && ( matches = rcssNum.exec( value ) ) &&
        ( matches[ 3 ] || "px" ) !== "px" ) {

        elem.style[ dimension ] = value;
        value = jQuery.css( elem, dimension );
      }

      return setPositiveNumber( elem, value, subtract );
    }
  };
} );

jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
  function( elem, computed ) {
    if ( computed ) {
      return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
        elem.getBoundingClientRect().left -
          swap( elem, { marginLeft: 0 }, function() {
            return elem.getBoundingClientRect().left;
          } )
      ) + "px";
    }
  }
);

// These hooks are used by animate to expand properties
jQuery.each( {
  margin: "",
  padding: "",
  border: "Width"
}, function( prefix, suffix ) {
  jQuery.cssHooks[ prefix + suffix ] = {
    expand: function( value ) {
      var i = 0,
        expanded = {},

        // Assumes a single number if not a string
        parts = typeof value === "string" ? value.split( " " ) : [ value ];

      for ( ; i < 4; i++ ) {
        expanded[ prefix + cssExpand[ i ] + suffix ] =
          parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
      }

      return expanded;
    }
  };

  if ( prefix !== "margin" ) {
    jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
  }
} );

jQuery.fn.extend( {
  css: function( name, value ) {
    return access( this, function( elem, name, value ) {
      var styles, len,
        map = {},
        i = 0;

      if ( Array.isArray( name ) ) {
        styles = getStyles( elem );
        len = name.length;

        for ( ; i < len; i++ ) {
          map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
        }

        return map;
      }

      return value !== undefined ?
        jQuery.style( elem, name, value ) :
        jQuery.css( elem, name );
    }, name, value, arguments.length > 1 );
  }
} );


function Tween( elem, options, prop, end, easing ) {
  return new Tween.prototype.init( elem, options, prop, end, easing );
}
jQuery.Tween = Tween;

Tween.prototype = {
  constructor: Tween,
  init: function( elem, options, prop, end, easing, unit ) {
    this.elem = elem;
    this.prop = prop;
    this.easing = easing || jQuery.easing._default;
    this.options = options;
    this.start = this.now = this.cur();
    this.end = end;
    this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
  },
  cur: function() {
    var hooks = Tween.propHooks[ this.prop ];

    return hooks && hooks.get ?
      hooks.get( this ) :
      Tween.propHooks._default.get( this );
  },
  run: function( percent ) {
    var eased,
      hooks = Tween.propHooks[ this.prop ];

    if ( this.options.duration ) {
      this.pos = eased = jQuery.easing[ this.easing ](
        percent, this.options.duration * percent, 0, 1, this.options.duration
      );
    } else {
      this.pos = eased = percent;
    }
    this.now = ( this.end - this.start ) * eased + this.start;

    if ( this.options.step ) {
      this.options.step.call( this.elem, this.now, this );
    }

    if ( hooks && hooks.set ) {
      hooks.set( this );
    } else {
      Tween.propHooks._default.set( this );
    }
    return this;
  }
};

Tween.prototype.init.prototype = Tween.prototype;

Tween.propHooks = {
  _default: {
    get: function( tween ) {
      var result;

      // Use a property on the element directly when it is not a DOM element,
      // or when there is no matching style property that exists.
      if ( tween.elem.nodeType !== 1 ||
        tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
        return tween.elem[ tween.prop ];
      }

      // Passing an empty string as a 3rd parameter to .css will automatically
      // attempt a parseFloat and fallback to a string if the parse fails.
      // Simple values such as "10px" are parsed to Float;
      // complex values such as "rotate(1rad)" are returned as-is.
      result = jQuery.css( tween.elem, tween.prop, "" );

      // Empty strings, null, undefined and "auto" are converted to 0.
      return !result || result === "auto" ? 0 : result;
    },
    set: function( tween ) {

      // Use step hook for back compat.
      // Use cssHook if its there.
      // Use .style if available and use plain properties where available.
      if ( jQuery.fx.step[ tween.prop ] ) {
        jQuery.fx.step[ tween.prop ]( tween );
      } else if ( tween.elem.nodeType === 1 && (
        jQuery.cssHooks[ tween.prop ] ||
          tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
        jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
      } else {
        tween.elem[ tween.prop ] = tween.now;
      }
    }
  }
};

// Support: IE <=9 only
// Panic based approach to setting things on disconnected nodes
Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
  set: function( tween ) {
    if ( tween.elem.nodeType && tween.elem.parentNode ) {
      tween.elem[ tween.prop ] = tween.now;
    }
  }
};

jQuery.easing = {
  linear: function( p ) {
    return p;
  },
  swing: function( p ) {
    return 0.5 - Math.cos( p * Math.PI ) / 2;
  },
  _default: "swing"
};

jQuery.fx = Tween.prototype.init;

// Back compat <1.8 extension point
jQuery.fx.step = {};




var
  fxNow, inProgress,
  rfxtypes = /^(?:toggle|show|hide)$/,
  rrun = /queueHooks$/;

function schedule() {
  if ( inProgress ) {
    if ( document.hidden === false && window.requestAnimationFrame ) {
      window.requestAnimationFrame( schedule );
    } else {
      window.setTimeout( schedule, jQuery.fx.interval );
    }

    jQuery.fx.tick();
  }
}

// Animations created synchronously will run synchronously
function createFxNow() {
  window.setTimeout( function() {
    fxNow = undefined;
  } );
  return ( fxNow = Date.now() );
}

// Generate parameters to create a standard animation
function genFx( type, includeWidth ) {
  var which,
    i = 0,
    attrs = { height: type };

  // If we include width, step value is 1 to do all cssExpand values,
  // otherwise step value is 2 to skip over Left and Right
  includeWidth = includeWidth ? 1 : 0;
  for ( ; i < 4; i += 2 - includeWidth ) {
    which = cssExpand[ i ];
    attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
  }

  if ( includeWidth ) {
    attrs.opacity = attrs.width = type;
  }

  return attrs;
}

function createTween( value, prop, animation ) {
  var tween,
    collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
    index = 0,
    length = collection.length;
  for ( ; index < length; index++ ) {
    if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {

      // We're done with this property
      return tween;
    }
  }
}

function defaultPrefilter( elem, props, opts ) {
  var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
    isBox = "width" in props || "height" in props,
    anim = this,
    orig = {},
    style = elem.style,
    hidden = elem.nodeType && isHiddenWithinTree( elem ),
    dataShow = dataPriv.get( elem, "fxshow" );

  // Queue-skipping animations hijack the fx hooks
  if ( !opts.queue ) {
    hooks = jQuery._queueHooks( elem, "fx" );
    if ( hooks.unqueued == null ) {
      hooks.unqueued = 0;
      oldfire = hooks.empty.fire;
      hooks.empty.fire = function() {
        if ( !hooks.unqueued ) {
          oldfire();
        }
      };
    }
    hooks.unqueued++;

    anim.always( function() {

      // Ensure the complete handler is called before this completes
      anim.always( function() {
        hooks.unqueued--;
        if ( !jQuery.queue( elem, "fx" ).length ) {
          hooks.empty.fire();
        }
      } );
    } );
  }

  // Detect show/hide animations
  for ( prop in props ) {
    value = props[ prop ];
    if ( rfxtypes.test( value ) ) {
      delete props[ prop ];
      toggle = toggle || value === "toggle";
      if ( value === ( hidden ? "hide" : "show" ) ) {

        // Pretend to be hidden if this is a "show" and
        // there is still data from a stopped show/hide
        if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
          hidden = true;

        // Ignore all other no-op show/hide data
        } else {
          continue;
        }
      }
      orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
    }
  }

  // Bail out if this is a no-op like .hide().hide()
  propTween = !jQuery.isEmptyObject( props );
  if ( !propTween && jQuery.isEmptyObject( orig ) ) {
    return;
  }

  // Restrict "overflow" and "display" styles during box animations
  if ( isBox && elem.nodeType === 1 ) {

    // Support: IE <=9 - 11, Edge 12 - 15
    // Record all 3 overflow attributes because IE does not infer the shorthand
    // from identically-valued overflowX and overflowY and Edge just mirrors
    // the overflowX value there.
    opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];

    // Identify a display type, preferring old show/hide data over the CSS cascade
    restoreDisplay = dataShow && dataShow.display;
    if ( restoreDisplay == null ) {
      restoreDisplay = dataPriv.get( elem, "display" );
    }
    display = jQuery.css( elem, "display" );
    if ( display === "none" ) {
      if ( restoreDisplay ) {
        display = restoreDisplay;
      } else {

        // Get nonempty value(s) by temporarily forcing visibility
        showHide( [ elem ], true );
        restoreDisplay = elem.style.display || restoreDisplay;
        display = jQuery.css( elem, "display" );
        showHide( [ elem ] );
      }
    }

    // Animate inline elements as inline-block
    if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
      if ( jQuery.css( elem, "float" ) === "none" ) {

        // Restore the original display value at the end of pure show/hide animations
        if ( !propTween ) {
          anim.done( function() {
            style.display = restoreDisplay;
          } );
          if ( restoreDisplay == null ) {
            display = style.display;
            restoreDisplay = display === "none" ? "" : display;
          }
        }
        style.display = "inline-block";
      }
    }
  }

  if ( opts.overflow ) {
    style.overflow = "hidden";
    anim.always( function() {
      style.overflow = opts.overflow[ 0 ];
      style.overflowX = opts.overflow[ 1 ];
      style.overflowY = opts.overflow[ 2 ];
    } );
  }

  // Implement show/hide animations
  propTween = false;
  for ( prop in orig ) {

    // General show/hide setup for this element animation
    if ( !propTween ) {
      if ( dataShow ) {
        if ( "hidden" in dataShow ) {
          hidden = dataShow.hidden;
        }
      } else {
        dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
      }

      // Store hidden/visible for toggle so `.stop().toggle()` "reverses"
      if ( toggle ) {
        dataShow.hidden = !hidden;
      }

      // Show elements before animating them
      if ( hidden ) {
        showHide( [ elem ], true );
      }

      /* eslint-disable no-loop-func */

      anim.done( function() {

        /* eslint-enable no-loop-func */

        // The final step of a "hide" animation is actually hiding the element
        if ( !hidden ) {
          showHide( [ elem ] );
        }
        dataPriv.remove( elem, "fxshow" );
        for ( prop in orig ) {
          jQuery.style( elem, prop, orig[ prop ] );
        }
      } );
    }

    // Per-property setup
    propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
    if ( !( prop in dataShow ) ) {
      dataShow[ prop ] = propTween.start;
      if ( hidden ) {
        propTween.end = propTween.start;
        propTween.start = 0;
      }
    }
  }
}

function propFilter( props, specialEasing ) {
  var index, name, easing, value, hooks;

  // camelCase, specialEasing and expand cssHook pass
  for ( index in props ) {
    name = camelCase( index );
    easing = specialEasing[ name ];
    value = props[ index ];
    if ( Array.isArray( value ) ) {
      easing = value[ 1 ];
      value = props[ index ] = value[ 0 ];
    }

    if ( index !== name ) {
      props[ name ] = value;
      delete props[ index ];
    }

    hooks = jQuery.cssHooks[ name ];
    if ( hooks && "expand" in hooks ) {
      value = hooks.expand( value );
      delete props[ name ];

      // Not quite $.extend, this won't overwrite existing keys.
      // Reusing 'index' because we have the correct "name"
      for ( index in value ) {
        if ( !( index in props ) ) {
          props[ index ] = value[ index ];
          specialEasing[ index ] = easing;
        }
      }
    } else {
      specialEasing[ name ] = easing;
    }
  }
}

function Animation( elem, properties, options ) {
  var result,
    stopped,
    index = 0,
    length = Animation.prefilters.length,
    deferred = jQuery.Deferred().always( function() {

      // Don't match elem in the :animated selector
      delete tick.elem;
    } ),
    tick = function() {
      if ( stopped ) {
        return false;
      }
      var currentTime = fxNow || createFxNow(),
        remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),

        // Support: Android 2.3 only
        // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
        temp = remaining / animation.duration || 0,
        percent = 1 - temp,
        index = 0,
        length = animation.tweens.length;

      for ( ; index < length; index++ ) {
        animation.tweens[ index ].run( percent );
      }

      deferred.notifyWith( elem, [ animation, percent, remaining ] );

      // If there's more to do, yield
      if ( percent < 1 && length ) {
        return remaining;
      }

      // If this was an empty animation, synthesize a final progress notification
      if ( !length ) {
        deferred.notifyWith( elem, [ animation, 1, 0 ] );
      }

      // Resolve the animation and report its conclusion
      deferred.resolveWith( elem, [ animation ] );
      return false;
    },
    animation = deferred.promise( {
      elem: elem,
      props: jQuery.extend( {}, properties ),
      opts: jQuery.extend( true, {
        specialEasing: {},
        easing: jQuery.easing._default
      }, options ),
      originalProperties: properties,
      originalOptions: options,
      startTime: fxNow || createFxNow(),
      duration: options.duration,
      tweens: [],
      createTween: function( prop, end ) {
        var tween = jQuery.Tween( elem, animation.opts, prop, end,
          animation.opts.specialEasing[ prop ] || animation.opts.easing );
        animation.tweens.push( tween );
        return tween;
      },
      stop: function( gotoEnd ) {
        var index = 0,

          // If we are going to the end, we want to run all the tweens
          // otherwise we skip this part
          length = gotoEnd ? animation.tweens.length : 0;
        if ( stopped ) {
          return this;
        }
        stopped = true;
        for ( ; index < length; index++ ) {
          animation.tweens[ index ].run( 1 );
        }

        // Resolve when we played the last frame; otherwise, reject
        if ( gotoEnd ) {
          deferred.notifyWith( elem, [ animation, 1, 0 ] );
          deferred.resolveWith( elem, [ animation, gotoEnd ] );
        } else {
          deferred.rejectWith( elem, [ animation, gotoEnd ] );
        }
        return this;
      }
    } ),
    props = animation.props;

  propFilter( props, animation.opts.specialEasing );

  for ( ; index < length; index++ ) {
    result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
    if ( result ) {
      if ( isFunction( result.stop ) ) {
        jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
          result.stop.bind( result );
      }
      return result;
    }
  }

  jQuery.map( props, createTween, animation );

  if ( isFunction( animation.opts.start ) ) {
    animation.opts.start.call( elem, animation );
  }

  // Attach callbacks from options
  animation
    .progress( animation.opts.progress )
    .done( animation.opts.done, animation.opts.complete )
    .fail( animation.opts.fail )
    .always( animation.opts.always );

  jQuery.fx.timer(
    jQuery.extend( tick, {
      elem: elem,
      anim: animation,
      queue: animation.opts.queue
    } )
  );

  return animation;
}

jQuery.Animation = jQuery.extend( Animation, {

  tweeners: {
    "*": [ function( prop, value ) {
      var tween = this.createTween( prop, value );
      adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
      return tween;
    } ]
  },

  tweener: function( props, callback ) {
    if ( isFunction( props ) ) {
      callback = props;
      props = [ "*" ];
    } else {
      props = props.match( rnothtmlwhite );
    }

    var prop,
      index = 0,
      length = props.length;

    for ( ; index < length; index++ ) {
      prop = props[ index ];
      Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
      Animation.tweeners[ prop ].unshift( callback );
    }
  },

  prefilters: [ defaultPrefilter ],

  prefilter: function( callback, prepend ) {
    if ( prepend ) {
      Animation.prefilters.unshift( callback );
    } else {
      Animation.prefilters.push( callback );
    }
  }
} );

jQuery.speed = function( speed, easing, fn ) {
  var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
    complete: fn || !fn && easing ||
      isFunction( speed ) && speed,
    duration: speed,
    easing: fn && easing || easing && !isFunction( easing ) && easing
  };

  // Go to the end state if fx are off
  if ( jQuery.fx.off ) {
    opt.duration = 0;

  } else {
    if ( typeof opt.duration !== "number" ) {
      if ( opt.duration in jQuery.fx.speeds ) {
        opt.duration = jQuery.fx.speeds[ opt.duration ];

      } else {
        opt.duration = jQuery.fx.speeds._default;
      }
    }
  }

  // Normalize opt.queue - true/undefined/null -> "fx"
  if ( opt.queue == null || opt.queue === true ) {
    opt.queue = "fx";
  }

  // Queueing
  opt.old = opt.complete;

  opt.complete = function() {
    if ( isFunction( opt.old ) ) {
      opt.old.call( this );
    }

    if ( opt.queue ) {
      jQuery.dequeue( this, opt.queue );
    }
  };

  return opt;
};

jQuery.fn.extend( {
  fadeTo: function( speed, to, easing, callback ) {

    // Show any hidden elements after setting opacity to 0
    return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()

      // Animate to the value specified
      .end().animate( { opacity: to }, speed, easing, callback );
  },
  animate: function( prop, speed, easing, callback ) {
    var empty = jQuery.isEmptyObject( prop ),
      optall = jQuery.speed( speed, easing, callback ),
      doAnimation = function() {

        // Operate on a copy of prop so per-property easing won't be lost
        var anim = Animation( this, jQuery.extend( {}, prop ), optall );

        // Empty animations, or finishing resolves immediately
        if ( empty || dataPriv.get( this, "finish" ) ) {
          anim.stop( true );
        }
      };

    doAnimation.finish = doAnimation;

    return empty || optall.queue === false ?
      this.each( doAnimation ) :
      this.queue( optall.queue, doAnimation );
  },
  stop: function( type, clearQueue, gotoEnd ) {
    var stopQueue = function( hooks ) {
      var stop = hooks.stop;
      delete hooks.stop;
      stop( gotoEnd );
    };

    if ( typeof type !== "string" ) {
      gotoEnd = clearQueue;
      clearQueue = type;
      type = undefined;
    }
    if ( clearQueue ) {
      this.queue( type || "fx", [] );
    }

    return this.each( function() {
      var dequeue = true,
        index = type != null && type + "queueHooks",
        timers = jQuery.timers,
        data = dataPriv.get( this );

      if ( index ) {
        if ( data[ index ] && data[ index ].stop ) {
          stopQueue( data[ index ] );
        }
      } else {
        for ( index in data ) {
          if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
            stopQueue( data[ index ] );
          }
        }
      }

      for ( index = timers.length; index--; ) {
        if ( timers[ index ].elem === this &&
          ( type == null || timers[ index ].queue === type ) ) {

          timers[ index ].anim.stop( gotoEnd );
          dequeue = false;
          timers.splice( index, 1 );
        }
      }

      // Start the next in the queue if the last step wasn't forced.
      // Timers currently will call their complete callbacks, which
      // will dequeue but only if they were gotoEnd.
      if ( dequeue || !gotoEnd ) {
        jQuery.dequeue( this, type );
      }
    } );
  },
  finish: function( type ) {
    if ( type !== false ) {
      type = type || "fx";
    }
    return this.each( function() {
      var index,
        data = dataPriv.get( this ),
        queue = data[ type + "queue" ],
        hooks = data[ type + "queueHooks" ],
        timers = jQuery.timers,
        length = queue ? queue.length : 0;

      // Enable finishing flag on private data
      data.finish = true;

      // Empty the queue first
      jQuery.queue( this, type, [] );

      if ( hooks && hooks.stop ) {
        hooks.stop.call( this, true );
      }

      // Look for any active animations, and finish them
      for ( index = timers.length; index--; ) {
        if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
          timers[ index ].anim.stop( true );
          timers.splice( index, 1 );
        }
      }

      // Look for any animations in the old queue and finish them
      for ( index = 0; index < length; index++ ) {
        if ( queue[ index ] && queue[ index ].finish ) {
          queue[ index ].finish.call( this );
        }
      }

      // Turn off finishing flag
      delete data.finish;
    } );
  }
} );

jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
  var cssFn = jQuery.fn[ name ];
  jQuery.fn[ name ] = function( speed, easing, callback ) {
    return speed == null || typeof speed === "boolean" ?
      cssFn.apply( this, arguments ) :
      this.animate( genFx( name, true ), speed, easing, callback );
  };
} );

// Generate shortcuts for custom animations
jQuery.each( {
  slideDown: genFx( "show" ),
  slideUp: genFx( "hide" ),
  slideToggle: genFx( "toggle" ),
  fadeIn: { opacity: "show" },
  fadeOut: { opacity: "hide" },
  fadeToggle: { opacity: "toggle" }
}, function( name, props ) {
  jQuery.fn[ name ] = function( speed, easing, callback ) {
    return this.animate( props, speed, easing, callback );
  };
} );

jQuery.timers = [];
jQuery.fx.tick = function() {
  var timer,
    i = 0,
    timers = jQuery.timers;

  fxNow = Date.now();

  for ( ; i < timers.length; i++ ) {
    timer = timers[ i ];

    // Run the timer and safely remove it when done (allowing for external removal)
    if ( !timer() && timers[ i ] === timer ) {
      timers.splice( i--, 1 );
    }
  }

  if ( !timers.length ) {
    jQuery.fx.stop();
  }
  fxNow = undefined;
};

jQuery.fx.timer = function( timer ) {
  jQuery.timers.push( timer );
  jQuery.fx.start();
};

jQuery.fx.interval = 13;
jQuery.fx.start = function() {
  if ( inProgress ) {
    return;
  }

  inProgress = true;
  schedule();
};

jQuery.fx.stop = function() {
  inProgress = null;
};

jQuery.fx.speeds = {
  slow: 600,
  fast: 200,

  // Default speed
  _default: 400
};


// Based off of the plugin by Clint Helfers, with permission.
jQuery.fn.delay = function( time, type ) {
  time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
  type = type || "fx";

  return this.queue( type, function( next, hooks ) {
    var timeout = window.setTimeout( next, time );
    hooks.stop = function() {
      window.clearTimeout( timeout );
    };
  } );
};


( function() {
  var input = document.createElement( "input" ),
    select = document.createElement( "select" ),
    opt = select.appendChild( document.createElement( "option" ) );

  input.type = "checkbox";

  // Support: Android <=4.3 only
  // Default value for a checkbox should be "on"
  support.checkOn = input.value !== "";

  // Support: IE <=11 only
  // Must access selectedIndex to make default options select
  support.optSelected = opt.selected;

  // Support: IE <=11 only
  // An input loses its value after becoming a radio
  input = document.createElement( "input" );
  input.value = "t";
  input.type = "radio";
  support.radioValue = input.value === "t";
} )();


var boolHook,
  attrHandle = jQuery.expr.attrHandle;

jQuery.fn.extend( {
  attr: function( name, value ) {
    return access( this, jQuery.attr, name, value, arguments.length > 1 );
  },

  removeAttr: function( name ) {
    return this.each( function() {
      jQuery.removeAttr( this, name );
    } );
  }
} );

jQuery.extend( {
  attr: function( elem, name, value ) {
    var ret, hooks,
      nType = elem.nodeType;

    // Don't get/set attributes on text, comment and attribute nodes
    if ( nType === 3 || nType === 8 || nType === 2 ) {
      return;
    }

    // Fallback to prop when attributes are not supported
    if ( typeof elem.getAttribute === "undefined" ) {
      return jQuery.prop( elem, name, value );
    }

    // Attribute hooks are determined by the lowercase version
    // Grab necessary hook if one is defined
    if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
      hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
        ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
    }

    if ( value !== undefined ) {
      if ( value === null ) {
        jQuery.removeAttr( elem, name );
        return;
      }

      if ( hooks && "set" in hooks &&
        ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
        return ret;
      }

      elem.setAttribute( name, value + "" );
      return value;
    }

    if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
      return ret;
    }

    ret = jQuery.find.attr( elem, name );

    // Non-existent attributes return null, we normalize to undefined
    return ret == null ? undefined : ret;
  },

  attrHooks: {
    type: {
      set: function( elem, value ) {
        if ( !support.radioValue && value === "radio" &&
          nodeName( elem, "input" ) ) {
          var val = elem.value;
          elem.setAttribute( "type", value );
          if ( val ) {
            elem.value = val;
          }
          return value;
        }
      }
    }
  },

  removeAttr: function( elem, value ) {
    var name,
      i = 0,

      // Attribute names can contain non-HTML whitespace characters
      // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
      attrNames = value && value.match( rnothtmlwhite );

    if ( attrNames && elem.nodeType === 1 ) {
      while ( ( name = attrNames[ i++ ] ) ) {
        elem.removeAttribute( name );
      }
    }
  }
} );

// Hooks for boolean attributes
boolHook = {
  set: function( elem, value, name ) {
    if ( value === false ) {

      // Remove boolean attributes when set to false
      jQuery.removeAttr( elem, name );
    } else {
      elem.setAttribute( name, name );
    }
    return name;
  }
};

jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
  var getter = attrHandle[ name ] || jQuery.find.attr;

  attrHandle[ name ] = function( elem, name, isXML ) {
    var ret, handle,
      lowercaseName = name.toLowerCase();

    if ( !isXML ) {

      // Avoid an infinite loop by temporarily removing this function from the getter
      handle = attrHandle[ lowercaseName ];
      attrHandle[ lowercaseName ] = ret;
      ret = getter( elem, name, isXML ) != null ?
        lowercaseName :
        null;
      attrHandle[ lowercaseName ] = handle;
    }
    return ret;
  };
} );




var rfocusable = /^(?:input|select|textarea|button)$/i,
  rclickable = /^(?:a|area)$/i;

jQuery.fn.extend( {
  prop: function( name, value ) {
    return access( this, jQuery.prop, name, value, arguments.length > 1 );
  },

  removeProp: function( name ) {
    return this.each( function() {
      delete this[ jQuery.propFix[ name ] || name ];
    } );
  }
} );

jQuery.extend( {
  prop: function( elem, name, value ) {
    var ret, hooks,
      nType = elem.nodeType;

    // Don't get/set properties on text, comment and attribute nodes
    if ( nType === 3 || nType === 8 || nType === 2 ) {
      return;
    }

    if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {

      // Fix name and attach hooks
      name = jQuery.propFix[ name ] || name;
      hooks = jQuery.propHooks[ name ];
    }

    if ( value !== undefined ) {
      if ( hooks && "set" in hooks &&
        ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
        return ret;
      }

      return ( elem[ name ] = value );
    }

    if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
      return ret;
    }

    return elem[ name ];
  },

  propHooks: {
    tabIndex: {
      get: function( elem ) {

        // Support: IE <=9 - 11 only
        // elem.tabIndex doesn't always return the
        // correct value when it hasn't been explicitly set
        // Use proper attribute retrieval (trac-12072)
        var tabindex = jQuery.find.attr( elem, "tabindex" );

        if ( tabindex ) {
          return parseInt( tabindex, 10 );
        }

        if (
          rfocusable.test( elem.nodeName ) ||
          rclickable.test( elem.nodeName ) &&
          elem.href
        ) {
          return 0;
        }

        return -1;
      }
    }
  },

  propFix: {
    "for": "htmlFor",
    "class": "className"
  }
} );

// Support: IE <=11 only
// Accessing the selectedIndex property
// forces the browser to respect setting selected
// on the option
// The getter ensures a default option is selected
// when in an optgroup
// eslint rule "no-unused-expressions" is disabled for this code
// since it considers such accessions noop
if ( !support.optSelected ) {
  jQuery.propHooks.selected = {
    get: function( elem ) {

      /* eslint no-unused-expressions: "off" */

      var parent = elem.parentNode;
      if ( parent && parent.parentNode ) {
        parent.parentNode.selectedIndex;
      }
      return null;
    },
    set: function( elem ) {

      /* eslint no-unused-expressions: "off" */

      var parent = elem.parentNode;
      if ( parent ) {
        parent.selectedIndex;

        if ( parent.parentNode ) {
          parent.parentNode.selectedIndex;
        }
      }
    }
  };
}

jQuery.each( [
  "tabIndex",
  "readOnly",
  "maxLength",
  "cellSpacing",
  "cellPadding",
  "rowSpan",
  "colSpan",
  "useMap",
  "frameBorder",
  "contentEditable"
], function() {
  jQuery.propFix[ this.toLowerCase() ] = this;
} );




  // Strip and collapse whitespace according to HTML spec
  // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
  function stripAndCollapse( value ) {
    var tokens = value.match( rnothtmlwhite ) || [];
    return tokens.join( " " );
  }


function getClass( elem ) {
  return elem.getAttribute && elem.getAttribute( "class" ) || "";
}

function classesToArray( value ) {
  if ( Array.isArray( value ) ) {
    return value;
  }
  if ( typeof value === "string" ) {
    return value.match( rnothtmlwhite ) || [];
  }
  return [];
}

jQuery.fn.extend( {
  addClass: function( value ) {
    var classNames, cur, curValue, className, i, finalValue;

    if ( isFunction( value ) ) {
      return this.each( function( j ) {
        jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
      } );
    }

    classNames = classesToArray( value );

    if ( classNames.length ) {
      return this.each( function() {
        curValue = getClass( this );
        cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );

        if ( cur ) {
          for ( i = 0; i < classNames.length; i++ ) {
            className = classNames[ i ];
            if ( cur.indexOf( " " + className + " " ) < 0 ) {
              cur += className + " ";
            }
          }

          // Only assign if different to avoid unneeded rendering.
          finalValue = stripAndCollapse( cur );
          if ( curValue !== finalValue ) {
            this.setAttribute( "class", finalValue );
          }
        }
      } );
    }

    return this;
  },

  removeClass: function( value ) {
    var classNames, cur, curValue, className, i, finalValue;

    if ( isFunction( value ) ) {
      return this.each( function( j ) {
        jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
      } );
    }

    if ( !arguments.length ) {
      return this.attr( "class", "" );
    }

    classNames = classesToArray( value );

    if ( classNames.length ) {
      return this.each( function() {
        curValue = getClass( this );

        // This expression is here for better compressibility (see addClass)
        cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );

        if ( cur ) {
          for ( i = 0; i < classNames.length; i++ ) {
            className = classNames[ i ];

            // Remove *all* instances
            while ( cur.indexOf( " " + className + " " ) > -1 ) {
              cur = cur.replace( " " + className + " ", " " );
            }
          }

          // Only assign if different to avoid unneeded rendering.
          finalValue = stripAndCollapse( cur );
          if ( curValue !== finalValue ) {
            this.setAttribute( "class", finalValue );
          }
        }
      } );
    }

    return this;
  },

  toggleClass: function( value, stateVal ) {
    var classNames, className, i, self,
      type = typeof value,
      isValidValue = type === "string" || Array.isArray( value );

    if ( isFunction( value ) ) {
      return this.each( function( i ) {
        jQuery( this ).toggleClass(
          value.call( this, i, getClass( this ), stateVal ),
          stateVal
        );
      } );
    }

    if ( typeof stateVal === "boolean" && isValidValue ) {
      return stateVal ? this.addClass( value ) : this.removeClass( value );
    }

    classNames = classesToArray( value );

    return this.each( function() {
      if ( isValidValue ) {

        // Toggle individual class names
        self = jQuery( this );

        for ( i = 0; i < classNames.length; i++ ) {
          className = classNames[ i ];

          // Check each className given, space separated list
          if ( self.hasClass( className ) ) {
            self.removeClass( className );
          } else {
            self.addClass( className );
          }
        }

      // Toggle whole class name
      } else if ( value === undefined || type === "boolean" ) {
        className = getClass( this );
        if ( className ) {

          // Store className if set
          dataPriv.set( this, "__className__", className );
        }

        // If the element has a class name or if we're passed `false`,
        // then remove the whole classname (if there was one, the above saved it).
        // Otherwise bring back whatever was previously saved (if anything),
        // falling back to the empty string if nothing was stored.
        if ( this.setAttribute ) {
          this.setAttribute( "class",
            className || value === false ?
              "" :
              dataPriv.get( this, "__className__" ) || ""
          );
        }
      }
    } );
  },

  hasClass: function( selector ) {
    var className, elem,
      i = 0;

    className = " " + selector + " ";
    while ( ( elem = this[ i++ ] ) ) {
      if ( elem.nodeType === 1 &&
        ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
        return true;
      }
    }

    return false;
  }
} );




var rreturn = /\r/g;

jQuery.fn.extend( {
  val: function( value ) {
    var hooks, ret, valueIsFunction,
      elem = this[ 0 ];

    if ( !arguments.length ) {
      if ( elem ) {
        hooks = jQuery.valHooks[ elem.type ] ||
          jQuery.valHooks[ elem.nodeName.toLowerCase() ];

        if ( hooks &&
          "get" in hooks &&
          ( ret = hooks.get( elem, "value" ) ) !== undefined
        ) {
          return ret;
        }

        ret = elem.value;

        // Handle most common string cases
        if ( typeof ret === "string" ) {
          return ret.replace( rreturn, "" );
        }

        // Handle cases where value is null/undef or number
        return ret == null ? "" : ret;
      }

      return;
    }

    valueIsFunction = isFunction( value );

    return this.each( function( i ) {
      var val;

      if ( this.nodeType !== 1 ) {
        return;
      }

      if ( valueIsFunction ) {
        val = value.call( this, i, jQuery( this ).val() );
      } else {
        val = value;
      }

      // Treat null/undefined as ""; convert numbers to string
      if ( val == null ) {
        val = "";

      } else if ( typeof val === "number" ) {
        val += "";

      } else if ( Array.isArray( val ) ) {
        val = jQuery.map( val, function( value ) {
          return value == null ? "" : value + "";
        } );
      }

      hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];

      // If set returns undefined, fall back to normal setting
      if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
        this.value = val;
      }
    } );
  }
} );

jQuery.extend( {
  valHooks: {
    option: {
      get: function( elem ) {

        var val = jQuery.find.attr( elem, "value" );
        return val != null ?
          val :

          // Support: IE <=10 - 11 only
          // option.text throws exceptions (trac-14686, trac-14858)
          // Strip and collapse whitespace
          // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
          stripAndCollapse( jQuery.text( elem ) );
      }
    },
    select: {
      get: function( elem ) {
        var value, option, i,
          options = elem.options,
          index = elem.selectedIndex,
          one = elem.type === "select-one",
          values = one ? null : [],
          max = one ? index + 1 : options.length;

        if ( index < 0 ) {
          i = max;

        } else {
          i = one ? index : 0;
        }

        // Loop through all the selected options
        for ( ; i < max; i++ ) {
          option = options[ i ];

          // Support: IE <=9 only
          // IE8-9 doesn't update selected after form reset (trac-2551)
          if ( ( option.selected || i === index ) &&

              // Don't return options that are disabled or in a disabled optgroup
              !option.disabled &&
              ( !option.parentNode.disabled ||
                !nodeName( option.parentNode, "optgroup" ) ) ) {

            // Get the specific value for the option
            value = jQuery( option ).val();

            // We don't need an array for one selects
            if ( one ) {
              return value;
            }

            // Multi-Selects return an array
            values.push( value );
          }
        }

        return values;
      },

      set: function( elem, value ) {
        var optionSet, option,
          options = elem.options,
          values = jQuery.makeArray( value ),
          i = options.length;

        while ( i-- ) {
          option = options[ i ];

          /* eslint-disable no-cond-assign */

          if ( option.selected =
            jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
          ) {
            optionSet = true;
          }

          /* eslint-enable no-cond-assign */
        }

        // Force browsers to behave consistently when non-matching value is set
        if ( !optionSet ) {
          elem.selectedIndex = -1;
        }
        return values;
      }
    }
  }
} );

// Radios and checkboxes getter/setter
jQuery.each( [ "radio", "checkbox" ], function() {
  jQuery.valHooks[ this ] = {
    set: function( elem, value ) {
      if ( Array.isArray( value ) ) {
        return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
      }
    }
  };
  if ( !support.checkOn ) {
    jQuery.valHooks[ this ].get = function( elem ) {
      return elem.getAttribute( "value" ) === null ? "on" : elem.value;
    };
  }
} );




// Return jQuery for attributes-only inclusion
var location = window.location;

var nonce = { guid: Date.now() };

var rquery = ( /\?/ );



// Cross-browser xml parsing
jQuery.parseXML = function( data ) {
  var xml, parserErrorElem;
  if ( !data || typeof data !== "string" ) {
    return null;
  }

  // Support: IE 9 - 11 only
  // IE throws on parseFromString with invalid input.
  try {
    xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
  } catch ( e ) {}

  parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
  if ( !xml || parserErrorElem ) {
    jQuery.error( "Invalid XML: " + (
      parserErrorElem ?
        jQuery.map( parserErrorElem.childNodes, function( el ) {
          return el.textContent;
        } ).join( "\n" ) :
        data
    ) );
  }
  return xml;
};


var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
  stopPropagationCallback = function( e ) {
    e.stopPropagation();
  };

jQuery.extend( jQuery.event, {

  trigger: function( event, data, elem, onlyHandlers ) {

    var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
      eventPath = [ elem || document ],
      type = hasOwn.call( event, "type" ) ? event.type : event,
      namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];

    cur = lastElement = tmp = elem = elem || document;

    // Don't do events on text and comment nodes
    if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
      return;
    }

    // focus/blur morphs to focusin/out; ensure we're not firing them right now
    if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
      return;
    }

    if ( type.indexOf( "." ) > -1 ) {

      // Namespaced trigger; create a regexp to match event type in handle()
      namespaces = type.split( "." );
      type = namespaces.shift();
      namespaces.sort();
    }
    ontype = type.indexOf( ":" ) < 0 && "on" + type;

    // Caller can pass in a jQuery.Event object, Object, or just an event type string
    event = event[ jQuery.expando ] ?
      event :
      new jQuery.Event( type, typeof event === "object" && event );

    // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
    event.isTrigger = onlyHandlers ? 2 : 3;
    event.namespace = namespaces.join( "." );
    event.rnamespace = event.namespace ?
      new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
      null;

    // Clean up the event in case it is being reused
    event.result = undefined;
    if ( !event.target ) {
      event.target = elem;
    }

    // Clone any incoming data and prepend the event, creating the handler arg list
    data = data == null ?
      [ event ] :
      jQuery.makeArray( data, [ event ] );

    // Allow special events to draw outside the lines
    special = jQuery.event.special[ type ] || {};
    if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
      return;
    }

    // Determine event propagation path in advance, per W3C events spec (trac-9951)
    // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
    if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {

      bubbleType = special.delegateType || type;
      if ( !rfocusMorph.test( bubbleType + type ) ) {
        cur = cur.parentNode;
      }
      for ( ; cur; cur = cur.parentNode ) {
        eventPath.push( cur );
        tmp = cur;
      }

      // Only add window if we got to document (e.g., not plain obj or detached DOM)
      if ( tmp === ( elem.ownerDocument || document ) ) {
        eventPath.push( tmp.defaultView || tmp.parentWindow || window );
      }
    }

    // Fire handlers on the event path
    i = 0;
    while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
      lastElement = cur;
      event.type = i > 1 ?
        bubbleType :
        special.bindType || type;

      // jQuery handler
      handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
        dataPriv.get( cur, "handle" );
      if ( handle ) {
        handle.apply( cur, data );
      }

      // Native handler
      handle = ontype && cur[ ontype ];
      if ( handle && handle.apply && acceptData( cur ) ) {
        event.result = handle.apply( cur, data );
        if ( event.result === false ) {
          event.preventDefault();
        }
      }
    }
    event.type = type;

    // If nobody prevented the default action, do it now
    if ( !onlyHandlers && !event.isDefaultPrevented() ) {

      if ( ( !special._default ||
        special._default.apply( eventPath.pop(), data ) === false ) &&
        acceptData( elem ) ) {

        // Call a native DOM method on the target with the same name as the event.
        // Don't do default actions on window, that's where global variables be (trac-6170)
        if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {

          // Don't re-trigger an onFOO event when we call its FOO() method
          tmp = elem[ ontype ];

          if ( tmp ) {
            elem[ ontype ] = null;
          }

          // Prevent re-triggering of the same event, since we already bubbled it above
          jQuery.event.triggered = type;

          if ( event.isPropagationStopped() ) {
            lastElement.addEventListener( type, stopPropagationCallback );
          }

          elem[ type ]();

          if ( event.isPropagationStopped() ) {
            lastElement.removeEventListener( type, stopPropagationCallback );
          }

          jQuery.event.triggered = undefined;

          if ( tmp ) {
            elem[ ontype ] = tmp;
          }
        }
      }
    }

    return event.result;
  },

  // Piggyback on a donor event to simulate a different one
  // Used only for `focus(in | out)` events
  simulate: function( type, elem, event ) {
    var e = jQuery.extend(
      new jQuery.Event(),
      event,
      {
        type: type,
        isSimulated: true
      }
    );

    jQuery.event.trigger( e, null, elem );
  }

} );

jQuery.fn.extend( {

  trigger: function( type, data ) {
    return this.each( function() {
      jQuery.event.trigger( type, data, this );
    } );
  },
  triggerHandler: function( type, data ) {
    var elem = this[ 0 ];
    if ( elem ) {
      return jQuery.event.trigger( type, data, elem, true );
    }
  }
} );


var
  rbracket = /\[\]$/,
  rCRLF = /\r?\n/g,
  rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
  rsubmittable = /^(?:input|select|textarea|keygen)/i;

function buildParams( prefix, obj, traditional, add ) {
  var name;

  if ( Array.isArray( obj ) ) {

    // Serialize array item.
    jQuery.each( obj, function( i, v ) {
      if ( traditional || rbracket.test( prefix ) ) {

        // Treat each array item as a scalar.
        add( prefix, v );

      } else {

        // Item is non-scalar (array or object), encode its numeric index.
        buildParams(
          prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
          v,
          traditional,
          add
        );
      }
    } );

  } else if ( !traditional && toType( obj ) === "object" ) {

    // Serialize object item.
    for ( name in obj ) {
      buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
    }

  } else {

    // Serialize scalar item.
    add( prefix, obj );
  }
}

// Serialize an array of form elements or a set of
// key/values into a query string
jQuery.param = function( a, traditional ) {
  var prefix,
    s = [],
    add = function( key, valueOrFunction ) {

      // If value is a function, invoke it and use its return value
      var value = isFunction( valueOrFunction ) ?
        valueOrFunction() :
        valueOrFunction;

      s[ s.length ] = encodeURIComponent( key ) + "=" +
        encodeURIComponent( value == null ? "" : value );
    };

  if ( a == null ) {
    return "";
  }

  // If an array was passed in, assume that it is an array of form elements.
  if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {

    // Serialize the form elements
    jQuery.each( a, function() {
      add( this.name, this.value );
    } );

  } else {

    // If traditional, encode the "old" way (the way 1.3.2 or older
    // did it), otherwise encode params recursively.
    for ( prefix in a ) {
      buildParams( prefix, a[ prefix ], traditional, add );
    }
  }

  // Return the resulting serialization
  return s.join( "&" );
};

jQuery.fn.extend( {
  serialize: function() {
    return jQuery.param( this.serializeArray() );
  },
  serializeArray: function() {
    return this.map( function() {

      // Can add propHook for "elements" to filter or add form elements
      var elements = jQuery.prop( this, "elements" );
      return elements ? jQuery.makeArray( elements ) : this;
    } ).filter( function() {
      var type = this.type;

      // Use .is( ":disabled" ) so that fieldset[disabled] works
      return this.name && !jQuery( this ).is( ":disabled" ) &&
        rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
        ( this.checked || !rcheckableType.test( type ) );
    } ).map( function( _i, elem ) {
      var val = jQuery( this ).val();

      if ( val == null ) {
        return null;
      }

      if ( Array.isArray( val ) ) {
        return jQuery.map( val, function( val ) {
          return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
        } );
      }

      return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
    } ).get();
  }
} );


var
  r20 = /%20/g,
  rhash = /#.*$/,
  rantiCache = /([?&])_=[^&]*/,
  rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,

  // trac-7653, trac-8125, trac-8152: local protocol detection
  rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
  rnoContent = /^(?:GET|HEAD)$/,
  rprotocol = /^\/\//,

  /* Prefilters
   * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
   * 2) These are called:
   *    - BEFORE asking for a transport
   *    - AFTER param serialization (s.data is a string if s.processData is true)
   * 3) key is the dataType
   * 4) the catchall symbol "*" can be used
   * 5) execution will start with transport dataType and THEN continue down to "*" if needed
   */
  prefilters = {},

  /* Transports bindings
   * 1) key is the dataType
   * 2) the catchall symbol "*" can be used
   * 3) selection will start with transport dataType and THEN go to "*" if needed
   */
  transports = {},

  // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
  allTypes = "*/".concat( "*" ),

  // Anchor tag for parsing the document origin
  originAnchor = document.createElement( "a" );

originAnchor.href = location.href;

// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
function addToPrefiltersOrTransports( structure ) {

  // dataTypeExpression is optional and defaults to "*"
  return function( dataTypeExpression, func ) {

    if ( typeof dataTypeExpression !== "string" ) {
      func = dataTypeExpression;
      dataTypeExpression = "*";
    }

    var dataType,
      i = 0,
      dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];

    if ( isFunction( func ) ) {

      // For each dataType in the dataTypeExpression
      while ( ( dataType = dataTypes[ i++ ] ) ) {

        // Prepend if requested
        if ( dataType[ 0 ] === "+" ) {
          dataType = dataType.slice( 1 ) || "*";
          ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );

        // Otherwise append
        } else {
          ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
        }
      }
    }
  };
}

// Base inspection function for prefilters and transports
function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {

  var inspected = {},
    seekingTransport = ( structure === transports );

  function inspect( dataType ) {
    var selected;
    inspected[ dataType ] = true;
    jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
      var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
      if ( typeof dataTypeOrTransport === "string" &&
        !seekingTransport && !inspected[ dataTypeOrTransport ] ) {

        options.dataTypes.unshift( dataTypeOrTransport );
        inspect( dataTypeOrTransport );
        return false;
      } else if ( seekingTransport ) {
        return !( selected = dataTypeOrTransport );
      }
    } );
    return selected;
  }

  return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
}

// A special extend for ajax options
// that takes "flat" options (not to be deep extended)
// Fixes trac-9887
function ajaxExtend( target, src ) {
  var key, deep,
    flatOptions = jQuery.ajaxSettings.flatOptions || {};

  for ( key in src ) {
    if ( src[ key ] !== undefined ) {
      ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
    }
  }
  if ( deep ) {
    jQuery.extend( true, target, deep );
  }

  return target;
}

/* Handles responses to an ajax request:
 * - finds the right dataType (mediates between content-type and expected dataType)
 * - returns the corresponding response
 */
function ajaxHandleResponses( s, jqXHR, responses ) {

  var ct, type, finalDataType, firstDataType,
    contents = s.contents,
    dataTypes = s.dataTypes;

  // Remove auto dataType and get content-type in the process
  while ( dataTypes[ 0 ] === "*" ) {
    dataTypes.shift();
    if ( ct === undefined ) {
      ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
    }
  }

  // Check if we're dealing with a known content-type
  if ( ct ) {
    for ( type in contents ) {
      if ( contents[ type ] && contents[ type ].test( ct ) ) {
        dataTypes.unshift( type );
        break;
      }
    }
  }

  // Check to see if we have a response for the expected dataType
  if ( dataTypes[ 0 ] in responses ) {
    finalDataType = dataTypes[ 0 ];
  } else {

    // Try convertible dataTypes
    for ( type in responses ) {
      if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
        finalDataType = type;
        break;
      }
      if ( !firstDataType ) {
        firstDataType = type;
      }
    }

    // Or just use first one
    finalDataType = finalDataType || firstDataType;
  }

  // If we found a dataType
  // We add the dataType to the list if needed
  // and return the corresponding response
  if ( finalDataType ) {
    if ( finalDataType !== dataTypes[ 0 ] ) {
      dataTypes.unshift( finalDataType );
    }
    return responses[ finalDataType ];
  }
}

/* Chain conversions given the request and the original response
 * Also sets the responseXXX fields on the jqXHR instance
 */
function ajaxConvert( s, response, jqXHR, isSuccess ) {
  var conv2, current, conv, tmp, prev,
    converters = {},

    // Work with a copy of dataTypes in case we need to modify it for conversion
    dataTypes = s.dataTypes.slice();

  // Create converters map with lowercased keys
  if ( dataTypes[ 1 ] ) {
    for ( conv in s.converters ) {
      converters[ conv.toLowerCase() ] = s.converters[ conv ];
    }
  }

  current = dataTypes.shift();

  // Convert to each sequential dataType
  while ( current ) {

    if ( s.responseFields[ current ] ) {
      jqXHR[ s.responseFields[ current ] ] = response;
    }

    // Apply the dataFilter if provided
    if ( !prev && isSuccess && s.dataFilter ) {
      response = s.dataFilter( response, s.dataType );
    }

    prev = current;
    current = dataTypes.shift();

    if ( current ) {

      // There's only work to do if current dataType is non-auto
      if ( current === "*" ) {

        current = prev;

      // Convert response if prev dataType is non-auto and differs from current
      } else if ( prev !== "*" && prev !== current ) {

        // Seek a direct converter
        conv = converters[ prev + " " + current ] || converters[ "* " + current ];

        // If none found, seek a pair
        if ( !conv ) {
          for ( conv2 in converters ) {

            // If conv2 outputs current
            tmp = conv2.split( " " );
            if ( tmp[ 1 ] === current ) {

              // If prev can be converted to accepted input
              conv = converters[ prev + " " + tmp[ 0 ] ] ||
                converters[ "* " + tmp[ 0 ] ];
              if ( conv ) {

                // Condense equivalence converters
                if ( conv === true ) {
                  conv = converters[ conv2 ];

                // Otherwise, insert the intermediate dataType
                } else if ( converters[ conv2 ] !== true ) {
                  current = tmp[ 0 ];
                  dataTypes.unshift( tmp[ 1 ] );
                }
                break;
              }
            }
          }
        }

        // Apply converter (if not an equivalence)
        if ( conv !== true ) {

          // Unless errors are allowed to bubble, catch and return them
          if ( conv && s.throws ) {
            response = conv( response );
          } else {
            try {
              response = conv( response );
            } catch ( e ) {
              return {
                state: "parsererror",
                error: conv ? e : "No conversion from " + prev + " to " + current
              };
            }
          }
        }
      }
    }
  }

  return { state: "success", data: response };
}

jQuery.extend( {

  // Counter for holding the number of active queries
  active: 0,

  // Last-Modified header cache for next request
  lastModified: {},
  etag: {},

  ajaxSettings: {
    url: location.href,
    type: "GET",
    isLocal: rlocalProtocol.test( location.protocol ),
    global: true,
    processData: true,
    async: true,
    contentType: "application/x-www-form-urlencoded; charset=UTF-8",

    /*
    timeout: 0,
    data: null,
    dataType: null,
    username: null,
    password: null,
    cache: null,
    throws: false,
    traditional: false,
    headers: {},
    */

    accepts: {
      "*": allTypes,
      text: "text/plain",
      html: "text/html",
      xml: "application/xml, text/xml",
      json: "application/json, text/javascript"
    },

    contents: {
      xml: /\bxml\b/,
      html: /\bhtml/,
      json: /\bjson\b/
    },

    responseFields: {
      xml: "responseXML",
      text: "responseText",
      json: "responseJSON"
    },

    // Data converters
    // Keys separate source (or catchall "*") and destination types with a single space
    converters: {

      // Convert anything to text
      "* text": String,

      // Text to html (true = no transformation)
      "text html": true,

      // Evaluate text as a json expression
      "text json": JSON.parse,

      // Parse text as xml
      "text xml": jQuery.parseXML
    },

    // For options that shouldn't be deep extended:
    // you can add your own custom options here if
    // and when you create one that shouldn't be
    // deep extended (see ajaxExtend)
    flatOptions: {
      url: true,
      context: true
    }
  },

  // Creates a full fledged settings object into target
  // with both ajaxSettings and settings fields.
  // If target is omitted, writes into ajaxSettings.
  ajaxSetup: function( target, settings ) {
    return settings ?

      // Building a settings object
      ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :

      // Extending ajaxSettings
      ajaxExtend( jQuery.ajaxSettings, target );
  },

  ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
  ajaxTransport: addToPrefiltersOrTransports( transports ),

  // Main method
  ajax: function( url, options ) {

    // If url is an object, simulate pre-1.5 signature
    if ( typeof url === "object" ) {
      options = url;
      url = undefined;
    }

    // Force options to be an object
    options = options || {};

    var transport,

      // URL without anti-cache param
      cacheURL,

      // Response headers
      responseHeadersString,
      responseHeaders,

      // timeout handle
      timeoutTimer,

      // Url cleanup var
      urlAnchor,

      // Request state (becomes false upon send and true upon completion)
      completed,

      // To know if global events are to be dispatched
      fireGlobals,

      // Loop variable
      i,

      // uncached part of the url
      uncached,

      // Create the final options object
      s = jQuery.ajaxSetup( {}, options ),

      // Callbacks context
      callbackContext = s.context || s,

      // Context for global events is callbackContext if it is a DOM node or jQuery collection
      globalEventContext = s.context &&
        ( callbackContext.nodeType || callbackContext.jquery ) ?
        jQuery( callbackContext ) :
        jQuery.event,

      // Deferreds
      deferred = jQuery.Deferred(),
      completeDeferred = jQuery.Callbacks( "once memory" ),

      // Status-dependent callbacks
      statusCode = s.statusCode || {},

      // Headers (they are sent all at once)
      requestHeaders = {},
      requestHeadersNames = {},

      // Default abort message
      strAbort = "canceled",

      // Fake xhr
      jqXHR = {
        readyState: 0,

        // Builds headers hashtable if needed
        getResponseHeader: function( key ) {
          var match;
          if ( completed ) {
            if ( !responseHeaders ) {
              responseHeaders = {};
              while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
                responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
                  ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
                    .concat( match[ 2 ] );
              }
            }
            match = responseHeaders[ key.toLowerCase() + " " ];
          }
          return match == null ? null : match.join( ", " );
        },

        // Raw string
        getAllResponseHeaders: function() {
          return completed ? responseHeadersString : null;
        },

        // Caches the header
        setRequestHeader: function( name, value ) {
          if ( completed == null ) {
            name = requestHeadersNames[ name.toLowerCase() ] =
              requestHeadersNames[ name.toLowerCase() ] || name;
            requestHeaders[ name ] = value;
          }
          return this;
        },

        // Overrides response content-type header
        overrideMimeType: function( type ) {
          if ( completed == null ) {
            s.mimeType = type;
          }
          return this;
        },

        // Status-dependent callbacks
        statusCode: function( map ) {
          var code;
          if ( map ) {
            if ( completed ) {

              // Execute the appropriate callbacks
              jqXHR.always( map[ jqXHR.status ] );
            } else {

              // Lazy-add the new callbacks in a way that preserves old ones
              for ( code in map ) {
                statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
              }
            }
          }
          return this;
        },

        // Cancel the request
        abort: function( statusText ) {
          var finalText = statusText || strAbort;
          if ( transport ) {
            transport.abort( finalText );
          }
          done( 0, finalText );
          return this;
        }
      };

    // Attach deferreds
    deferred.promise( jqXHR );

    // Add protocol if not provided (prefilters might expect it)
    // Handle falsy url in the settings object (trac-10093: consistency with old signature)
    // We also use the url parameter if available
    s.url = ( ( url || s.url || location.href ) + "" )
      .replace( rprotocol, location.protocol + "//" );

    // Alias method option to type as per ticket trac-12004
    s.type = options.method || options.type || s.method || s.type;

    // Extract dataTypes list
    s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];

    // A cross-domain request is in order when the origin doesn't match the current origin.
    if ( s.crossDomain == null ) {
      urlAnchor = document.createElement( "a" );

      // Support: IE <=8 - 11, Edge 12 - 15
      // IE throws exception on accessing the href property if url is malformed,
      // e.g. http://example.com:80x/
      try {
        urlAnchor.href = s.url;

        // Support: IE <=8 - 11 only
        // Anchor's host property isn't correctly set when s.url is relative
        urlAnchor.href = urlAnchor.href;
        s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
          urlAnchor.protocol + "//" + urlAnchor.host;
      } catch ( e ) {

        // If there is an error parsing the URL, assume it is crossDomain,
        // it can be rejected by the transport if it is invalid
        s.crossDomain = true;
      }
    }

    // Convert data if not already a string
    if ( s.data && s.processData && typeof s.data !== "string" ) {
      s.data = jQuery.param( s.data, s.traditional );
    }

    // Apply prefilters
    inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );

    // If request was aborted inside a prefilter, stop there
    if ( completed ) {
      return jqXHR;
    }

    // We can fire global events as of now if asked to
    // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
    fireGlobals = jQuery.event && s.global;

    // Watch for a new set of requests
    if ( fireGlobals && jQuery.active++ === 0 ) {
      jQuery.event.trigger( "ajaxStart" );
    }

    // Uppercase the type
    s.type = s.type.toUpperCase();

    // Determine if request has content
    s.hasContent = !rnoContent.test( s.type );

    // Save the URL in case we're toying with the If-Modified-Since
    // and/or If-None-Match header later on
    // Remove hash to simplify url manipulation
    cacheURL = s.url.replace( rhash, "" );

    // More options handling for requests with no content
    if ( !s.hasContent ) {

      // Remember the hash so we can put it back
      uncached = s.url.slice( cacheURL.length );

      // If data is available and should be processed, append data to url
      if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
        cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;

        // trac-9682: remove data so that it's not used in an eventual retry
        delete s.data;
      }

      // Add or update anti-cache param if needed
      if ( s.cache === false ) {
        cacheURL = cacheURL.replace( rantiCache, "$1" );
        uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
          uncached;
      }

      // Put hash and anti-cache on the URL that will be requested (gh-1732)
      s.url = cacheURL + uncached;

    // Change '%20' to '+' if this is encoded form body content (gh-2658)
    } else if ( s.data && s.processData &&
      ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
      s.data = s.data.replace( r20, "+" );
    }

    // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
    if ( s.ifModified ) {
      if ( jQuery.lastModified[ cacheURL ] ) {
        jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
      }
      if ( jQuery.etag[ cacheURL ] ) {
        jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
      }
    }

    // Set the correct header, if data is being sent
    if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
      jqXHR.setRequestHeader( "Content-Type", s.contentType );
    }

    // Set the Accepts header for the server, depending on the dataType
    jqXHR.setRequestHeader(
      "Accept",
      s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
        s.accepts[ s.dataTypes[ 0 ] ] +
          ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
        s.accepts[ "*" ]
    );

    // Check for headers option
    for ( i in s.headers ) {
      jqXHR.setRequestHeader( i, s.headers[ i ] );
    }

    // Allow custom headers/mimetypes and early abort
    if ( s.beforeSend &&
      ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {

      // Abort if not done already and return
      return jqXHR.abort();
    }

    // Aborting is no longer a cancellation
    strAbort = "abort";

    // Install callbacks on deferreds
    completeDeferred.add( s.complete );
    jqXHR.done( s.success );
    jqXHR.fail( s.error );

    // Get transport
    transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );

    // If no transport, we auto-abort
    if ( !transport ) {
      done( -1, "No Transport" );
    } else {
      jqXHR.readyState = 1;

      // Send global event
      if ( fireGlobals ) {
        globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
      }

      // If request was aborted inside ajaxSend, stop there
      if ( completed ) {
        return jqXHR;
      }

      // Timeout
      if ( s.async && s.timeout > 0 ) {
        timeoutTimer = window.setTimeout( function() {
          jqXHR.abort( "timeout" );
        }, s.timeout );
      }

      try {
        completed = false;
        transport.send( requestHeaders, done );
      } catch ( e ) {

        // Rethrow post-completion exceptions
        if ( completed ) {
          throw e;
        }

        // Propagate others as results
        done( -1, e );
      }
    }

    // Callback for when everything is done
    function done( status, nativeStatusText, responses, headers ) {
      var isSuccess, success, error, response, modified,
        statusText = nativeStatusText;

      // Ignore repeat invocations
      if ( completed ) {
        return;
      }

      completed = true;

      // Clear timeout if it exists
      if ( timeoutTimer ) {
        window.clearTimeout( timeoutTimer );
      }

      // Dereference transport for early garbage collection
      // (no matter how long the jqXHR object will be used)
      transport = undefined;

      // Cache response headers
      responseHeadersString = headers || "";

      // Set readyState
      jqXHR.readyState = status > 0 ? 4 : 0;

      // Determine if successful
      isSuccess = status >= 200 && status < 300 || status === 304;

      // Get response data
      if ( responses ) {
        response = ajaxHandleResponses( s, jqXHR, responses );
      }

      // Use a noop converter for missing script but not if jsonp
      if ( !isSuccess &&
        jQuery.inArray( "script", s.dataTypes ) > -1 &&
        jQuery.inArray( "json", s.dataTypes ) < 0 ) {
        s.converters[ "text script" ] = function() {};
      }

      // Convert no matter what (that way responseXXX fields are always set)
      response = ajaxConvert( s, response, jqXHR, isSuccess );

      // If successful, handle type chaining
      if ( isSuccess ) {

        // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
        if ( s.ifModified ) {
          modified = jqXHR.getResponseHeader( "Last-Modified" );
          if ( modified ) {
            jQuery.lastModified[ cacheURL ] = modified;
          }
          modified = jqXHR.getResponseHeader( "etag" );
          if ( modified ) {
            jQuery.etag[ cacheURL ] = modified;
          }
        }

        // if no content
        if ( status === 204 || s.type === "HEAD" ) {
          statusText = "nocontent";

        // if not modified
        } else if ( status === 304 ) {
          statusText = "notmodified";

        // If we have data, let's convert it
        } else {
          statusText = response.state;
          success = response.data;
          error = response.error;
          isSuccess = !error;
        }
      } else {

        // Extract error from statusText and normalize for non-aborts
        error = statusText;
        if ( status || !statusText ) {
          statusText = "error";
          if ( status < 0 ) {
            status = 0;
          }
        }
      }

      // Set data for the fake xhr object
      jqXHR.status = status;
      jqXHR.statusText = ( nativeStatusText || statusText ) + "";

      // Success/Error
      if ( isSuccess ) {
        deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
      } else {
        deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
      }

      // Status-dependent callbacks
      jqXHR.statusCode( statusCode );
      statusCode = undefined;

      if ( fireGlobals ) {
        globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
          [ jqXHR, s, isSuccess ? success : error ] );
      }

      // Complete
      completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );

      if ( fireGlobals ) {
        globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );

        // Handle the global AJAX counter
        if ( !( --jQuery.active ) ) {
          jQuery.event.trigger( "ajaxStop" );
        }
      }
    }

    return jqXHR;
  },

  getJSON: function( url, data, callback ) {
    return jQuery.get( url, data, callback, "json" );
  },

  getScript: function( url, callback ) {
    return jQuery.get( url, undefined, callback, "script" );
  }
} );

jQuery.each( [ "get", "post" ], function( _i, method ) {
  jQuery[ method ] = function( url, data, callback, type ) {

    // Shift arguments if data argument was omitted
    if ( isFunction( data ) ) {
      type = type || callback;
      callback = data;
      data = undefined;
    }

    // The url can be an options object (which then must have .url)
    return jQuery.ajax( jQuery.extend( {
      url: url,
      type: method,
      dataType: type,
      data: data,
      success: callback
    }, jQuery.isPlainObject( url ) && url ) );
  };
} );

jQuery.ajaxPrefilter( function( s ) {
  var i;
  for ( i in s.headers ) {
    if ( i.toLowerCase() === "content-type" ) {
      s.contentType = s.headers[ i ] || "";
    }
  }
} );


jQuery._evalUrl = function( url, options, doc ) {
  return jQuery.ajax( {
    url: url,

    // Make this explicit, since user can override this through ajaxSetup (trac-11264)
    type: "GET",
    dataType: "script",
    cache: true,
    async: false,
    global: false,

    // Only evaluate the response if it is successful (gh-4126)
    // dataFilter is not invoked for failure responses, so using it instead
    // of the default converter is kludgy but it works.
    converters: {
      "text script": function() {}
    },
    dataFilter: function( response ) {
      jQuery.globalEval( response, options, doc );
    }
  } );
};


jQuery.fn.extend( {
  wrapAll: function( html ) {
    var wrap;

    if ( this[ 0 ] ) {
      if ( isFunction( html ) ) {
        html = html.call( this[ 0 ] );
      }

      // The elements to wrap the target around
      wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );

      if ( this[ 0 ].parentNode ) {
        wrap.insertBefore( this[ 0 ] );
      }

      wrap.map( function() {
        var elem = this;

        while ( elem.firstElementChild ) {
          elem = elem.firstElementChild;
        }

        return elem;
      } ).append( this );
    }

    return this;
  },

  wrapInner: function( html ) {
    if ( isFunction( html ) ) {
      return this.each( function( i ) {
        jQuery( this ).wrapInner( html.call( this, i ) );
      } );
    }

    return this.each( function() {
      var self = jQuery( this ),
        contents = self.contents();

      if ( contents.length ) {
        contents.wrapAll( html );

      } else {
        self.append( html );
      }
    } );
  },

  wrap: function( html ) {
    var htmlIsFunction = isFunction( html );

    return this.each( function( i ) {
      jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
    } );
  },

  unwrap: function( selector ) {
    this.parent( selector ).not( "body" ).each( function() {
      jQuery( this ).replaceWith( this.childNodes );
    } );
    return this;
  }
} );


jQuery.expr.pseudos.hidden = function( elem ) {
  return !jQuery.expr.pseudos.visible( elem );
};
jQuery.expr.pseudos.visible = function( elem ) {
  return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
};




jQuery.ajaxSettings.xhr = function() {
  try {
    return new window.XMLHttpRequest();
  } catch ( e ) {}
};

var xhrSuccessStatus = {

    // File protocol always yields status code 0, assume 200
    0: 200,

    // Support: IE <=9 only
    // trac-1450: sometimes IE returns 1223 when it should be 204
    1223: 204
  },
  xhrSupported = jQuery.ajaxSettings.xhr();

support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
support.ajax = xhrSupported = !!xhrSupported;

jQuery.ajaxTransport( function( options ) {
  var callback, errorCallback;

  // Cross domain only allowed if supported through XMLHttpRequest
  if ( support.cors || xhrSupported && !options.crossDomain ) {
    return {
      send: function( headers, complete ) {
        var i,
          xhr = options.xhr();

        xhr.open(
          options.type,
          options.url,
          options.async,
          options.username,
          options.password
        );

        // Apply custom fields if provided
        if ( options.xhrFields ) {
          for ( i in options.xhrFields ) {
            xhr[ i ] = options.xhrFields[ i ];
          }
        }

        // Override mime type if needed
        if ( options.mimeType && xhr.overrideMimeType ) {
          xhr.overrideMimeType( options.mimeType );
        }

        // X-Requested-With header
        // For cross-domain requests, seeing as conditions for a preflight are
        // akin to a jigsaw puzzle, we simply never set it to be sure.
        // (it can always be set on a per-request basis or even using ajaxSetup)
        // For same-domain requests, won't change header if already provided.
        if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
          headers[ "X-Requested-With" ] = "XMLHttpRequest";
        }

        // Set headers
        for ( i in headers ) {
          xhr.setRequestHeader( i, headers[ i ] );
        }

        // Callback
        callback = function( type ) {
          return function() {
            if ( callback ) {
              callback = errorCallback = xhr.onload =
                xhr.onerror = xhr.onabort = xhr.ontimeout =
                  xhr.onreadystatechange = null;

              if ( type === "abort" ) {
                xhr.abort();
              } else if ( type === "error" ) {

                // Support: IE <=9 only
                // On a manual native abort, IE9 throws
                // errors on any property access that is not readyState
                if ( typeof xhr.status !== "number" ) {
                  complete( 0, "error" );
                } else {
                  complete(

                    // File: protocol always yields status 0; see trac-8605, trac-14207
                    xhr.status,
                    xhr.statusText
                  );
                }
              } else {
                complete(
                  xhrSuccessStatus[ xhr.status ] || xhr.status,
                  xhr.statusText,

                  // Support: IE <=9 only
                  // IE9 has no XHR2 but throws on binary (trac-11426)
                  // For XHR2 non-text, let the caller handle it (gh-2498)
                  ( xhr.responseType || "text" ) !== "text"  ||
                  typeof xhr.responseText !== "string" ?
                    { binary: xhr.response } :
                    { text: xhr.responseText },
                  xhr.getAllResponseHeaders()
                );
              }
            }
          };
        };

        // Listen to events
        xhr.onload = callback();
        errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );

        // Support: IE 9 only
        // Use onreadystatechange to replace onabort
        // to handle uncaught aborts
        if ( xhr.onabort !== undefined ) {
          xhr.onabort = errorCallback;
        } else {
          xhr.onreadystatechange = function() {

            // Check readyState before timeout as it changes
            if ( xhr.readyState === 4 ) {

              // Allow onerror to be called first,
              // but that will not handle a native abort
              // Also, save errorCallback to a variable
              // as xhr.onerror cannot be accessed
              window.setTimeout( function() {
                if ( callback ) {
                  errorCallback();
                }
              } );
            }
          };
        }

        // Create the abort callback
        callback = callback( "abort" );

        try {

          // Do send the request (this may raise an exception)
          xhr.send( options.hasContent && options.data || null );
        } catch ( e ) {

          // trac-14683: Only rethrow if this hasn't been notified as an error yet
          if ( callback ) {
            throw e;
          }
        }
      },

      abort: function() {
        if ( callback ) {
          callback();
        }
      }
    };
  }
} );




// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
jQuery.ajaxPrefilter( function( s ) {
  if ( s.crossDomain ) {
    s.contents.script = false;
  }
} );

// Install script dataType
jQuery.ajaxSetup( {
  accepts: {
    script: "text/javascript, application/javascript, " +
      "application/ecmascript, application/x-ecmascript"
  },
  contents: {
    script: /\b(?:java|ecma)script\b/
  },
  converters: {
    "text script": function( text ) {
      jQuery.globalEval( text );
      return text;
    }
  }
} );

// Handle cache's special case and crossDomain
jQuery.ajaxPrefilter( "script", function( s ) {
  if ( s.cache === undefined ) {
    s.cache = false;
  }
  if ( s.crossDomain ) {
    s.type = "GET";
  }
} );

// Bind script tag hack transport
jQuery.ajaxTransport( "script", function( s ) {

  // This transport only deals with cross domain or forced-by-attrs requests
  if ( s.crossDomain || s.scriptAttrs ) {
    var script, callback;
    return {
      send: function( _, complete ) {
        script = jQuery( "<script>" )
          .attr( s.scriptAttrs || {} )
          .prop( { charset: s.scriptCharset, src: s.url } )
          .on( "load error", callback = function( evt ) {
            script.remove();
            callback = null;
            if ( evt ) {
              complete( evt.type === "error" ? 404 : 200, evt.type );
            }
          } );

        // Use native DOM manipulation to avoid our domManip AJAX trickery
        document.head.appendChild( script[ 0 ] );
      },
      abort: function() {
        if ( callback ) {
          callback();
        }
      }
    };
  }
} );




var oldCallbacks = [],
  rjsonp = /(=)\?(?=&|$)|\?\?/;

// Default jsonp settings
jQuery.ajaxSetup( {
  jsonp: "callback",
  jsonpCallback: function() {
    var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
    this[ callback ] = true;
    return callback;
  }
} );

// Detect, normalize options and install callbacks for jsonp requests
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {

  var callbackName, overwritten, responseContainer,
    jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
      "url" :
      typeof s.data === "string" &&
        ( s.contentType || "" )
          .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
        rjsonp.test( s.data ) && "data"
    );

  // Handle iff the expected data type is "jsonp" or we have a parameter to set
  if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {

    // Get callback name, remembering preexisting value associated with it
    callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
      s.jsonpCallback() :
      s.jsonpCallback;

    // Insert callback into url or form data
    if ( jsonProp ) {
      s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
    } else if ( s.jsonp !== false ) {
      s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
    }

    // Use data converter to retrieve json after script execution
    s.converters[ "script json" ] = function() {
      if ( !responseContainer ) {
        jQuery.error( callbackName + " was not called" );
      }
      return responseContainer[ 0 ];
    };

    // Force json dataType
    s.dataTypes[ 0 ] = "json";

    // Install callback
    overwritten = window[ callbackName ];
    window[ callbackName ] = function() {
      responseContainer = arguments;
    };

    // Clean-up function (fires after converters)
    jqXHR.always( function() {

      // If previous value didn't exist - remove it
      if ( overwritten === undefined ) {
        jQuery( window ).removeProp( callbackName );

      // Otherwise restore preexisting value
      } else {
        window[ callbackName ] = overwritten;
      }

      // Save back as free
      if ( s[ callbackName ] ) {

        // Make sure that re-using the options doesn't screw things around
        s.jsonpCallback = originalSettings.jsonpCallback;

        // Save the callback name for future use
        oldCallbacks.push( callbackName );
      }

      // Call if it was a function and we have a response
      if ( responseContainer && isFunction( overwritten ) ) {
        overwritten( responseContainer[ 0 ] );
      }

      responseContainer = overwritten = undefined;
    } );

    // Delegate to script
    return "script";
  }
} );




// Support: Safari 8 only
// In Safari 8 documents created via document.implementation.createHTMLDocument
// collapse sibling forms: the second one becomes a child of the first one.
// Because of that, this security measure has to be disabled in Safari 8.
// https://bugs.webkit.org/show_bug.cgi?id=137337
support.createHTMLDocument = ( function() {
  var body = document.implementation.createHTMLDocument( "" ).body;
  body.innerHTML = "<form></form><form></form>";
  return body.childNodes.length === 2;
} )();


// Argument "data" should be string of html
// context (optional): If specified, the fragment will be created in this context,
// defaults to document
// keepScripts (optional): If true, will include scripts passed in the html string
jQuery.parseHTML = function( data, context, keepScripts ) {
  if ( typeof data !== "string" ) {
    return [];
  }
  if ( typeof context === "boolean" ) {
    keepScripts = context;
    context = false;
  }

  var base, parsed, scripts;

  if ( !context ) {

    // Stop scripts or inline event handlers from being executed immediately
    // by using document.implementation
    if ( support.createHTMLDocument ) {
      context = document.implementation.createHTMLDocument( "" );

      // Set the base href for the created document
      // so any parsed elements with URLs
      // are based on the document's URL (gh-2965)
      base = context.createElement( "base" );
      base.href = document.location.href;
      context.head.appendChild( base );
    } else {
      context = document;
    }
  }

  parsed = rsingleTag.exec( data );
  scripts = !keepScripts && [];

  // Single tag
  if ( parsed ) {
    return [ context.createElement( parsed[ 1 ] ) ];
  }

  parsed = buildFragment( [ data ], context, scripts );

  if ( scripts && scripts.length ) {
    jQuery( scripts ).remove();
  }

  return jQuery.merge( [], parsed.childNodes );
};


/**
 * Load a url into a page
 */
jQuery.fn.load = function( url, params, callback ) {
  var selector, type, response,
    self = this,
    off = url.indexOf( " " );

  if ( off > -1 ) {
    selector = stripAndCollapse( url.slice( off ) );
    url = url.slice( 0, off );
  }

  // If it's a function
  if ( isFunction( params ) ) {

    // We assume that it's the callback
    callback = params;
    params = undefined;

  // Otherwise, build a param string
  } else if ( params && typeof params === "object" ) {
    type = "POST";
  }

  // If we have elements to modify, make the request
  if ( self.length > 0 ) {
    jQuery.ajax( {
      url: url,

      // If "type" variable is undefined, then "GET" method will be used.
      // Make value of this field explicit since
      // user can override it through ajaxSetup method
      type: type || "GET",
      dataType: "html",
      data: params
    } ).done( function( responseText ) {

      // Save response for use in complete callback
      response = arguments;

      self.html( selector ?

        // If a selector was specified, locate the right elements in a dummy div
        // Exclude scripts to avoid IE 'Permission Denied' errors
        jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :

        // Otherwise use the full result
        responseText );

    // If the request succeeds, this function gets "data", "status", "jqXHR"
    // but they are ignored because response was set above.
    // If it fails, this function gets "jqXHR", "status", "error"
    } ).always( callback && function( jqXHR, status ) {
      self.each( function() {
        callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
      } );
    } );
  }

  return this;
};




jQuery.expr.pseudos.animated = function( elem ) {
  return jQuery.grep( jQuery.timers, function( fn ) {
    return elem === fn.elem;
  } ).length;
};




jQuery.offset = {
  setOffset: function( elem, options, i ) {
    var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
      position = jQuery.css( elem, "position" ),
      curElem = jQuery( elem ),
      props = {};

    // Set position first, in-case top/left are set even on static elem
    if ( position === "static" ) {
      elem.style.position = "relative";
    }

    curOffset = curElem.offset();
    curCSSTop = jQuery.css( elem, "top" );
    curCSSLeft = jQuery.css( elem, "left" );
    calculatePosition = ( position === "absolute" || position === "fixed" ) &&
      ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;

    // Need to be able to calculate position if either
    // top or left is auto and position is either absolute or fixed
    if ( calculatePosition ) {
      curPosition = curElem.position();
      curTop = curPosition.top;
      curLeft = curPosition.left;

    } else {
      curTop = parseFloat( curCSSTop ) || 0;
      curLeft = parseFloat( curCSSLeft ) || 0;
    }

    if ( isFunction( options ) ) {

      // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
      options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
    }

    if ( options.top != null ) {
      props.top = ( options.top - curOffset.top ) + curTop;
    }
    if ( options.left != null ) {
      props.left = ( options.left - curOffset.left ) + curLeft;
    }

    if ( "using" in options ) {
      options.using.call( elem, props );

    } else {
      curElem.css( props );
    }
  }
};

jQuery.fn.extend( {

  // offset() relates an element's border box to the document origin
  offset: function( options ) {

    // Preserve chaining for setter
    if ( arguments.length ) {
      return options === undefined ?
        this :
        this.each( function( i ) {
          jQuery.offset.setOffset( this, options, i );
        } );
    }

    var rect, win,
      elem = this[ 0 ];

    if ( !elem ) {
      return;
    }

    // Return zeros for disconnected and hidden (display: none) elements (gh-2310)
    // Support: IE <=11 only
    // Running getBoundingClientRect on a
    // disconnected node in IE throws an error
    if ( !elem.getClientRects().length ) {
      return { top: 0, left: 0 };
    }

    // Get document-relative position by adding viewport scroll to viewport-relative gBCR
    rect = elem.getBoundingClientRect();
    win = elem.ownerDocument.defaultView;
    return {
      top: rect.top + win.pageYOffset,
      left: rect.left + win.pageXOffset
    };
  },

  // position() relates an element's margin box to its offset parent's padding box
  // This corresponds to the behavior of CSS absolute positioning
  position: function() {
    if ( !this[ 0 ] ) {
      return;
    }

    var offsetParent, offset, doc,
      elem = this[ 0 ],
      parentOffset = { top: 0, left: 0 };

    // position:fixed elements are offset from the viewport, which itself always has zero offset
    if ( jQuery.css( elem, "position" ) === "fixed" ) {

      // Assume position:fixed implies availability of getBoundingClientRect
      offset = elem.getBoundingClientRect();

    } else {
      offset = this.offset();

      // Account for the *real* offset parent, which can be the document or its root element
      // when a statically positioned element is identified
      doc = elem.ownerDocument;
      offsetParent = elem.offsetParent || doc.documentElement;
      while ( offsetParent &&
        ( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
        jQuery.css( offsetParent, "position" ) === "static" ) {

        offsetParent = offsetParent.parentNode;
      }
      if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {

        // Incorporate borders into its offset, since they are outside its content origin
        parentOffset = jQuery( offsetParent ).offset();
        parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
        parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
      }
    }

    // Subtract parent offsets and element margins
    return {
      top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
      left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
    };
  },

  // This method will return documentElement in the following cases:
  // 1) For the element inside the iframe without offsetParent, this method will return
  //    documentElement of the parent window
  // 2) For the hidden or detached element
  // 3) For body or html element, i.e. in case of the html node - it will return itself
  //
  // but those exceptions were never presented as a real life use-cases
  // and might be considered as more preferable results.
  //
  // This logic, however, is not guaranteed and can change at any point in the future
  offsetParent: function() {
    return this.map( function() {
      var offsetParent = this.offsetParent;

      while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
        offsetParent = offsetParent.offsetParent;
      }

      return offsetParent || documentElement;
    } );
  }
} );

// Create scrollLeft and scrollTop methods
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
  var top = "pageYOffset" === prop;

  jQuery.fn[ method ] = function( val ) {
    return access( this, function( elem, method, val ) {

      // Coalesce documents and windows
      var win;
      if ( isWindow( elem ) ) {
        win = elem;
      } else if ( elem.nodeType === 9 ) {
        win = elem.defaultView;
      }

      if ( val === undefined ) {
        return win ? win[ prop ] : elem[ method ];
      }

      if ( win ) {
        win.scrollTo(
          !top ? val : win.pageXOffset,
          top ? val : win.pageYOffset
        );

      } else {
        elem[ method ] = val;
      }
    }, method, val, arguments.length );
  };
} );

// Support: Safari <=7 - 9.1, Chrome <=37 - 49
// Add the top/left cssHooks using jQuery.fn.position
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
// getComputedStyle returns percent when specified for top/left/bottom/right;
// rather than make the css module depend on the offset module, just check for it here
jQuery.each( [ "top", "left" ], function( _i, prop ) {
  jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
    function( elem, computed ) {
      if ( computed ) {
        computed = curCSS( elem, prop );

        // If curCSS returns percentage, fallback to offset
        return rnumnonpx.test( computed ) ?
          jQuery( elem ).position()[ prop ] + "px" :
          computed;
      }
    }
  );
} );


// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
  jQuery.each( {
    padding: "inner" + name,
    content: type,
    "": "outer" + name
  }, function( defaultExtra, funcName ) {

    // Margin is only for outerHeight, outerWidth
    jQuery.fn[ funcName ] = function( margin, value ) {
      var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
        extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );

      return access( this, function( elem, type, value ) {
        var doc;

        if ( isWindow( elem ) ) {

          // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
          return funcName.indexOf( "outer" ) === 0 ?
            elem[ "inner" + name ] :
            elem.document.documentElement[ "client" + name ];
        }

        // Get document width or height
        if ( elem.nodeType === 9 ) {
          doc = elem.documentElement;

          // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
          // whichever is greatest
          return Math.max(
            elem.body[ "scroll" + name ], doc[ "scroll" + name ],
            elem.body[ "offset" + name ], doc[ "offset" + name ],
            doc[ "client" + name ]
          );
        }

        return value === undefined ?

          // Get width or height on the element, requesting but not forcing parseFloat
          jQuery.css( elem, type, extra ) :

          // Set width or height on the element
          jQuery.style( elem, type, value, extra );
      }, type, chainable ? margin : undefined, chainable );
    };
  } );
} );


jQuery.each( [
  "ajaxStart",
  "ajaxStop",
  "ajaxComplete",
  "ajaxError",
  "ajaxSuccess",
  "ajaxSend"
], function( _i, type ) {
  jQuery.fn[ type ] = function( fn ) {
    return this.on( type, fn );
  };
} );




jQuery.fn.extend( {

  bind: function( types, data, fn ) {
    return this.on( types, null, data, fn );
  },
  unbind: function( types, fn ) {
    return this.off( types, null, fn );
  },

  delegate: function( selector, types, data, fn ) {
    return this.on( types, selector, data, fn );
  },
  undelegate: function( selector, types, fn ) {

    // ( namespace ) or ( selector, types [, fn] )
    return arguments.length === 1 ?
      this.off( selector, "**" ) :
      this.off( types, selector || "**", fn );
  },

  hover: function( fnOver, fnOut ) {
    return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
  }
} );

jQuery.each(
  ( "blur focus focusin focusout resize scroll click dblclick " +
  "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
  "change select submit keydown keypress keyup contextmenu" ).split( " " ),
  function( _i, name ) {

    // Handle event binding
    jQuery.fn[ name ] = function( data, fn ) {
      return arguments.length > 0 ?
        this.on( name, null, data, fn ) :
        this.trigger( name );
    };
  }
);




// Support: Android <=4.0 only
// Make sure we trim BOM and NBSP
// Require that the "whitespace run" starts from a non-whitespace
// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;

// Bind a function to a context, optionally partially applying any
// arguments.
// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
// However, it is not slated for removal any time soon
jQuery.proxy = function( fn, context ) {
  var tmp, args, proxy;

  if ( typeof context === "string" ) {
    tmp = fn[ context ];
    context = fn;
    fn = tmp;
  }

  // Quick check to determine if target is callable, in the spec
  // this throws a TypeError, but we will just return undefined.
  if ( !isFunction( fn ) ) {
    return undefined;
  }

  // Simulated bind
  args = slice.call( arguments, 2 );
  proxy = function() {
    return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
  };

  // Set the guid of unique handler to the same of original handler, so it can be removed
  proxy.guid = fn.guid = fn.guid || jQuery.guid++;

  return proxy;
};

jQuery.holdReady = function( hold ) {
  if ( hold ) {
    jQuery.readyWait++;
  } else {
    jQuery.ready( true );
  }
};
jQuery.isArray = Array.isArray;
jQuery.parseJSON = JSON.parse;
jQuery.nodeName = nodeName;
jQuery.isFunction = isFunction;
jQuery.isWindow = isWindow;
jQuery.camelCase = camelCase;
jQuery.type = toType;

jQuery.now = Date.now;

jQuery.isNumeric = function( obj ) {

  // As of jQuery 3.0, isNumeric is limited to
  // strings and numbers (primitives or objects)
  // that can be coerced to finite numbers (gh-2662)
  var type = jQuery.type( obj );
  return ( type === "number" || type === "string" ) &&

    // parseFloat NaNs numeric-cast false positives ("")
    // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
    // subtraction forces infinities to NaN
    !isNaN( obj - parseFloat( obj ) );
};

jQuery.trim = function( text ) {
  return text == null ?
    "" :
    ( text + "" ).replace( rtrim, "$1" );
};



// Register as a named AMD module, since jQuery can be concatenated with other
// files that may use define, but not via a proper concatenation script that
// understands anonymous AMD modules. A named AMD is safest and most robust
// way to register. Lowercase jquery is used because AMD module names are
// derived from file names, and jQuery is normally delivered in a lowercase
// file name. Do this after creating the global so that if an AMD module wants
// to call noConflict to hide this version of jQuery, it will work.

// Note that for maximum portability, libraries that are not jQuery should
// declare themselves as anonymous modules, and avoid setting a global if an
// AMD loader is present. jQuery is a special case. For more information, see
// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon

if ( typeof define === "function" && define.amd ) {
  define( "jquery", [], function() {
    return jQuery;
  } );
}




var

  // Map over jQuery in case of overwrite
  _jQuery = window.jQuery,

  // Map over the $ in case of overwrite
  _$ = window.$;

jQuery.noConflict = function( deep ) {
  if ( window.$ === jQuery ) {
    window.$ = _$;
  }

  if ( deep && window.jQuery === jQuery ) {
    window.jQuery = _jQuery;
  }

  return jQuery;
};

// Expose jQuery and $ identifiers, even in AMD
// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (trac-13566)
if ( typeof noGlobal === "undefined" ) {
  window.jQuery = window.$ = jQuery;
}




return jQuery;
} );
   /* Ende jquery */
   /* Start js.cookie */
   /* --GSBDocStart
 * @name: js-cookie 
 * @version: 3.0.1 
 * @repository: https://github.com/js-cookie/js-cookie 
 * @description: A simple, lightweight JavaScript API for handling cookies 
 * @licenses: MIT 
 * --GSBDocEnd
*/
/*! js-cookie v3.0.1 | MIT */
;
(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
  typeof define === 'function' && define.amd ? define(factory) :
  (global = global || self, (function () {
    var current = global.Cookies;
    var exports = global.Cookies = factory();
    exports.noConflict = function () { global.Cookies = current; return exports; };
  }()));
}(this, (function () { 'use strict';

  /* eslint-disable no-var */
  function assign (target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i];
      for (var key in source) {
        target[key] = source[key];
      }
    }
    return target
  }
  /* eslint-enable no-var */

  /* eslint-disable no-var */
  var defaultConverter = {
    read: function (value) {
      if (value[0] === '"') {
        value = value.slice(1, -1);
      }
      return value.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent)
    },
    write: function (value) {
      return encodeURIComponent(value).replace(
        /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
        decodeURIComponent
      )
    }
  };
  /* eslint-enable no-var */

  /* eslint-disable no-var */

  function init (converter, defaultAttributes) {
    function set (key, value, attributes) {
      if (typeof document === 'undefined') {
        return
      }

      attributes = assign({}, defaultAttributes, attributes);

      if (typeof attributes.expires === 'number') {
        attributes.expires = new Date(Date.now() + attributes.expires * 864e5);
      }
      if (attributes.expires) {
        attributes.expires = attributes.expires.toUTCString();
      }

      key = encodeURIComponent(key)
        .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)
        .replace(/[()]/g, escape);

      var stringifiedAttributes = '';
      for (var attributeName in attributes) {
        if (!attributes[attributeName]) {
          continue
        }

        stringifiedAttributes += '; ' + attributeName;

        if (attributes[attributeName] === true) {
          continue
        }

        // Considers RFC 6265 section 5.2:
        // ...
        // 3.  If the remaining unparsed-attributes contains a %x3B (";")
        //     character:
        // Consume the characters of the unparsed-attributes up to,
        // not including, the first %x3B (";") character.
        // ...
        stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
      }

      return (document.cookie =
        key + '=' + converter.write(value, key) + stringifiedAttributes)
    }

    function get (key) {
      if (typeof document === 'undefined' || (arguments.length && !key)) {
        return
      }

      // To prevent the for loop in the first place assign an empty array
      // in case there are no cookies at all.
      var cookies = document.cookie ? document.cookie.split('; ') : [];
      var jar = {};
      for (var i = 0; i < cookies.length; i++) {
        var parts = cookies[i].split('=');
        var value = parts.slice(1).join('=');

        try {
          var foundKey = decodeURIComponent(parts[0]);
          jar[foundKey] = converter.read(value, foundKey);

          if (key === foundKey) {
            break
          }
        } catch (e) {}
      }

      return key ? jar[key] : jar
    }

    return Object.create(
      {
        set: set,
        get: get,
        remove: function (key, attributes) {
          set(
            key,
            '',
            assign({}, attributes, {
              expires: -1
            })
          );
        },
        withAttributes: function (attributes) {
          return init(this.converter, assign({}, this.attributes, attributes))
        },
        withConverter: function (converter) {
          return init(assign({}, this.converter, converter), this.attributes)
        }
      },
      {
        attributes: { value: Object.freeze(defaultAttributes) },
        converter: { value: Object.freeze(converter) }
      }
    )
  }

  var api = init(defaultConverter, { path: '/' });
  /* eslint-enable no-var */

  return api;

})));
   /* Ende js.cookie */
   /* Start foundation.core */
   /* --GSBDocStart
 * @name: foundation-sites 
 * @version: 6.7.5 
 * @repository: https://github.com/foundation/foundation-sites 
 * @description: The most advanced responsive front-end framework in the world. 
 * @licenses: MIT 
 * --GSBDocEnd
*/
(function webpackUniversalModuleDefinition(root, factory) {
  if(typeof exports === 'object' && typeof module === 'object')
    module.exports = factory(require("jquery"));
  else if(typeof define === 'function' && define.amd)
    define(["jquery"], factory);
  else if(typeof exports === 'object')
    exports["foundation.core"] = factory(require("jquery"));
  else
    root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.core"] = factory(root["jQuery"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE_jquery__) {
return /******/ (function(modules) { // webpackBootstrap
/******/   // The module cache
/******/   var installedModules = {};
/******/
/******/   // The require function
/******/   function __webpack_require__(moduleId) {
/******/
/******/     // Check if module is in cache
/******/     if(installedModules[moduleId]) {
/******/       return installedModules[moduleId].exports;
/******/     }
/******/     // Create a new module (and put it into the cache)
/******/     var module = installedModules[moduleId] = {
/******/       i: moduleId,
/******/       l: false,
/******/       exports: {}
/******/     };
/******/
/******/     // Execute the module function
/******/     modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/     // Flag the module as loaded
/******/     module.l = true;
/******/
/******/     // Return the exports of the module
/******/     return module.exports;
/******/   }
/******/
/******/
/******/   // expose the modules object (__webpack_modules__)
/******/   __webpack_require__.m = modules;
/******/
/******/   // expose the module cache
/******/   __webpack_require__.c = installedModules;
/******/
/******/   // define getter function for harmony exports
/******/   __webpack_require__.d = function(exports, name, getter) {
/******/     if(!__webpack_require__.o(exports, name)) {
/******/       Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/     }
/******/   };
/******/
/******/   // define __esModule on exports
/******/   __webpack_require__.r = function(exports) {
/******/     if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/       Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/     }
/******/     Object.defineProperty(exports, '__esModule', { value: true });
/******/   };
/******/
/******/   // create a fake namespace object
/******/   // mode & 1: value is a module id, require it
/******/   // mode & 2: merge all properties of value into the ns
/******/   // mode & 4: return value when already ns object
/******/   // mode & 8|1: behave like require
/******/   __webpack_require__.t = function(value, mode) {
/******/     if(mode & 1) value = __webpack_require__(value);
/******/     if(mode & 8) return value;
/******/     if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/     var ns = Object.create(null);
/******/     __webpack_require__.r(ns);
/******/     Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/     if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/     return ns;
/******/   };
/******/
/******/   // getDefaultExport function for compatibility with non-harmony modules
/******/   __webpack_require__.n = function(module) {
/******/     var getter = module && module.__esModule ?
/******/       function getDefault() { return module['default']; } :
/******/       function getModuleExports() { return module; };
/******/     __webpack_require__.d(getter, 'a', getter);
/******/     return getter;
/******/   };
/******/
/******/   // Object.prototype.hasOwnProperty.call
/******/   __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/   // __webpack_public_path__
/******/   __webpack_require__.p = "";
/******/
/******/
/******/   // Load entry module and return exports
/******/   return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ({

/***/ "./js/entries/plugins/foundation.core.js":
/*!***********************************************!*\
  !*** ./js/entries/plugins/foundation.core.js ***!
  \***********************************************/
/*! exports provided: Foundation, Plugin, rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.core */ "./js/foundation.core.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"]; });

/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../foundation.core.plugin */ "./js/foundation.core.plugin.js");
/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../foundation.core.utils */ "./js/foundation.core.utils.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Plugin", function() { return _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__["Plugin"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "rtl", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["rtl"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GetYoDigits", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["GetYoDigits"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "RegExpEscape", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["RegExpEscape"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transitionend", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["transitionend"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onLoad", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["onLoad"]; });

/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreMousedisappear", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["ignoreMousedisappear"]; });

// --- Foundation Core API ---
// Initialize Foundation and add some utilities to its public API for backward compatibility.
// Please note that every utility do not have to be added to the core API.




_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].addToJquery(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Every plugin depends on plugin now, we can include that on the core for the
// script inclusion path.

_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].Plugin = _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__["Plugin"]; // These are now separated out, but historically were a part of this module,
// and since this is here for backwards compatibility we include them in
// this entry.

_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].rtl = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["rtl"];
_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].GetYoDigits = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["GetYoDigits"];
_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].transitionend = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["transitionend"];
_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].RegExpEscape = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["RegExpEscape"];
_foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"].onLoad = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__["onLoad"];
window.Foundation = _foundation_core__WEBPACK_IMPORTED_MODULE_1__["Foundation"]; // --- Foundation Core exports ---
// Export "Plugin" and all core utilities, since the `foundation.core` entry plays the role of
// all core source files.





/***/ }),

/***/ "./js/foundation.core.js":
/*!*******************************!*\
  !*** ./js/foundation.core.js ***!
  \*******************************/
/*! exports provided: Foundation */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return Foundation; });
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");
/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./js/foundation.util.mediaQuery.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); }




var FOUNDATION_VERSION = '6.7.5'; // Global Foundation object
// This is attached to the window, or used as a module for AMD/Browserify

var Foundation = {
  version: FOUNDATION_VERSION,

  /**
   * Stores initialized plugins.
   */
  _plugins: {},

  /**
   * Stores generated unique ids for plugin instances
   */
  _uuids: [],

  /**
   * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
   * @param {Object} plugin - The constructor of the plugin.
   */
  plugin: function plugin(_plugin, name) {
    // Object key to use when adding to global Foundation object
    // Examples: Foundation.Reveal, Foundation.OffCanvas
    var className = name || functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
    // Examples: data-reveal, data-off-canvas

    var attrName = hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing)

    this._plugins[attrName] = this[className] = _plugin;
  },

  /**
   * @function
   * Populates the _uuids array with pointers to each individual plugin instance.
   * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
   * Also fires the initialization event for each plugin, consolidating repetitive code.
   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
   * @param {String} name - the name of the plugin, passed as a camelCased string.
   * @fires Plugin#init
   */
  registerPlugin: function registerPlugin(plugin, name) {
    var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
    plugin.uuid = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__["GetYoDigits"])(6, pluginName);

    if (!plugin.$element.attr("data-".concat(pluginName))) {
      plugin.$element.attr("data-".concat(pluginName), plugin.uuid);
    }

    if (!plugin.$element.data('zfPlugin')) {
      plugin.$element.data('zfPlugin', plugin);
    }
    /**
     * Fires when the plugin has initialized.
     * @event Plugin#init
     */


    plugin.$element.trigger("init.zf.".concat(pluginName));

    this._uuids.push(plugin.uuid);

    return;
  },

  /**
   * @function
   * Removes the plugins uuid from the _uuids array.
   * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
   * Also fires the destroyed event for the plugin, consolidating repetitive code.
   * @param {Object} plugin - an instance of a plugin, usually `this` in context.
   * @fires Plugin#destroyed
   */
  unregisterPlugin: function unregisterPlugin(plugin) {
    var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));

    this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);

    plugin.$element.removeAttr("data-".concat(pluginName)).removeData('zfPlugin')
    /**
     * Fires when the plugin has been destroyed.
     * @event Plugin#destroyed
     */
    .trigger("destroyed.zf.".concat(pluginName));

    for (var prop in plugin) {
      if (typeof plugin[prop] === 'function') {
        plugin[prop] = null; //clean up script to prep for garbage collection.
      }
    }

    return;
  },

  /**
   * @function
   * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
   * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
   * @default If no argument is passed, reflow all currently active plugins.
   */
  reInit: function reInit(plugins) {
    var isJQ = plugins instanceof jquery__WEBPACK_IMPORTED_MODULE_0___default.a;

    try {
      if (isJQ) {
        plugins.each(function () {
          jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init();
        });
      } else {
        var type = _typeof(plugins),
            _this = this,
            fns = {
          'object': function object(plgs) {
            plgs.forEach(function (p) {
              p = hyphenate(p);
              jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + p + ']').foundation('_init');
            });
          },
          'string': function string() {
            plugins = hyphenate(plugins);
            jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + plugins + ']').foundation('_init');
          },
          'undefined': function undefined() {
            this.object(Object.keys(_this._plugins));
          }
        };

        fns[type](plugins);
      }
    } catch (err) {
      console.error(err);
    } finally {
      return plugins;
    }
  },

  /**
   * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
   * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
   * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
   */
  reflow: function reflow(elem, plugins) {
    // If plugins is undefined, just grab everything
    if (typeof plugins === 'undefined') {
      plugins = Object.keys(this._plugins);
    } // If plugins is a string, convert it to an array with one item
    else if (typeof plugins === 'string') {
      plugins = [plugins];
    }

    var _this = this; // Iterate through each plugin


    jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(plugins, function (i, name) {
      // Get the current plugin
      var plugin = _this._plugins[name]; // Localize the search to all elements inside elem, as well as elem itself, unless elem === document

      var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () {
        return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data("zfPlugin") === 'undefined';
      }); // For each plugin found, initialize it

      $elem.each(function () {
        var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),
            opts = {
          reflow: true
        };

        if ($el.attr('data-options')) {
          $el.attr('data-options').split(';').forEach(function (option) {
            var opt = option.split(':').map(function (el) {
              return el.trim();
            });
            if (opt[0]) opts[opt[0]] = parseValue(opt[1]);
          });
        }

        try {
          $el.data('zfPlugin', new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), opts));
        } catch (er) {
          console.error(er);
        } finally {
          return;
        }
      });
    });
  },
  getFnName: functionName,
  addToJquery: function addToJquery() {
    // TODO: consider not making this a jQuery function
    // TODO: need way to reflow vs. re-initialize

    /**
     * The Foundation jQuery method.
     * @param {String|Array} method - An action to perform on the current jQuery object.
     */
    var foundation = function foundation(method) {
      var type = _typeof(method),
          $noJS = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.no-js');

      if ($noJS.length) {
        $noJS.removeClass('no-js');
      }

      if (type === 'undefined') {
        //needs to initialize the Foundation object, or an individual plugin.
        _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__["MediaQuery"]._init();

        Foundation.reflow(this);
      } else if (type === 'string') {
        //an individual method to invoke on a plugin or group of plugins
        var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary

        var plugClass = this.data('zfPlugin'); //determine the class of plugin

        if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') {
          //make sure both the class and method exist
          if (this.length === 1) {
            //if there's only one, call it directly.
            plugClass[method].apply(plugClass, args);
          } else {
            this.each(function (i, el) {
              //otherwise loop through the jQuery collection and invoke the method on each
              plugClass[method].apply(jquery__WEBPACK_IMPORTED_MODULE_0___default()(el).data('zfPlugin'), args);
            });
          }
        } else {
          //error for no class or no method
          throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
        }
      } else {
        //error for invalid argument type
        throw new TypeError("We're sorry, ".concat(type, " is not a valid parameter. You must use a string representing the method you wish to invoke."));
      }

      return this;
    };

    jquery__WEBPACK_IMPORTED_MODULE_0___default.a.fn.foundation = foundation;
    return jquery__WEBPACK_IMPORTED_MODULE_0___default.a;
  }
};
Foundation.util = {
  /**
   * Function for applying a debounce effect to a function call.
   * @function
   * @param {Function} func - Function to be called at end of timeout.
   * @param {Number} delay - Time in ms to delay the call of `func`.
   * @returns function
   */
  throttle: function throttle(func, delay) {
    var timer = null;
    return function () {
      var context = this,
          args = arguments;

      if (timer === null) {
        timer = setTimeout(function () {
          func.apply(context, args);
          timer = null;
        }, delay);
      }
    };
  }
};
window.Foundation = Foundation; // Polyfill for requestAnimationFrame

(function () {
  if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {
    return new Date().getTime();
  };
  var vendors = ['webkit', 'moz'];

  for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
    var vp = vendors[i];
    window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];
    window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];
  }

  if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
    var lastTime = 0;

    window.requestAnimationFrame = function (callback) {
      var now = Date.now();
      var nextTime = Math.max(lastTime + 16, now);
      return setTimeout(function () {
        callback(lastTime = nextTime);
      }, nextTime - now);
    };

    window.cancelAnimationFrame = clearTimeout;
  }
  /**
   * Polyfill for performance.now, required by rAF
   */


  if (!window.performance || !window.performance.now) {
    window.performance = {
      start: Date.now(),
      now: function now() {
        return Date.now() - this.start;
      }
    };
  }
})();

if (!Function.prototype.bind) {
  /* eslint-disable no-extend-native */
  Function.prototype.bind = function (oThis) {
    if (typeof this !== 'function') {
      // closest thing possible to the ECMAScript 5
      // internal IsCallable function
      throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
    }

    var aArgs = Array.prototype.slice.call(arguments, 1),
        fToBind = this,
        fNOP = function fNOP() {},
        fBound = function fBound() {
      return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));
    };

    if (this.prototype) {
      // native functions don't have a prototype
      fNOP.prototype = this.prototype;
    }

    fBound.prototype = new fNOP();
    return fBound;
  };
} // Polyfill to get the name of a function in IE9


function functionName(fn) {
  if (typeof Function.prototype.name === 'undefined') {
    var funcNameRegex = /function\s([^(]{1,})\(/;
    var results = funcNameRegex.exec(fn.toString());
    return results && results.length > 1 ? results[1].trim() : "";
  } else if (typeof fn.prototype === 'undefined') {
    return fn.constructor.name;
  } else {
    return fn.prototype.constructor.name;
  }
}

function parseValue(str) {
  if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);
  return str;
} // Convert PascalCase to kebab-case
// Thank you: http://stackoverflow.com/a/8955580


function hyphenate(str) {
  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
}



/***/ }),

/***/ "./js/foundation.core.plugin.js":
/*!**************************************!*\
  !*** ./js/foundation.core.plugin.js ***!
  \**************************************/
/*! exports provided: Plugin */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Plugin", function() { return Plugin; });
/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core.utils */ "./js/foundation.core.utils.js");
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

 // Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST
// {function} _setup (replaces previous constructor),
// {function} _destroy (replaces previous destroy)

var Plugin = /*#__PURE__*/function () {
  function Plugin(element, options) {
    _classCallCheck(this, Plugin);

    this._setup(element, options);

    var pluginName = getPluginName(this);
    this.uuid = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_0__["GetYoDigits"])(6, pluginName);

    if (!this.$element.attr("data-".concat(pluginName))) {
      this.$element.attr("data-".concat(pluginName), this.uuid);
    }

    if (!this.$element.data('zfPlugin')) {
      this.$element.data('zfPlugin', this);
    }
    /**
     * Fires when the plugin has initialized.
     * @event Plugin#init
     */


    this.$element.trigger("init.zf.".concat(pluginName));
  }

  _createClass(Plugin, [{
    key: "destroy",
    value: function destroy() {
      this._destroy();

      var pluginName = getPluginName(this);
      this.$element.removeAttr("data-".concat(pluginName)).removeData('zfPlugin')
      /**
       * Fires when the plugin has been destroyed.
       * @event Plugin#destroyed
       */
      .trigger("destroyed.zf.".concat(pluginName));

      for (var prop in this) {
        if (this.hasOwnProperty(prop)) {
          this[prop] = null; //clean up script to prep for garbage collection.
        }
      }
    }
  }]);

  return Plugin;
}(); // Convert PascalCase to kebab-case
// Thank you: http://stackoverflow.com/a/8955580


function hyphenate(str) {
  return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
}

function getPluginName(obj) {
  return hyphenate(obj.className);
}



/***/ }),

/***/ "./js/foundation.core.utils.js":
/*!*************************************!*\
  !*** ./js/foundation.core.utils.js ***!
  \*************************************/
/*! exports provided: rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "rtl", function() { return rtl; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetYoDigits", function() { return GetYoDigits; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RegExpEscape", function() { return RegExpEscape; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "transitionend", function() { return transitionend; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onLoad", function() { return onLoad; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ignoreMousedisappear", function() { return ignoreMousedisappear; });
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
 // Core Foundation Utilities, utilized in a number of places.

/**
 * Returns a boolean for RTL support
 */

function rtl() {
  return jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir') === 'rtl';
}
/**
 * returns a random base-36 uid with namespacing
 * @function
 * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
 * @param {String} namespace - name of plugin to be incorporated in uid, optional.
 * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
 * @returns {String} - unique id
 */


function GetYoDigits() {
  var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6;
  var namespace = arguments.length > 1 ? arguments[1] : undefined;
  var str = '';
  var chars = '0123456789abcdefghijklmnopqrstuvwxyz';
  var charsLength = chars.length;

  for (var i = 0; i < length; i++) {
    str += chars[Math.floor(Math.random() * charsLength)];
  }

  return namespace ? "".concat(str, "-").concat(namespace) : str;
}
/**
 * Escape a string so it can be used as a regexp pattern
 * @function
 * @see https://stackoverflow.com/a/9310752/4317384
 *
 * @param {String} str - string to escape.
 * @returns {String} - escaped string
 */


function RegExpEscape(str) {
  return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}

function transitionend($elem) {
  var transitions = {
    'transition': 'transitionend',
    'WebkitTransition': 'webkitTransitionEnd',
    'MozTransition': 'transitionend',
    'OTransition': 'otransitionend'
  };
  var elem = document.createElement('div'),
      end;

  for (var transition in transitions) {
    if (typeof elem.style[transition] !== 'undefined') {
      end = transitions[transition];
    }
  }

  if (end) {
    return end;
  } else {
    setTimeout(function () {
      $elem.triggerHandler('transitionend', [$elem]);
    }, 1);
    return 'transitionend';
  }
}
/**
 * Return an event type to listen for window load.
 *
 * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.
 * If `handler` is passed, attach it to the event on `$elem`.
 * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.
 * @function
 *
 * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.
 * @param {Function} [] handler - function to attach to the event.
 * @returns {String} - event type that should or will be triggered.
 */


function onLoad($elem, handler) {
  var didLoad = document.readyState === 'complete';
  var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';

  var cb = function cb() {
    return $elem.triggerHandler(eventType);
  };

  if ($elem) {
    if (handler) $elem.one(eventType, handler);
    if (didLoad) setTimeout(cb);else jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', cb);
  }

  return eventType;
}
/**
 * Retuns an handler for the `mouseleave` that ignore disappeared mouses.
 *
 * If the mouse "disappeared" from the document (like when going on a browser UI element, See https://git.io/zf-11410),
 * the event is ignored.
 * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window
 *   (like by switching to an other window with [Alt]+[Tab]).
 * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document
 *   outside of the element it left.
 *
 * @function
 *
 * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.
 * @param {Object} [] options - object of options:
 * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.
 * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.
 * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.
 */


function ignoreMousedisappear(handler) {
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
      _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow,
      ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo,
      _ref$ignoreReappear = _ref.ignoreReappear,
      ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear;

  return function leaveEventHandler(eLeave) {
    for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
      rest[_key - 1] = arguments[_key];
    }

    var callback = handler.bind.apply(handler, [this, eLeave].concat(rest)); // The mouse left: call the given callback if the mouse entered elsewhere

    if (eLeave.relatedTarget !== null) {
      return callback();
    } // Otherwise, check if the mouse actually left the window.
    // In firefox if the user switched between windows, the window sill have the focus by the time
    // the event is triggered. We have to debounce the event to test this case.


    setTimeout(function leaveEventDebouncer() {
      if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {
        return callback();
      } // Otherwise, wait for the mouse to reeapear outside of the element,


      if (!ignoreReappear) {
        jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter', function reenterEventHandler(eReenter) {
          if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length) {
            // Fill where the mouse finally entered.
            eLeave.relatedTarget = eReenter.target;
            callback();
          }
        });
      }
    }, 0);
  };
}



/***/ }),

/***/ "./js/foundation.util.mediaQuery.js":
/*!******************************************!*\
  !*** ./js/foundation.util.mediaQuery.js ***!
  \******************************************/
/*! exports provided: MediaQuery */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MediaQuery", function() { return MediaQuery; });
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
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 _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 == null ? null : 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; }

 // Default set of media queries
// const defaultQueries = {
//   'default' : 'only screen',
//   landscape : 'only screen and (orientation: landscape)',
//   portrait : 'only screen and (orientation: portrait)',
//   retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
//     'only screen and (min--moz-device-pixel-ratio: 2),' +
//     'only screen and (-o-min-device-pixel-ratio: 2/1),' +
//     'only screen and (min-device-pixel-ratio: 2),' +
//     'only screen and (min-resolution: 192dpi),' +
//     'only screen and (min-resolution: 2dppx)'
//   };
// matchMedia() polyfill - Test a CSS media type/query in JS.
// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license

/* eslint-disable */

window.matchMedia || (window.matchMedia = function () {
  "use strict"; // For browsers that support matchMedium api such as IE 9 and webkit

  var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium

  if (!styleMedia) {
    var style = document.createElement('style'),
        script = document.getElementsByTagName('script')[0],
        info = null;
    style.type = 'text/css';
    style.id = 'matchmediajs-test';

    if (!script) {
      document.head.appendChild(style);
    } else {
      script.parentNode.insertBefore(style, script);
    } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers


    info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
    styleMedia = {
      matchMedium: function matchMedium(media) {
        var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers

        if (style.styleSheet) {
          style.styleSheet.cssText = text;
        } else {
          style.textContent = text;
        } // Test if media query is true or false


        return info.width === '1px';
      }
    };
  }

  return function (media) {
    return {
      matches: styleMedia.matchMedium(media || 'all'),
      media: media || 'all'
    };
  };
}());
/* eslint-enable */

var MediaQuery = {
  queries: [],
  current: '',

  /**
   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
   * @function
   * @private
   */
  _init: function _init() {
    // make sure the initialization is only done once when calling _init() several times
    if (this.isInitialized === true) {
      return this;
    } else {
      this.isInitialized = true;
    }

    var self = this;
    var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');

    if (!$meta.length) {
      jquery__WEBPACK_IMPORTED_MODULE_0___default()('<meta class="foundation-mq" name="foundation-mq" content>').appendTo(document.head);
    }

    var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');
    var namedQueries;
    namedQueries = parseStyleToObject(extractedStyles);
    self.queries = []; // reset

    for (var key in namedQueries) {
      if (namedQueries.hasOwnProperty(key)) {
        self.queries.push({
          name: key,
          value: "only screen and (min-width: ".concat(namedQueries[key], ")")
        });
      }
    }

    this.current = this._getCurrentSize();

    this._watcher();
  },

  /**
   * Reinitializes the media query helper.
   * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.
   * @function
   * @private
   */
  _reInit: function _reInit() {
    this.isInitialized = false;

    this._init();
  },

  /**
   * Checks if the screen is at least as wide as a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
   */
  atLeast: function atLeast(size) {
    var query = this.get(size);

    if (query) {
      return window.matchMedia(query).matches;
    }

    return false;
  },

  /**
   * Checks if the screen is within the given breakpoint.
   * If smaller than the breakpoint of larger than its upper limit it returns false.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.
   */
  only: function only(size) {
    return size === this._getCurrentSize();
  },

  /**
   * Checks if the screen is within a breakpoint or smaller.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.
   */
  upTo: function upTo(size) {
    var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than
    // the upper limit of this breakpoint.

    if (nextSize) {
      return !this.atLeast(nextSize);
    } // If there is no next breakpoint, the "size" breakpoint does not have
    // an upper limit and the screen will always be within it or smaller.


    return true;
  },

  /**
   * Checks if the screen matches to a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
   */
  is: function is(size) {
    var parts = size.trim().split(' ').filter(function (p) {
      return !!p.length;
    });

    var _parts = _slicedToArray(parts, 2),
        bpSize = _parts[0],
        _parts$ = _parts[1],
        bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont


    if (bpModifier === 'only') {
      return this.only(bpSize);
    } // At least the breakpoint (included)


    if (!bpModifier || bpModifier === 'up') {
      return this.atLeast(bpSize);
    } // Up to the breakpoint (included)


    if (bpModifier === 'down') {
      return this.upTo(bpSize);
    }

    throw new Error("\n      Invalid breakpoint passed to MediaQuery.is().\n      Expected a breakpoint name formatted like \"<size> <modifier>\", got \"".concat(size, "\".\n    "));
  },

  /**
   * Gets the media query of a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to get.
   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
   */
  get: function get(size) {
    for (var i in this.queries) {
      if (this.queries.hasOwnProperty(i)) {
        var query = this.queries[i];
        if (size === query.name) return query.value;
      }
    }

    return null;
  },

  /**
   * Get the breakpoint following the given breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint.
   * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.
   */
  next: function next(size) {
    var _this = this;

    var queryIndex = this.queries.findIndex(function (q) {
      return _this._getQueryName(q) === size;
    });

    if (queryIndex === -1) {
      throw new Error("\n        Unknown breakpoint \"".concat(size, "\" passed to MediaQuery.next().\n        Ensure it is present in your Sass \"$breakpoints\" setting.\n      "));
    }

    var nextQuery = this.queries[queryIndex + 1];
    return nextQuery ? nextQuery.name : null;
  },

  /**
   * Returns the name of the breakpoint related to the given value.
   * @function
   * @private
   * @param {String|Object} value - Breakpoint name or query object.
   * @returns {String} Name of the breakpoint.
   */
  _getQueryName: function _getQueryName(value) {
    if (typeof value === 'string') return value;
    if (_typeof(value) === 'object') return value.name;
    throw new TypeError("\n      Invalid value passed to MediaQuery._getQueryName().\n      Expected a breakpoint name (String) or a breakpoint query (Object), got \"".concat(value, "\" (").concat(_typeof(value), ")\n    "));
  },

  /**
   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
   * @function
   * @private
   * @returns {String} Name of the current breakpoint.
   */
  _getCurrentSize: function _getCurrentSize() {
    var matched;

    for (var i = 0; i < this.queries.length; i++) {
      var query = this.queries[i];

      if (window.matchMedia(query.value).matches) {
        matched = query;
      }
    }

    return matched && this._getQueryName(matched);
  },

  /**
   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
   * @function
   * @private
   */
  _watcher: function _watcher() {
    var _this2 = this;

    jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('resize.zf.trigger', function () {
      var newSize = _this2._getCurrentSize(),
          currentSize = _this2.current;

      if (newSize !== currentSize) {
        // Change the current media query
        _this2.current = newSize; // Broadcast the media query change on the window

        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
      }
    });
  }
}; // Thank you: https://github.com/sindresorhus/query-string

function parseStyleToObject(str) {
  var styleObject = {};

  if (typeof str !== 'string') {
    return styleObject;
  }

  str = str.trim().slice(1, -1); // browsers re-quote string style values

  if (!str) {
    return styleObject;
  }

  styleObject = str.split('&').reduce(function (ret, param) {
    var parts = param.replace(/\+/g, ' ').split('=');
    var key = parts[0];
    var val = parts[1];
    key = decodeURIComponent(key); // missing `=` should be `null`:
    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters

    val = typeof val === 'undefined' ? null : decodeURIComponent(val);

    if (!ret.hasOwnProperty(key)) {
      ret[key] = val;
    } else if (Array.isArray(ret[key])) {
      ret[key].push(val);
    } else {
      ret[key] = [ret[key], val];
    }

    return ret;
  }, {});
  return styleObject;
}



/***/ }),

/***/ 0:
/*!*****************************************************!*\
  !*** multi ./js/entries/plugins/foundation.core.js ***!
  \*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.core.js */"./js/entries/plugins/foundation.core.js");


/***/ }),

/***/ "jquery":
/*!********************************************************************************************!*\
  !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;

/***/ })

/******/ });
});
   /* Ende foundation.core */
   /* Start foundation.util.imageLoader */
   /* --GSBDocStart
 * @name: foundation-sites 
 * @version: 6.7.5 
 * @repository: https://github.com/foundation/foundation-sites 
 * @description: The most advanced responsive front-end framework in the world. 
 * @licenses: MIT 
 * --GSBDocEnd
*/
(function webpackUniversalModuleDefinition(root, factory) {
  if(typeof exports === 'object' && typeof module === 'object')
    module.exports = factory(require("./foundation.core"), require("jquery"));
  else if(typeof define === 'function' && define.amd)
    define(["./foundation.core", "jquery"], factory);
  else if(typeof exports === 'object')
    exports["foundation.util.imageLoader"] = factory(require("./foundation.core"), require("jquery"));
  else
    root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.util.imageLoader"] = factory(root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["jQuery"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {
return /******/ (function(modules) { // webpackBootstrap
/******/   // The module cache
/******/   var installedModules = {};
/******/
/******/   // The require function
/******/   function __webpack_require__(moduleId) {
/******/
/******/     // Check if module is in cache
/******/     if(installedModules[moduleId]) {
/******/       return installedModules[moduleId].exports;
/******/     }
/******/     // Create a new module (and put it into the cache)
/******/     var module = installedModules[moduleId] = {
/******/       i: moduleId,
/******/       l: false,
/******/       exports: {}
/******/     };
/******/
/******/     // Execute the module function
/******/     modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/     // Flag the module as loaded
/******/     module.l = true;
/******/
/******/     // Return the exports of the module
/******/     return module.exports;
/******/   }
/******/
/******/
/******/   // expose the modules object (__webpack_modules__)
/******/   __webpack_require__.m = modules;
/******/
/******/   // expose the module cache
/******/   __webpack_require__.c = installedModules;
/******/
/******/   // define getter function for harmony exports
/******/   __webpack_require__.d = function(exports, name, getter) {
/******/     if(!__webpack_require__.o(exports, name)) {
/******/       Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/     }
/******/   };
/******/
/******/   // define __esModule on exports
/******/   __webpack_require__.r = function(exports) {
/******/     if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/       Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/     }
/******/     Object.defineProperty(exports, '__esModule', { value: true });
/******/   };
/******/
/******/   // create a fake namespace object
/******/   // mode & 1: value is a module id, require it
/******/   // mode & 2: merge all properties of value into the ns
/******/   // mode & 4: return value when already ns object
/******/   // mode & 8|1: behave like require
/******/   __webpack_require__.t = function(value, mode) {
/******/     if(mode & 1) value = __webpack_require__(value);
/******/     if(mode & 8) return value;
/******/     if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/     var ns = Object.create(null);
/******/     __webpack_require__.r(ns);
/******/     Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/     if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/     return ns;
/******/   };
/******/
/******/   // getDefaultExport function for compatibility with non-harmony modules
/******/   __webpack_require__.n = function(module) {
/******/     var getter = module && module.__esModule ?
/******/       function getDefault() { return module['default']; } :
/******/       function getModuleExports() { return module; };
/******/     __webpack_require__.d(getter, 'a', getter);
/******/     return getter;
/******/   };
/******/
/******/   // Object.prototype.hasOwnProperty.call
/******/   __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/   // __webpack_public_path__
/******/   __webpack_require__.p = "";
/******/
/******/
/******/   // Load entry module and return exports
/******/   return __webpack_require__(__webpack_require__.s = 22);
/******/ })
/************************************************************************/
/******/ ({

/***/ "./foundation.core":
/*!****************************************************************************************************************************************************************!*\
  !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core","commonjs":"./foundation.core","commonjs2":"./foundation.core"} ***!
  \****************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;

/***/ }),

/***/ "./js/entries/plugins/foundation.util.imageLoader.js":
/*!***********************************************************!*\
  !*** ./js/entries/plugins/foundation.util.imageLoader.js ***!
  \***********************************************************/
/*! exports provided: Foundation, onImagesLoaded */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"]; });

/* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.imageLoader */ "./js/foundation.util.imageLoader.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onImagesLoaded", function() { return _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__["onImagesLoaded"]; });



_foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].onImagesLoaded = _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__["onImagesLoaded"];


/***/ }),

/***/ "./js/foundation.util.imageLoader.js":
/*!*******************************************!*\
  !*** ./js/foundation.util.imageLoader.js ***!
  \*******************************************/
/*! exports provided: onImagesLoaded */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onImagesLoaded", function() { return onImagesLoaded; });
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);

/**
 * Runs a callback function when images are fully loaded.
 * @param {Object} images - Image(s) to check if loaded.
 * @param {Func} callback - Function to execute when image is fully loaded.
 */

function onImagesLoaded(images, callback) {
  var unloaded = images.length;

  if (unloaded === 0) {
    callback();
  }

  images.each(function () {
    // Check if image is loaded
    if (this.complete && typeof this.naturalWidth !== 'undefined') {
      singleImageLoaded();
    } else {
      // If the above check failed, simulate loading on detached element.
      var image = new Image(); // Still count image as loaded if it finalizes with an error.

      var events = "load.zf.images error.zf.images";
      jquery__WEBPACK_IMPORTED_MODULE_0___default()(image).one(events, function me() {
        // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.
        jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).off(events, me);
        singleImageLoaded();
      });
      image.src = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('src');
    }
  });

  function singleImageLoaded() {
    unloaded--;

    if (unloaded === 0) {
      callback();
    }
  }
}



/***/ }),

/***/ 22:
/*!*****************************************************************!*\
  !*** multi ./js/entries/plugins/foundation.util.imageLoader.js ***!
  \*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.imageLoader.js */"./js/entries/plugins/foundation.util.imageLoader.js");


/***/ }),

/***/ "jquery":
/*!********************************************************************************************!*\
  !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;

/***/ })

/******/ });
});
   /* Ende foundation.util.imageLoader */
   /* Start foundation.util.mediaQuery */
   /* --GSBDocStart
 * @name: foundation-sites 
 * @version: 6.7.5 
 * @repository: https://github.com/foundation/foundation-sites 
 * @description: The most advanced responsive front-end framework in the world. 
 * @licenses: MIT 
 * --GSBDocEnd
*/
(function webpackUniversalModuleDefinition(root, factory) {
  if(typeof exports === 'object' && typeof module === 'object')
    module.exports = factory(require("./foundation.core"), require("jquery"));
  else if(typeof define === 'function' && define.amd)
    define(["./foundation.core", "jquery"], factory);
  else if(typeof exports === 'object')
    exports["foundation.util.mediaQuery"] = factory(require("./foundation.core"), require("jquery"));
  else
    root["__FOUNDATION_EXTERNAL__"] = root["__FOUNDATION_EXTERNAL__"] || {}, root["__FOUNDATION_EXTERNAL__"]["foundation.util.mediaQuery"] = factory(root["__FOUNDATION_EXTERNAL__"]["foundation.core"], root["jQuery"]);
})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {
return /******/ (function(modules) { // webpackBootstrap
/******/   // The module cache
/******/   var installedModules = {};
/******/
/******/   // The require function
/******/   function __webpack_require__(moduleId) {
/******/
/******/     // Check if module is in cache
/******/     if(installedModules[moduleId]) {
/******/       return installedModules[moduleId].exports;
/******/     }
/******/     // Create a new module (and put it into the cache)
/******/     var module = installedModules[moduleId] = {
/******/       i: moduleId,
/******/       l: false,
/******/       exports: {}
/******/     };
/******/
/******/     // Execute the module function
/******/     modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/     // Flag the module as loaded
/******/     module.l = true;
/******/
/******/     // Return the exports of the module
/******/     return module.exports;
/******/   }
/******/
/******/
/******/   // expose the modules object (__webpack_modules__)
/******/   __webpack_require__.m = modules;
/******/
/******/   // expose the module cache
/******/   __webpack_require__.c = installedModules;
/******/
/******/   // define getter function for harmony exports
/******/   __webpack_require__.d = function(exports, name, getter) {
/******/     if(!__webpack_require__.o(exports, name)) {
/******/       Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/     }
/******/   };
/******/
/******/   // define __esModule on exports
/******/   __webpack_require__.r = function(exports) {
/******/     if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/       Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/     }
/******/     Object.defineProperty(exports, '__esModule', { value: true });
/******/   };
/******/
/******/   // create a fake namespace object
/******/   // mode & 1: value is a module id, require it
/******/   // mode & 2: merge all properties of value into the ns
/******/   // mode & 4: return value when already ns object
/******/   // mode & 8|1: behave like require
/******/   __webpack_require__.t = function(value, mode) {
/******/     if(mode & 1) value = __webpack_require__(value);
/******/     if(mode & 8) return value;
/******/     if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/     var ns = Object.create(null);
/******/     __webpack_require__.r(ns);
/******/     Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/     if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/     return ns;
/******/   };
/******/
/******/   // getDefaultExport function for compatibility with non-harmony modules
/******/   __webpack_require__.n = function(module) {
/******/     var getter = module && module.__esModule ?
/******/       function getDefault() { return module['default']; } :
/******/       function getModuleExports() { return module; };
/******/     __webpack_require__.d(getter, 'a', getter);
/******/     return getter;
/******/   };
/******/
/******/   // Object.prototype.hasOwnProperty.call
/******/   __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/   // __webpack_public_path__
/******/   __webpack_require__.p = "";
/******/
/******/
/******/   // Load entry module and return exports
/******/   return __webpack_require__(__webpack_require__.s = 24);
/******/ })
/************************************************************************/
/******/ ({

/***/ "./foundation.core":
/*!****************************************************************************************************************************************************************!*\
  !*** external {"root":["__FOUNDATION_EXTERNAL__","foundation.core"],"amd":"./foundation.core","commonjs":"./foundation.core","commonjs2":"./foundation.core"} ***!
  \****************************************************************************************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;

/***/ }),

/***/ "./js/entries/plugins/foundation.util.mediaQuery.js":
/*!**********************************************************!*\
  !*** ./js/entries/plugins/foundation.util.mediaQuery.js ***!
  \**********************************************************/
/*! exports provided: Foundation, MediaQuery */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ "./foundation.core");
/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Foundation", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"]; });

/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.mediaQuery */ "./js/foundation.util.mediaQuery.js");
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MediaQuery", function() { return _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__["MediaQuery"]; });



_foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].MediaQuery = _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__["MediaQuery"];

_foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].MediaQuery._init();



/***/ }),

/***/ "./js/foundation.util.mediaQuery.js":
/*!******************************************!*\
  !*** ./js/foundation.util.mediaQuery.js ***!
  \******************************************/
/*! exports provided: MediaQuery */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MediaQuery", function() { return MediaQuery; });
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
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 _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 == null ? null : 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; }

 // Default set of media queries
// const defaultQueries = {
//   'default' : 'only screen',
//   landscape : 'only screen and (orientation: landscape)',
//   portrait : 'only screen and (orientation: portrait)',
//   retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
//     'only screen and (min--moz-device-pixel-ratio: 2),' +
//     'only screen and (-o-min-device-pixel-ratio: 2/1),' +
//     'only screen and (min-device-pixel-ratio: 2),' +
//     'only screen and (min-resolution: 192dpi),' +
//     'only screen and (min-resolution: 2dppx)'
//   };
// matchMedia() polyfill - Test a CSS media type/query in JS.
// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license

/* eslint-disable */

window.matchMedia || (window.matchMedia = function () {
  "use strict"; // For browsers that support matchMedium api such as IE 9 and webkit

  var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium

  if (!styleMedia) {
    var style = document.createElement('style'),
        script = document.getElementsByTagName('script')[0],
        info = null;
    style.type = 'text/css';
    style.id = 'matchmediajs-test';

    if (!script) {
      document.head.appendChild(style);
    } else {
      script.parentNode.insertBefore(style, script);
    } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers


    info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
    styleMedia = {
      matchMedium: function matchMedium(media) {
        var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers

        if (style.styleSheet) {
          style.styleSheet.cssText = text;
        } else {
          style.textContent = text;
        } // Test if media query is true or false


        return info.width === '1px';
      }
    };
  }

  return function (media) {
    return {
      matches: styleMedia.matchMedium(media || 'all'),
      media: media || 'all'
    };
  };
}());
/* eslint-enable */

var MediaQuery = {
  queries: [],
  current: '',

  /**
   * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
   * @function
   * @private
   */
  _init: function _init() {
    // make sure the initialization is only done once when calling _init() several times
    if (this.isInitialized === true) {
      return this;
    } else {
      this.isInitialized = true;
    }

    var self = this;
    var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');

    if (!$meta.length) {
      jquery__WEBPACK_IMPORTED_MODULE_0___default()('<meta class="foundation-mq" name="foundation-mq" content>').appendTo(document.head);
    }

    var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');
    var namedQueries;
    namedQueries = parseStyleToObject(extractedStyles);
    self.queries = []; // reset

    for (var key in namedQueries) {
      if (namedQueries.hasOwnProperty(key)) {
        self.queries.push({
          name: key,
          value: "only screen and (min-width: ".concat(namedQueries[key], ")")
        });
      }
    }

    this.current = this._getCurrentSize();

    this._watcher();
  },

  /**
   * Reinitializes the media query helper.
   * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.
   * @function
   * @private
   */
  _reInit: function _reInit() {
    this.isInitialized = false;

    this._init();
  },

  /**
   * Checks if the screen is at least as wide as a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
   */
  atLeast: function atLeast(size) {
    var query = this.get(size);

    if (query) {
      return window.matchMedia(query).matches;
    }

    return false;
  },

  /**
   * Checks if the screen is within the given breakpoint.
   * If smaller than the breakpoint of larger than its upper limit it returns false.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.
   */
  only: function only(size) {
    return size === this._getCurrentSize();
  },

  /**
   * Checks if the screen is within a breakpoint or smaller.
   * @function
   * @param {String} size - Name of the breakpoint to check.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.
   */
  upTo: function upTo(size) {
    var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than
    // the upper limit of this breakpoint.

    if (nextSize) {
      return !this.atLeast(nextSize);
    } // If there is no next breakpoint, the "size" breakpoint does not have
    // an upper limit and the screen will always be within it or smaller.


    return true;
  },

  /**
   * Checks if the screen matches to a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.
   * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.
   */
  is: function is(size) {
    var parts = size.trim().split(' ').filter(function (p) {
      return !!p.length;
    });

    var _parts = _slicedToArray(parts, 2),
        bpSize = _parts[0],
        _parts$ = _parts[1],
        bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont


    if (bpModifier === 'only') {
      return this.only(bpSize);
    } // At least the breakpoint (included)


    if (!bpModifier || bpModifier === 'up') {
      return this.atLeast(bpSize);
    } // Up to the breakpoint (included)


    if (bpModifier === 'down') {
      return this.upTo(bpSize);
    }

    throw new Error("\n      Invalid breakpoint passed to MediaQuery.is().\n      Expected a breakpoint name formatted like \"<size> <modifier>\", got \"".concat(size, "\".\n    "));
  },

  /**
   * Gets the media query of a breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint to get.
   * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
   */
  get: function get(size) {
    for (var i in this.queries) {
      if (this.queries.hasOwnProperty(i)) {
        var query = this.queries[i];
        if (size === query.name) return query.value;
      }
    }

    return null;
  },

  /**
   * Get the breakpoint following the given breakpoint.
   * @function
   * @param {String} size - Name of the breakpoint.
   * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.
   */
  next: function next(size) {
    var _this = this;

    var queryIndex = this.queries.findIndex(function (q) {
      return _this._getQueryName(q) === size;
    });

    if (queryIndex === -1) {
      throw new Error("\n        Unknown breakpoint \"".concat(size, "\" passed to MediaQuery.next().\n        Ensure it is present in your Sass \"$breakpoints\" setting.\n      "));
    }

    var nextQuery = this.queries[queryIndex + 1];
    return nextQuery ? nextQuery.name : null;
  },

  /**
   * Returns the name of the breakpoint related to the given value.
   * @function
   * @private
   * @param {String|Object} value - Breakpoint name or query object.
   * @returns {String} Name of the breakpoint.
   */
  _getQueryName: function _getQueryName(value) {
    if (typeof value === 'string') return value;
    if (_typeof(value) === 'object') return value.name;
    throw new TypeError("\n      Invalid value passed to MediaQuery._getQueryName().\n      Expected a breakpoint name (String) or a breakpoint query (Object), got \"".concat(value, "\" (").concat(_typeof(value), ")\n    "));
  },

  /**
   * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
   * @function
   * @private
   * @returns {String} Name of the current breakpoint.
   */
  _getCurrentSize: function _getCurrentSize() {
    var matched;

    for (var i = 0; i < this.queries.length; i++) {
      var query = this.queries[i];

      if (window.matchMedia(query.value).matches) {
        matched = query;
      }
    }

    return matched && this._getQueryName(matched);
  },

  /**
   * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
   * @function
   * @private
   */
  _watcher: function _watcher() {
    var _this2 = this;

    jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('resize.zf.trigger', function () {
      var newSize = _this2._getCurrentSize(),
          currentSize = _this2.current;

      if (newSize !== currentSize) {
        // Change the current media query
        _this2.current = newSize; // Broadcast the media query change on the window

        jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
      }
    });
  }
}; // Thank you: https://github.com/sindresorhus/query-string

function parseStyleToObject(str) {
  var styleObject = {};

  if (typeof str !== 'string') {
    return styleObject;
  }

  str = str.trim().slice(1, -1); // browsers re-quote string style values

  if (!str) {
    return styleObject;
  }

  styleObject = str.split('&').reduce(function (ret, param) {
    var parts = param.replace(/\+/g, ' ').split('=');
    var key = parts[0];
    var val = parts[1];
    key = decodeURIComponent(key); // missing `=` should be `null`:
    // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters

    val = typeof val === 'undefined' ? null : decodeURIComponent(val);

    if (!ret.hasOwnProperty(key)) {
      ret[key] = val;
    } else if (Array.isArray(ret[key])) {
      ret[key].push(val);
    } else {
      ret[key] = [ret[key], val];
    }

    return ret;
  }, {});
  return styleObject;
}



/***/ }),

/***/ 24:
/*!****************************************************************!*\
  !*** multi ./js/entries/plugins/foundation.util.mediaQuery.js ***!
  \****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.mediaQuery.js */"./js/entries/plugins/foundation.util.mediaQuery.js");


/***/ }),

/***/ "jquery":
/*!********************************************************************************************!*\
  !*** external {"root":["jQuery"],"amd":"jquery","commonjs":"jquery","commonjs2":"jquery"} ***!
  \********************************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;

/***/ })

/******/ });
});
   /* Ende foundation.util.mediaQuery */
   /* Start gsb_aria */
   /*!!
* @name gsb_aria
* @version 1.1.0
* @see {@link http://semver.org|Semantic Versioning}
* @author rkrusenb
*
* @desc Modulbeschreibung (TODO)
*
* @requires  {@link external:jQuery}
*
* @example
* Beispielaufruf (TODO)
*/"use strict";
var gsb;
gsb = gsb || {};
(function ($, gsb) {
  gsb.aria = function aria(el, options, params) {
    var base = Object.create(aria.prototype);
    base.$el = $(el);
    base.el = el;
    base.moduleName = "gsb.aria";
    base.$el.data(base.moduleName, base);
    base.options = $.extend({}, gsb.aria.defaultOptions, options);
    base.init(el, options, params);
    return base;
  };

  gsb.aria.prototype = {
    /**
    * @method generateID
    * @desc generiert eine ID aus einer Zufallszahl und dessen toString result mit der Basis 36
    */
    generateID: function generateID() {
      // Math.random should be unique because of its seeding algorithm.
      // Convert it to base 36 (numbers + letters), and grab the first 9 characters
      // after the decimal.
      return '_' + Math.random().toString(36).substr(2, 9);
    },
    setInitialValues: function setInitialValues() {
      var base = this;

      Object.keys(base.types).forEach(function (typeName) {
        var type = this[typeName];
        base.applyToggle(type, typeName, 1);
        type.prop('gsb_aria_index', function (index) {return index;});
      }, base.types);

      base.initial.forEach(function (statement) {
        var typeName = statement._type,
          type = base.types[typeName];
        Object.keys(statement).forEach(function (attrName) {
          var attrValue = statement[attrName];
          if (attrName === "_type") {

            //ignore
          } else if (attrName === "class") {
            //ignore
          } else if (typeof attrValue === "function") {type.each(function (i, el) {
              $(el).attr(attrName, attrValue.call(base, base, i, attrName));
            });
          } else {
            type.attr(attrName, attrValue);
          }
        });
      });
    },
    init: function init(_, __, params) {
      this.types = params.types;
      this.initial = params.initial;
      this.toggles = params.toggles;
      this.setInitialValues();
    },
    getToggleValues: function getToggleValues(object, index) {
      var values = {};
      Object.keys(object || {}).forEach(function (key) {
        if (key !== "class" && key !== "style") {
          values[key] = object[key][index];
        }
      });
      return values;
    },
    applyToggle: function applyToggle($elements, typeName, index) {
      var base = this,
        toggles = base.toggles[typeName] || {},
        classes = toggles["class"] || [];
      $elements.attr(base.getToggleValues(toggles, index));
      $elements.removeClass(classes[index === 0 ? 1 : 0]);
      $elements.addClass(classes[index]);
    },
    updateAria: function updateAria(elem, open, singleOpen) {
      var base = this,
        index = elem['gsb_aria_index'];
      if (!open || singleOpen) {
        Object.keys(base.types).forEach(function (typeName) {
          var type = base.types[typeName];
          base.applyToggle($(type[index]), typeName, open ? 0 : 1);
        });
      } else {
        Object.keys(base.types).forEach(function (typeName) {
          var type = base.types[typeName];
          $(type).each(function (idx) {
            if (index === idx) {
              base.applyToggle($(type[idx]), typeName, 0);
            } else {
              base.applyToggle($(type[idx]), typeName, 1);
            }
          });
        });
      }
    } };


  gsb.aria.defaultOptions = {

    //options
  };})(jQuery, gsb);
   /* Ende gsb_aria */
   /* Start gsb_checkDependencies */
   "use strict";var gsb;
gsb = gsb || {};
//uses gsb.warn and gsb.error
//needs to be loaded AFTER jquery
(function ($) {
  "use strict";
  function checkDependencies(dependencyNames, callback) {
    var allOK = true;
    dependencyNames.forEach(function (name) {
      var propertyName,
        dependency,
        warning;
      //future-proofing: initially, we will only support GSB Modules
      if (/^gsb\./.test(name)) {
        propertyName = String(name).replace(/\./g, '_');
        dependency = $.fn[propertyName];
        warning = "Callback dependent on module '" + name + "' detected, but module could not be found.";
      }
      if (dependency === undefined || dependency === null) {
        allOK = false;
        if (warning && (typeof gsb_logDependenciesWarning !== 'undefined' ? gsb_logDependenciesWarning : true)) {
          gsb.warn(warning);
        } else if (!warning) {
          gsb.error("Callback dependent on module '" + name + "' detected, but the module's type could not be determined from its name.");
        }
      }
    });
    if (allOK) {
      /* future-proofing: callback 'arguments' and 'this' may be specified whenever
       *                  we decide on a concept that can handle modules which are
       *                  not jQuery-plugins (and ideally, one that can handle both)
       */
      callback.call(null);
    }
  }

  gsb.checkDependencies = checkDependencies;
})(jQuery);
   /* Ende gsb_checkDependencies */
   /* Start gsb_jQueryHooks */
   /*!!
* @name gsb_jQueryHooks
* @version 0.0.1
* @see {@link http://semver.org|Semantic Versioning}
* @author rkrusenb
*
* @desc Prevent 3rd-party libs from using jQuery's `attr` method to set styles. jQuery's `css` method is unaffected.
*
* @requires  {@link external:jQuery}
*
* @example
* gsb.jQueryHooks({
*   styleWhitelist: {
*     width: true
*   }
* });
*/"use strict";
var gsb;
gsb = gsb || {};
(function ($, gsb) {
  "use strict";
  function setStyleAttrHook(whitelist) {
    $.attrHooks.style = {
      set: function set(element, styleString) {
        var dummy = document.createElement('div'),
          dummyStyle = dummy.style,
          validStyles = [];
        dummy.style.cssText = styleString;
        validStyles = validStyles.concat(applyWhitelistedStyles(element, dummyStyle, whitelist));
        validStyles = validStyles.concat(removeWhitelistedStyles(element, dummyStyle, whitelist));
        return validStyles.length ? validStyles.join('; ') : '';
      } };

  }
  function applyWhitelistedStyles(el, dummyStyle, whitelist) {
    var elStyle = el.style,
      validStyles = [],
      invalidStyles = {},
      invalidStyleKeys;
    var i, l, name, value;

    for (i = 0, l = dummyStyle.length; i < l; i++) {
      name = dummyStyle[i];
      value = dummyStyle[name];
      if (whitelist[name]) {
        validStyles.push(name + ': ' + value);
        elStyle[name] = value;
      } else {
        invalidStyles[name] = true;
      }
    }
    invalidStyleKeys = Object.keys(invalidStyles);
    if (invalidStyleKeys.length) {
      gsb.warn("Prevented setting the following non-whitelisted CSS-Properties: " + invalidStyleKeys.join(', '));
    }
    return validStyles;
  }
  function removeWhitelistedStyles(el, dummyStyle, whitelist) {
    var elStyle = el.style,
      validStyles = [],
      invalidStyles = {},
      invalidStyleKeys;
    var i, l, name, value;

    for (i = 0, l = elStyle.length; i < l; i++) {
      name = elStyle[i];
      if (dummyStyle[name] === '') {
        if (whitelist[name]) {
          elStyle[name] = '';
        } else {
          value = elStyle[name];
          validStyles.push(name + ': ' + value);
          invalidStyles[name] = true;
        }
      }
    }
    invalidStyleKeys = Object.keys(invalidStyles);
    if (invalidStyleKeys.length) {
      gsb.warn("Prevented removal of the following non-whitelisted CSS-Properties: " + invalidStyleKeys.join(', '));
    }
    return validStyles;
  }
  gsb.jQueryHooks = function jQueryHooks(_ref) {var styleWhitelist = _ref.styleWhitelist; // destructuring options for more helpful tooltips
    var options = $.extend(true, {}, jQueryHooks.defaultOptions, { styleWhitelist: styleWhitelist });
    setStyleAttrHook(options.styleWhitelist);
  };
  gsb.jQueryHooks.defaultOptions = {
    styleWhitelist: {} //disallow everything
  };
})(jQuery, gsb);
   /* Ende gsb_jQueryHooks */
   /* Start gsb_makeGSBModule */
   /* --GSBDocStart
 * @name: @gsb/gsb_makeGSBModule 
 * @version: 2.0.0 
 * @description: GSB-JS-Modul-Factory 
 * @isGSBLibrary: true 
 * --GSBDocEnd
*/"use strict";
var gsb;
gsb = gsb || {};
(function ($, gsb) {

  /* @example
   * function module(){}
   * var $;
   * set($, ['gsb', 'foo', 'bar'], module);
   * $.gsb && $.gsb.foo && $.gsb.foo.bar === module //true
   */
  function set(object, namespace, value) {// Build name space recursively and adds the "module(el, userOptions, ...additionalParameters)"
    var i,l = namespace.length - 1, // function to last ID of given namespace. Skips existing IDs, adds empty object for none existing.
      property,last = namespace[l];
    for (i = 0; i < l; i++) {
      property = namespace[i];
      object[property] = object[property] || {};
      object = object[property];
    }
    object[last] = value;
  }
  /* @example
   * var $ = {
   *   gsb: {
   *     foo: {
   *       bar: function(x){
   *         return x;
   *       }
   *     }
   *   }
   * };
   * apply($, ['gsb', 'foo', 'bar'], ['baz']) === 'baz' //true
   */
  function apply(object, namespace, args) {// Descents recursively through namespace and calls last ID if it contains a function.
    var i,l = namespace.length - 1, // Should be "module(el, userOptions, ...additionalParameters)" function.
      property,last = namespace[l];
    for (i = 0; i < l; i++) {
      property = namespace[i];
      object = object && object[property];
    }
    if (typeof object[last] === "function") {
      object[last].apply(object, args);
    }
  }

  // Adds meta properties to the module template. Currently: eventName and moduleName as identifier.
  function enhance(fullName, namespace, template) {//returns an "enhanced" copy of a template
    return $.extend({
      eventName: namespace.slice().reverse().join('.'),
      moduleName: fullName,
      generateID: function () {
        // Math.random should be unique because of its seeding algorithm.
        // Convert it to base 36 (numbers + letters), and grab the first 9 characters
        // after the decimal.
        return '_' + Math.random().toString(36).substr(2, 9);
      }
    }, template);
  }

  // Is called in each Module respectively. Registers the Modules build process to the jQuery Prototype. Adds a shortcut to execute
  // initialization of module to a list jQuery objects.
  gsb.makeGSBModule = function makeGSBModule(fullName, template) {
    var namespace = fullName.split('.');

    // A function to initialize an instance of a module inside a jQuery object.
    function module(el, userOptions) {
      var base = $.extend({}, template);
      base.el = el;
      base.$el = $(el);
      base.options = $.extend(true, {}, template.defaultOptions, userOptions);
      base.$el.data(namespace.join('.'), base);for (var _len = arguments.length, additionalParameters = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {additionalParameters[_key - 2] = arguments[_key];}
      base.init(el, userOptions, ...additionalParameters);
    }

    template = enhance(fullName, namespace, template);

    module.defaultOptions = template.defaultOptions || {};

    set($, namespace, module);

    // Applies the apply function to every jQuery-Element in a list if that element doesn't contain a module already or the given module
    // has the option "force" set to true.
    // Is called in init by "snake_cased" module name. $('.my-selector').gsb_my_module.
    $.fn[namespace.join('_')] = function (userOptions) {for (var _len2 = arguments.length, additionalParameters = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {additionalParameters[_key2 - 1] = arguments[_key2];}
      $(this).each(function (i, el) {
        if (!$(el).data(namespace.join('.')) || userOptions && userOptions.force) {//Is not occupied or is force true?
          apply($, namespace, [el, userOptions, ...additionalParameters]);
        }
      });
      return this;
    };
  };
})(jQuery, gsb);
   /* Ende gsb_makeGSBModule */
   /* Start gsb_requireGSBComponent */
   "use strict";var gsb;
gsb = gsb || {};
(function ($, gsb) {
  const state = {
    instanceCount: 0,
    promises: {}
  };

  function requireGenericGSBComponent(componentName, instanceName) {
    const promiseArray = createScriptTags(gsb.jsComponents.definitions[componentName].scriptList, instanceName);
    return Promise.all(promiseArray).then(() => {
      gsb.debug(instanceName, `Script-Tags für GSB-Komponente ${componentName} erzeugt`,
      gsb.jsComponents.definitions[componentName].scriptList);
    });
  }

  function createScriptTags(scriptList, instanceName) {
    gsb.debug(instanceName, 'Erzeuge Scripts Tags...', scriptList);
    const promiseArray = [];
    scriptList.forEach((scriptPath) => {
      promiseArray.push(createScriptTag(scriptPath, instanceName));
    });
    return promiseArray;
  }

  function createScriptTag(scriptPath, instanceName) {
    let promise;
    if (state.promises[scriptPath]) {
      promise = state.promises[scriptPath];
      gsb.debug(instanceName, 'Script bereits angefragt, warte auf Auflösung des Promise', promise);
    } else {
      promise = new Promise(function (resolve, reject) {
        const $script = $('<script></script>').attr({ src: scriptPath, charSet: 'UTF-8' });
        $script.
        prop('async', false).
        on('load', function () {
          gsb.debug(instanceName, 'resolve', { scriptPath, action: 'DOM load' });
          resolve({ scriptPath, action: 'DOM load' });
        });
        document.body.appendChild($script[0]);
      });
      state.promises[scriptPath] = promise;
    }
    return promise;
  }

  gsb.requireGSBComponent = function (componentName, $el) {
    const instanceName = 'gsb.requireGSBComponent-' + state.instanceCount++;
    const deferred = $.Deferred();
    let error;

    gsb.debug(instanceName, `GSB-Komponente ${componentName} angefordert`);
    if (gsb.jsComponents.definitions[componentName]) {
      if (!$el || !$el.length) {
        error = new Error('Elemente nicht im DOM befunden. GSB-Komponente wird nicht geladen');
        gsb.debug(instanceName, error.message);
        deferred.reject(error);
      } else {
        requireGenericGSBComponent(componentName, instanceName).
        then(() => deferred.resolve($el)).
        catch((err) => {
          deferred.reject(err);
          gsb.warn(instanceName, `GSB-Komponente ${componentName} für Elemente`, $el, 'konnte nicht eingebunden werden, es gab folgenden Fehler');
        });
      }
    } else {
      gsb.warn(instanceName, `GSB-Komponente ${componentName} ist nicht definiert, und kann daher nicht eingebunden werden`);
    }

    return deferred;
  };
})(jQuery, gsb);
   /* Ende gsb_requireGSBComponent */
   /* Start gsb_responsiveListener */
   /*!
* --GSBDocStart
* @module gsb_responsiveListener
* @version 1.1.0
* @see {@link http://semver.org|Semantic Versioning}
* @author anuebel, pespeloe
*
* @desc Ändert die Options der Plugins je Breakpoint. Über die Callbackfunction "onRefresh" kann je Auflösung eine Function ausgeführt werden
*
* @example
* base.$el.gsb_responsiveListener(base);
* Licensed under the MIT license
*
* Callback function je Breakpoint
*--GSBDocEnd
* */"use strict";

(function ($) {
  'use strict';
  if (!$.gsb) {
    $.gsb = {};
  }

  $.gsb.responsiveListener = function (pluginBase) {
    var base = this;
    this.base = base;
    this.pluginBase = pluginBase;

    // Add a reverse reference to the DOM object
    this.base.breakpoints = [];
    this.base.breakpointSettings = [];
    this.base.activeBreakpoint = null;
    this.base.windowWidth = 0;

    base.init = function () {
      //Da die Lib keine eigenen Options hat, Options vom Plugin holen
      base.options = pluginBase.options;
      base.originalOptions = base.options;
      this.base.options = base.options;
      this.base.originalOptions = base.originalOptions;
      base.initResponsive();
      base.checkResponsive();
      if (base.options.respondToEvents === true) {
        base.initEvents();
      }
    };

    /**
     * Initialisiert die Events.
     */
    $.gsb.responsiveListener.prototype.initEvents = function () {
      var $window = $(window),
        onResize = function onResize() {
          if ($(window).width() !== base.windowWidth) {
            clearTimeout(base.windowDelay);
            base.windowDelay = window.setTimeout(function () {
              base.windowWidth = $(window).width();
              base.checkResponsive();
            }, 100);
          }
        };
      $window.on('resize', onResize);
      $window.on('orientationchange', function () {
        base.checkResponsive();
      });
    };

    // Run initializer
    base.init();
  };

  /**
   * Initialisiert die Datenstrukturen fuer die responsiven Ueberpruefungen.
   */
  $.gsb.responsiveListener.prototype.initResponsive = function () {
    var breakpoint,
      responsiveSettings = this.base.options.responsive || null;

    if (responsiveSettings && responsiveSettings.length > -1) {
      for (breakpoint in responsiveSettings) {
        if (responsiveSettings.hasOwnProperty(breakpoint)) {
          this.base.breakpoints.push(responsiveSettings[
          breakpoint].breakpoint);
          this.base.breakpointSettings[responsiveSettings[
          breakpoint].breakpoint] =
          responsiveSettings[breakpoint];
        }
      }
      this.base.breakpoints.sort(function (a, b) {
        return b - a;
      });
    }
  };

  /**
   * Ueberprueft, ob eine Aenderung der Einstellungen durchgefuehrt werden muss. Dies ist dann der Fall, wenn
   * sich  die Breite des Viewports(window-Objekt) geaendert hat und mindestens einen der angegebenen Breakpoints
   * unterschreitet. Ausschlaggebend fuer die Aenderungen ist der letzte konfigurierte Breakpoint, dessen Breite
   * unterschritten wird.
   *
   */
  $.gsb.responsiveListener.prototype.checkResponsive = function () {
    var breakpoint,
      targetBreakpoint,
      respondToWidth = window.innerWidth || $(window).width();

    if (this.base.originalOptions.responsive &&
    this.base.originalOptions.responsive.length > -1 &&
    this.base.originalOptions.responsive !== null) {

      targetBreakpoint = null;

      if (this.base.activeBreakpoint !== null && respondToWidth >= this.base.breakpoints[0]) {
        this.base.activeBreakpoint = null;
        this.pluginBase.options = this.base.originalOptions;
      }

      for (breakpoint in this.base.breakpoints) {
        if (this.base.breakpoints.hasOwnProperty(breakpoint)) {
          if (respondToWidth < this.base.breakpoints[breakpoint]) {
            targetBreakpoint = this.base.breakpoints[breakpoint];
            this.base.highestResolution = false;
          }
        }
      }

      if (this.base.highestResolution) {
        return;
      }

      if (targetBreakpoint !== null) {
        if (this.base.activeBreakpoint !== null) {
          if (targetBreakpoint !== this.base.activeBreakpoint) {
            this.base.activeBreakpoint = targetBreakpoint;
            this.pluginBase.options = $.extend({},
            this.base.originalOptions,
            this.base.breakpointSettings[targetBreakpoint]);
            this.base.triggerRefresh();
          }
        } else {
          this.base.activeBreakpoint = targetBreakpoint;
          this.pluginBase.options = $.extend({},
          this.base.originalOptions,
          this.base.breakpointSettings[targetBreakpoint]);
          this.base.triggerRefresh();
        }
      } else {
        if (this.base.activeBreakpoint !== null) {
          this.base.activeBreakpoint = null;
          this.base.options = this.base.originalOptions;
          this.base.triggerRefresh();
        } else {
          this.base.highestResolution = true;
          this.base.triggerRefresh();
        }
      }
    } else if (this.base.originalOptions.onRefresh &&
    this.base.originalOptions.onRefresh.length > -1 &&
    this.base.originalOptions.onRefresh !== null) {
      if (this.base.highestResolution) {
        return;
      }
      this.base.triggerRefresh();
      this.base.highestResolution = true;
    }
  };

  /**
   * Loest die Aktualisierung des Scripts aus.
   */
  $.gsb.responsiveListener.prototype.triggerRefresh = function () {
    if (typeof this.pluginBase.options.onRefresh === 'function') {
      this.pluginBase.options.onRefresh.call(this.pluginBase);
    }
  };

  $.fn.gsb_responsiveListener = function (pluginBase) {
    return this.each(function () {
      return new $.gsb.responsiveListener(pluginBase);
    });
  };
})(jQuery);
   /* Ende gsb_responsiveListener */
   /* Start jquery.magnific-popup */
   /* --GSBDocStart
 * @name: magnific-popup 
 * @version: 1.1.0 
 * @repository: https://github.com/dimsemenov/Magnific-Popup 
 * @description: Lightbox and modal dialog plugin. Can display inline HTML, iframes (YouTube video, Vimeo, Google Maps), or an image gallery. Animation effects are added with CSS3 transitions. For jQuery or Zepto. 
 * @licenses: MIT 
 * --GSBDocEnd
*/
/*! Magnific Popup - v1.1.0 - 2016-02-20
* http://dimsemenov.com/plugins/magnific-popup/
* Copyright (c) 2016 Dmitry Semenov; */
;(function (factory) { 
if (typeof define === 'function' && define.amd) { 
 // AMD. Register as an anonymous module. 
 define(['jquery'], factory); 
 } else if (typeof exports === 'object') { 
 // Node/CommonJS 
 factory(require('jquery')); 
 } else { 
 // Browser globals 
 factory(window.jQuery || window.Zepto); 
 } 
 }(function($) { 

/*>>core*/
/**
 * 
 * Magnific Popup Core JS file
 * 
 */


/**
 * Private static constants
 */
var CLOSE_EVENT = 'Close',
  BEFORE_CLOSE_EVENT = 'BeforeClose',
  AFTER_CLOSE_EVENT = 'AfterClose',
  BEFORE_APPEND_EVENT = 'BeforeAppend',
  MARKUP_PARSE_EVENT = 'MarkupParse',
  OPEN_EVENT = 'Open',
  CHANGE_EVENT = 'Change',
  NS = 'mfp',
  EVENT_NS = '.' + NS,
  READY_CLASS = 'mfp-ready',
  REMOVING_CLASS = 'mfp-removing',
  PREVENT_CLOSE_CLASS = 'mfp-prevent-close';


/**
 * Private vars 
 */
/*jshint -W079 */
var mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'
  MagnificPopup = function(){},
  _isJQ = !!(window.jQuery),
  _prevStatus,
  _window = $(window),
  _document,
  _prevContentType,
  _wrapClasses,
  _currPopupType;


/**
 * Private functions
 */
var _mfpOn = function(name, f) {
    mfp.ev.on(NS + name + EVENT_NS, f);
  },
  _getEl = function(className, appendTo, html, raw) {
    var el = document.createElement('div');
    el.className = 'mfp-'+className;
    if(html) {
      el.innerHTML = html;
    }
    if(!raw) {
      el = $(el);
      if(appendTo) {
        el.appendTo(appendTo);
      }
    } else if(appendTo) {
      appendTo.appendChild(el);
    }
    return el;
  },
  _mfpTrigger = function(e, data) {
    mfp.ev.triggerHandler(NS + e, data);

    if(mfp.st.callbacks) {
      // converts "mfpEventName" to "eventName" callback and triggers it if it's present
      e = e.charAt(0).toLowerCase() + e.slice(1);
      if(mfp.st.callbacks[e]) {
        mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);
      }
    }
  },
  _getCloseBtn = function(type) {
    if(type !== _currPopupType || !mfp.currTemplate.closeBtn) {
      mfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );
      _currPopupType = type;
    }
    return mfp.currTemplate.closeBtn;
  },
  // Initialize Magnific Popup only when called at least once
  _checkInstance = function() {
    if(!$.magnificPopup.instance) {
      /*jshint -W020 */
      mfp = new MagnificPopup();
      mfp.init();
      $.magnificPopup.instance = mfp;
    }
  },
  // CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr
  supportsTransitions = function() {
    var s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist
      v = ['ms','O','Moz','Webkit']; // 'v' for vendor

    if( s['transition'] !== undefined ) {
      return true; 
    }
      
    while( v.length ) {
      if( v.pop() + 'Transition' in s ) {
        return true;
      }
    }
        
    return false;
  };



/**
 * Public functions
 */
MagnificPopup.prototype = {

  constructor: MagnificPopup,

  /**
   * Initializes Magnific Popup plugin. 
   * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed
   */
  init: function() {
    var appVersion = navigator.appVersion;
    mfp.isLowIE = mfp.isIE8 = document.all && !document.addEventListener;
    mfp.isAndroid = (/android/gi).test(appVersion);
    mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
    mfp.supportsTransition = supportsTransitions();

    // We disable fixed positioned lightbox on devices that don't handle it nicely.
    // If you know a better way of detecting this - let me know.
    mfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );
    _document = $(document);

    mfp.popupsCache = {};
  },

  /**
   * Opens popup
   * @param  data [description]
   */
  open: function(data) {

    var i;

    if(data.isObj === false) { 
      // convert jQuery collection to array to avoid conflicts later
      mfp.items = data.items.toArray();

      mfp.index = 0;
      var items = data.items,
        item;
      for(i = 0; i < items.length; i++) {
        item = items[i];
        if(item.parsed) {
          item = item.el[0];
        }
        if(item === data.el[0]) {
          mfp.index = i;
          break;
        }
      }
    } else {
      mfp.items = $.isArray(data.items) ? data.items : [data.items];
      mfp.index = data.index || 0;
    }

    // if popup is already opened - we just update the content
    if(mfp.isOpen) {
      mfp.updateItemHTML();
      return;
    }
    
    mfp.types = []; 
    _wrapClasses = '';
    if(data.mainEl && data.mainEl.length) {
      mfp.ev = data.mainEl.eq(0);
    } else {
      mfp.ev = _document;
    }

    if(data.key) {
      if(!mfp.popupsCache[data.key]) {
        mfp.popupsCache[data.key] = {};
      }
      mfp.currTemplate = mfp.popupsCache[data.key];
    } else {
      mfp.currTemplate = {};
    }



    mfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); 
    mfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;

    if(mfp.st.modal) {
      mfp.st.closeOnContentClick = false;
      mfp.st.closeOnBgClick = false;
      mfp.st.showCloseBtn = false;
      mfp.st.enableEscapeKey = false;
    }
    

    // Building markup
    // main containers are created only once
    if(!mfp.bgOverlay) {

      // Dark overlay
      mfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {
        mfp.close();
      });

      mfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {
        if(mfp._checkIfClose(e.target)) {
          mfp.close();
        }
      });

      mfp.container = _getEl('container', mfp.wrap);
    }

    mfp.contentContainer = _getEl('content');
    if(mfp.st.preloader) {
      mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
    }


    // Initializing modules
    var modules = $.magnificPopup.modules;
    for(i = 0; i < modules.length; i++) {
      var n = modules[i];
      n = n.charAt(0).toUpperCase() + n.slice(1);
      mfp['init'+n].call(mfp);
    }
    _mfpTrigger('BeforeOpen');


    if(mfp.st.showCloseBtn) {
      // Close button
      if(!mfp.st.closeBtnInside) {
        mfp.wrap.append( _getCloseBtn() );
      } else {
        _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {
          values.close_replaceWith = _getCloseBtn(item.type);
        });
        _wrapClasses += ' mfp-close-btn-in';
      }
    }

    if(mfp.st.alignTop) {
      _wrapClasses += ' mfp-align-top';
    }

  

    if(mfp.fixedContentPos) {
      mfp.wrap.css({
        overflow: mfp.st.overflowY,
        overflowX: 'hidden',
        overflowY: mfp.st.overflowY
      });
    } else {
      mfp.wrap.css({ 
        top: _window.scrollTop(),
        position: 'absolute'
      });
    }
    if( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {
      mfp.bgOverlay.css({
        height: _document.height(),
        position: 'absolute'
      });
    }

    

    if(mfp.st.enableEscapeKey) {
      // Close on ESC key
      _document.on('keyup' + EVENT_NS, function(e) {
        if(e.keyCode === 27) {
          mfp.close();
        }
      });
    }

    _window.on('resize' + EVENT_NS, function() {
      mfp.updateSize();
    });


    if(!mfp.st.closeOnContentClick) {
      _wrapClasses += ' mfp-auto-cursor';
    }
    
    if(_wrapClasses)
      mfp.wrap.addClass(_wrapClasses);


    // this triggers recalculation of layout, so we get it once to not to trigger twice
    var windowHeight = mfp.wH = _window.height();

    
    var windowStyles = {};

    if( mfp.fixedContentPos ) {
            if(mfp._hasScrollBar(windowHeight)){
                var s = mfp._getScrollbarSize();
                if(s) {
                    windowStyles.marginRight = s;
                }
            }
        }

    if(mfp.fixedContentPos) {
      if(!mfp.isIE7) {
        windowStyles.overflow = 'hidden';
      } else {
        // ie7 double-scroll bug
        $('body, html').css('overflow', 'hidden');
      }
    }

    
    
    var classesToadd = mfp.st.mainClass;
    if(mfp.isIE7) {
      classesToadd += ' mfp-ie7';
    }
    if(classesToadd) {
      mfp._addClassToMFP( classesToadd );
    }

    // add content
    mfp.updateItemHTML();

    _mfpTrigger('BuildControls');

    // remove scrollbar, add margin e.t.c
    $('html').css(windowStyles);
    
    // add everything to DOM
    mfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || $(document.body) );

    // Save last focused element
    mfp._lastFocusedEl = document.activeElement;
    
    // Wait for next cycle to allow CSS transition
    setTimeout(function() {
      
      if(mfp.content) {
        mfp._addClassToMFP(READY_CLASS);
        mfp._setFocus();
      } else {
        // if content is not defined (not loaded e.t.c) we add class only for BG
        mfp.bgOverlay.addClass(READY_CLASS);
      }
      
      // Trap the focus in popup
      _document.on('focusin' + EVENT_NS, mfp._onFocusIn);

    }, 16);

    mfp.isOpen = true;
    mfp.updateSize(windowHeight);
    _mfpTrigger(OPEN_EVENT);

    return data;
  },

  /**
   * Closes the popup
   */
  close: function() {
    if(!mfp.isOpen) return;
    _mfpTrigger(BEFORE_CLOSE_EVENT);

    mfp.isOpen = false;
    // for CSS3 animation
    if(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition )  {
      mfp._addClassToMFP(REMOVING_CLASS);
      setTimeout(function() {
        mfp._close();
      }, mfp.st.removalDelay);
    } else {
      mfp._close();
    }
  },

  /**
   * Helper for close() function
   */
  _close: function() {
    _mfpTrigger(CLOSE_EVENT);

    var classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';

    mfp.bgOverlay.detach();
    mfp.wrap.detach();
    mfp.container.empty();

    if(mfp.st.mainClass) {
      classesToRemove += mfp.st.mainClass + ' ';
    }

    mfp._removeClassFromMFP(classesToRemove);

    if(mfp.fixedContentPos) {
      var windowStyles = {marginRight: ''};
      if(mfp.isIE7) {
        $('body, html').css('overflow', '');
      } else {
        windowStyles.overflow = '';
      }
      $('html').css(windowStyles);
    }
    
    _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);
    mfp.ev.off(EVENT_NS);

    // clean up DOM elements that aren't removed
    mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');
    mfp.bgOverlay.attr('class', 'mfp-bg');
    mfp.container.attr('class', 'mfp-container');

    // remove close button from target element
    if(mfp.st.showCloseBtn &&
    (!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {
      if(mfp.currTemplate.closeBtn)
        mfp.currTemplate.closeBtn.detach();
    }


    if(mfp.st.autoFocusLast && mfp._lastFocusedEl) {
      $(mfp._lastFocusedEl).focus(); // put tab focus back
    }
    mfp.currItem = null;  
    mfp.content = null;
    mfp.currTemplate = null;
    mfp.prevHeight = 0;

    _mfpTrigger(AFTER_CLOSE_EVENT);
  },
  
  updateSize: function(winHeight) {

    if(mfp.isIOS) {
      // fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2
      var zoomLevel = document.documentElement.clientWidth / window.innerWidth;
      var height = window.innerHeight * zoomLevel;
      mfp.wrap.css('height', height);
      mfp.wH = height;
    } else {
      mfp.wH = winHeight || _window.height();
    }
    // Fixes #84: popup incorrectly positioned with position:relative on body
    if(!mfp.fixedContentPos) {
      mfp.wrap.css('height', mfp.wH);
    }

    _mfpTrigger('Resize');

  },

  /**
   * Set content of popup based on current index
   */
  updateItemHTML: function() {
    var item = mfp.items[mfp.index];

    // Detach and perform modifications
    mfp.contentContainer.detach();

    if(mfp.content)
      mfp.content.detach();

    if(!item.parsed) {
      item = mfp.parseEl( mfp.index );
    }

    var type = item.type;

    _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);
    // BeforeChange event works like so:
    // _mfpOn('BeforeChange', function(e, prevType, newType) { });

    mfp.currItem = item;

    if(!mfp.currTemplate[type]) {
      var markup = mfp.st[type] ? mfp.st[type].markup : false;

      // allows to modify markup
      _mfpTrigger('FirstMarkupParse', markup);

      if(markup) {
        mfp.currTemplate[type] = $(markup);
      } else {
        // if there is no markup found we just define that template is parsed
        mfp.currTemplate[type] = true;
      }
    }

    if(_prevContentType && _prevContentType !== item.type) {
      mfp.container.removeClass('mfp-'+_prevContentType+'-holder');
    }

    var newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);
    mfp.appendContent(newContent, type);

    item.preloaded = true;

    _mfpTrigger(CHANGE_EVENT, item);
    _prevContentType = item.type;

    // Append container back after its content changed
    mfp.container.prepend(mfp.contentContainer);

    _mfpTrigger('AfterChange');
  },


  /**
   * Set HTML content of popup
   */
  appendContent: function(newContent, type) {
    mfp.content = newContent;

    if(newContent) {
      if(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&
        mfp.currTemplate[type] === true) {
        // if there is no markup, we just append close button element inside
        if(!mfp.content.find('.mfp-close').length) {
          mfp.content.append(_getCloseBtn());
        }
      } else {
        mfp.content = newContent;
      }
    } else {
      mfp.content = '';
    }

    _mfpTrigger(BEFORE_APPEND_EVENT);
    mfp.container.addClass('mfp-'+type+'-holder');

    mfp.contentContainer.append(mfp.content);
  },


  /**
   * Creates Magnific Popup data object based on given data
   * @param  {int} index Index of item to parse
   */
  parseEl: function(index) {
    var item = mfp.items[index],
      type;

    if(item.tagName) {
      item = { el: $(item) };
    } else {
      type = item.type;
      item = { data: item, src: item.src };
    }

    if(item.el) {
      var types = mfp.types;

      // check for 'mfp-TYPE' class
      for(var i = 0; i < types.length; i++) {
        if( item.el.hasClass('mfp-'+types[i]) ) {
          type = types[i];
          break;
        }
      }

      item.src = item.el.attr('data-mfp-src');
      if(!item.src) {
        item.src = item.el.attr('href');
      }
    }

    item.type = type || mfp.st.type || 'inline';
    item.index = index;
    item.parsed = true;
    mfp.items[index] = item;
    _mfpTrigger('ElementParse', item);

    return mfp.items[index];
  },


  /**
   * Initializes single popup or a group of popups
   */
  addGroup: function(el, options) {
    var eHandler = function(e) {
      e.mfpEl = this;
      mfp._openClick(e, el, options);
    };

    if(!options) {
      options = {};
    }

    var eName = 'click.magnificPopup';
    options.mainEl = el;

    if(options.items) {
      options.isObj = true;
      el.off(eName).on(eName, eHandler);
    } else {
      options.isObj = false;
      if(options.delegate) {
        el.off(eName).on(eName, options.delegate , eHandler);
      } else {
        options.items = el;
        el.off(eName).on(eName, eHandler);
      }
    }
  },
  _openClick: function(e, el, options) {
    var midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;


    if(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey ) ) {
      return;
    }

    var disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;

    if(disableOn) {
      if($.isFunction(disableOn)) {
        if( !disableOn.call(mfp) ) {
          return true;
        }
      } else { // else it's number
        if( _window.width() < disableOn ) {
          return true;
        }
      }
    }

    if(e.type) {
      e.preventDefault();

      // This will prevent popup from closing if element is inside and popup is already opened
      if(mfp.isOpen) {
        e.stopPropagation();
      }
    }

    options.el = $(e.mfpEl);
    if(options.delegate) {
      options.items = el.find(options.delegate);
    }
    mfp.open(options);
  },


  /**
   * Updates text on preloader
   */
  updateStatus: function(status, text) {

    if(mfp.preloader) {
      if(_prevStatus !== status) {
        mfp.container.removeClass('mfp-s-'+_prevStatus);
      }

      if(!text && status === 'loading') {
        text = mfp.st.tLoading;
      }

      var data = {
        status: status,
        text: text
      };
      // allows to modify status
      _mfpTrigger('UpdateStatus', data);

      status = data.status;
      text = data.text;

      mfp.preloader.html(text);

      mfp.preloader.find('a').on('click', function(e) {
        e.stopImmediatePropagation();
      });

      mfp.container.addClass('mfp-s-'+status);
      _prevStatus = status;
    }
  },


  /*
    "Private" helpers that aren't private at all
   */
  // Check to close popup or not
  // "target" is an element that was clicked
  _checkIfClose: function(target) {

    if($(target).hasClass(PREVENT_CLOSE_CLASS)) {
      return;
    }

    var closeOnContent = mfp.st.closeOnContentClick;
    var closeOnBg = mfp.st.closeOnBgClick;

    if(closeOnContent && closeOnBg) {
      return true;
    } else {

      // We close the popup if click is on close button or on preloader. Or if there is no content.
      if(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {
        return true;
      }

      // if click is outside the content
      if(  (target !== mfp.content[0] && !$.contains(mfp.content[0], target))  ) {
        if(closeOnBg) {
          // last check, if the clicked element is in DOM, (in case it's removed onclick)
          if( $.contains(document, target) ) {
            return true;
          }
        }
      } else if(closeOnContent) {
        return true;
      }

    }
    return false;
  },
  _addClassToMFP: function(cName) {
    mfp.bgOverlay.addClass(cName);
    mfp.wrap.addClass(cName);
  },
  _removeClassFromMFP: function(cName) {
    this.bgOverlay.removeClass(cName);
    mfp.wrap.removeClass(cName);
  },
  _hasScrollBar: function(winHeight) {
    return (  (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );
  },
  _setFocus: function() {
    (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();
  },
  _onFocusIn: function(e) {
    if( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {
      mfp._setFocus();
      return false;
    }
  },
  _parseMarkup: function(template, values, item) {
    var arr;
    if(item.data) {
      values = $.extend(item.data, values);
    }
    _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );

    $.each(values, function(key, value) {
      if(value === undefined || value === false) {
        return true;
      }
      arr = key.split('_');
      if(arr.length > 1) {
        var el = template.find(EVENT_NS + '-'+arr[0]);

        if(el.length > 0) {
          var attr = arr[1];
          if(attr === 'replaceWith') {
            if(el[0] !== value[0]) {
              el.replaceWith(value);
            }
          } else if(attr === 'img') {
            if(el.is('img')) {
              el.attr('src', value);
            } else {
              el.replaceWith( $('<img>').attr('src', value).attr('class', el.attr('class')) );
            }
          } else {
            el.attr(arr[1], value);
          }
        }

      } else {
        template.find(EVENT_NS + '-'+key).html(value);
      }
    });
  },

  _getScrollbarSize: function() {
    // thx David
    if(mfp.scrollbarSize === undefined) {
      var scrollDiv = document.createElement("div");
      scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
      document.body.appendChild(scrollDiv);
      mfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;
      document.body.removeChild(scrollDiv);
    }
    return mfp.scrollbarSize;
  }

}; /* MagnificPopup core prototype end */




/**
 * Public static functions
 */
$.magnificPopup = {
  instance: null,
  proto: MagnificPopup.prototype,
  modules: [],

  open: function(options, index) {
    _checkInstance();

    if(!options) {
      options = {};
    } else {
      options = $.extend(true, {}, options);
    }

    options.isObj = true;
    options.index = index || 0;
    return this.instance.open(options);
  },

  close: function() {
    return $.magnificPopup.instance && $.magnificPopup.instance.close();
  },

  registerModule: function(name, module) {
    if(module.options) {
      $.magnificPopup.defaults[name] = module.options;
    }
    $.extend(this.proto, module.proto);
    this.modules.push(name);
  },

  defaults: {

    // Info about options is in docs:
    // http://dimsemenov.com/plugins/magnific-popup/documentation.html#options

    disableOn: 0,

    key: null,

    midClick: false,

    mainClass: '',

    preloader: true,

    focus: '', // CSS selector of input to focus after popup is opened

    closeOnContentClick: false,

    closeOnBgClick: true,

    closeBtnInside: true,

    showCloseBtn: true,

    enableEscapeKey: true,

    modal: false,

    alignTop: false,

    removalDelay: 0,

    prependTo: null,

    fixedContentPos: 'auto',

    fixedBgPos: 'auto',

    overflowY: 'auto',

    closeMarkup: '<button title="%title%" type="button" class="mfp-close">&#215;</button>',

    tClose: 'Close (Esc)',

    tLoading: 'Loading...',

    autoFocusLast: true

  }
};



$.fn.magnificPopup = function(options) {
  _checkInstance();

  var jqEl = $(this);

  // We call some API method of first param is a string
  if (typeof options === "string" ) {

    if(options === 'open') {
      var items,
        itemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,
        index = parseInt(arguments[1], 10) || 0;

      if(itemOpts.items) {
        items = itemOpts.items[index];
      } else {
        items = jqEl;
        if(itemOpts.delegate) {
          items = items.find(itemOpts.delegate);
        }
        items = items.eq( index );
      }
      mfp._openClick({mfpEl:items}, jqEl, itemOpts);
    } else {
      if(mfp.isOpen)
        mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));
    }

  } else {
    // clone options obj
    options = $.extend(true, {}, options);

    /*
     * As Zepto doesn't support .data() method for objects
     * and it works only in normal browsers
     * we assign "options" object directly to the DOM element. FTW!
     */
    if(_isJQ) {
      jqEl.data('magnificPopup', options);
    } else {
      jqEl[0].magnificPopup = options;
    }

    mfp.addGroup(jqEl, options);

  }
  return jqEl;
};

/*>>core*/

/*>>inline*/

var INLINE_NS = 'inline',
  _hiddenClass,
  _inlinePlaceholder,
  _lastInlineElement,
  _putInlineElementsBack = function() {
    if(_lastInlineElement) {
      _inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();
      _lastInlineElement = null;
    }
  };

$.magnificPopup.registerModule(INLINE_NS, {
  options: {
    hiddenClass: 'hide', // will be appended with `mfp-` prefix
    markup: '',
    tNotFound: 'Content not found'
  },
  proto: {

    initInline: function() {
      mfp.types.push(INLINE_NS);

      _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {
        _putInlineElementsBack();
      });
    },

    getInline: function(item, template) {

      _putInlineElementsBack();

      if(item.src) {
        var inlineSt = mfp.st.inline,
          el = $(item.src);

        if(el.length) {

          // If target element has parent - we replace it with placeholder and put it back after popup is closed
          var parent = el[0].parentNode;
          if(parent && parent.tagName) {
            if(!_inlinePlaceholder) {
              _hiddenClass = inlineSt.hiddenClass;
              _inlinePlaceholder = _getEl(_hiddenClass);
              _hiddenClass = 'mfp-'+_hiddenClass;
            }
            // replace target inline element with placeholder
            _lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);
          }

          mfp.updateStatus('ready');
        } else {
          mfp.updateStatus('error', inlineSt.tNotFound);
          el = $('<div>');
        }

        item.inlineElement = el;
        return el;
      }

      mfp.updateStatus('ready');
      mfp._parseMarkup(template, {}, item);
      return template;
    }
  }
});

/*>>inline*/

/*>>ajax*/
var AJAX_NS = 'ajax',
  _ajaxCur,
  _removeAjaxCursor = function() {
    if(_ajaxCur) {
      $(document.body).removeClass(_ajaxCur);
    }
  },
  _destroyAjaxRequest = function() {
    _removeAjaxCursor();
    if(mfp.req) {
      mfp.req.abort();
    }
  };

$.magnificPopup.registerModule(AJAX_NS, {

  options: {
    settings: null,
    cursor: 'mfp-ajax-cur',
    tError: '<a href="%url%">The content</a> could not be loaded.'
  },

  proto: {
    initAjax: function() {
      mfp.types.push(AJAX_NS);
      _ajaxCur = mfp.st.ajax.cursor;

      _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);
      _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);
    },
    getAjax: function(item) {

      if(_ajaxCur) {
        $(document.body).addClass(_ajaxCur);
      }

      mfp.updateStatus('loading');

      var opts = $.extend({
        url: item.src,
        success: function(data, textStatus, jqXHR) {
          var temp = {
            data:data,
            xhr:jqXHR
          };

          _mfpTrigger('ParseAjax', temp);

          mfp.appendContent( $(temp.data), AJAX_NS );

          item.finished = true;

          _removeAjaxCursor();

          mfp._setFocus();

          setTimeout(function() {
            mfp.wrap.addClass(READY_CLASS);
          }, 16);

          mfp.updateStatus('ready');

          _mfpTrigger('AjaxContentAdded');
        },
        error: function() {
          _removeAjaxCursor();
          item.finished = item.loadError = true;
          mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));
        }
      }, mfp.st.ajax.settings);

      mfp.req = $.ajax(opts);

      return '';
    }
  }
});

/*>>ajax*/

/*>>image*/
var _imgInterval,
  _getTitle = function(item) {
    if(item.data && item.data.title !== undefined)
      return item.data.title;

    var src = mfp.st.image.titleSrc;

    if(src) {
      if($.isFunction(src)) {
        return src.call(mfp, item);
      } else if(item.el) {
        return item.el.attr(src) || '';
      }
    }
    return '';
  };

$.magnificPopup.registerModule('image', {

  options: {
    markup: '<div class="mfp-figure">'+
          '<div class="mfp-close"></div>'+
          '<figure>'+
            '<div class="mfp-img"></div>'+
            '<figcaption>'+
              '<div class="mfp-bottom-bar">'+
                '<div class="mfp-title"></div>'+
                '<div class="mfp-counter"></div>'+
              '</div>'+
            '</figcaption>'+
          '</figure>'+
        '</div>',
    cursor: 'mfp-zoom-out-cur',
    titleSrc: 'title',
    verticalFit: true,
    tError: '<a href="%url%">The image</a> could not be loaded.'
  },

  proto: {
    initImage: function() {
      var imgSt = mfp.st.image,
        ns = '.image';

      mfp.types.push('image');

      _mfpOn(OPEN_EVENT+ns, function() {
        if(mfp.currItem.type === 'image' && imgSt.cursor) {
          $(document.body).addClass(imgSt.cursor);
        }
      });

      _mfpOn(CLOSE_EVENT+ns, function() {
        if(imgSt.cursor) {
          $(document.body).removeClass(imgSt.cursor);
        }
        _window.off('resize' + EVENT_NS);
      });

      _mfpOn('Resize'+ns, mfp.resizeImage);
      if(mfp.isLowIE) {
        _mfpOn('AfterChange', mfp.resizeImage);
      }
    },
    resizeImage: function() {
      var item = mfp.currItem;
      if(!item || !item.img) return;

      if(mfp.st.image.verticalFit) {
        var decr = 0;
        // fix box-sizing in ie7/8
        if(mfp.isLowIE) {
          decr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);
        }
        item.img.css('max-height', mfp.wH-decr);
      }
    },
    _onImageHasSize: function(item) {
      if(item.img) {

        item.hasSize = true;

        if(_imgInterval) {
          clearInterval(_imgInterval);
        }

        item.isCheckingImgSize = false;

        _mfpTrigger('ImageHasSize', item);

        if(item.imgHidden) {
          if(mfp.content)
            mfp.content.removeClass('mfp-loading');

          item.imgHidden = false;
        }

      }
    },

    /**
     * Function that loops until the image has size to display elements that rely on it asap
     */
    findImageSize: function(item) {

      var counter = 0,
        img = item.img[0],
        mfpSetInterval = function(delay) {

          if(_imgInterval) {
            clearInterval(_imgInterval);
          }
          // decelerating interval that checks for size of an image
          _imgInterval = setInterval(function() {
            if(img.naturalWidth > 0) {
              mfp._onImageHasSize(item);
              return;
            }

            if(counter > 200) {
              clearInterval(_imgInterval);
            }

            counter++;
            if(counter === 3) {
              mfpSetInterval(10);
            } else if(counter === 40) {
              mfpSetInterval(50);
            } else if(counter === 100) {
              mfpSetInterval(500);
            }
          }, delay);
        };

      mfpSetInterval(1);
    },

    getImage: function(item, template) {

      var guard = 0,

        // image load complete handler
        onLoadComplete = function() {
          if(item) {
            if (item.img[0].complete) {
              item.img.off('.mfploader');

              if(item === mfp.currItem){
                mfp._onImageHasSize(item);

                mfp.updateStatus('ready');
              }

              item.hasSize = true;
              item.loaded = true;

              _mfpTrigger('ImageLoadComplete');

            }
            else {
              // if image complete check fails 200 times (20 sec), we assume that there was an error.
              guard++;
              if(guard < 200) {
                setTimeout(onLoadComplete,100);
              } else {
                onLoadError();
              }
            }
          }
        },

        // image error handler
        onLoadError = function() {
          if(item) {
            item.img.off('.mfploader');
            if(item === mfp.currItem){
              mfp._onImageHasSize(item);
              mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
            }

            item.hasSize = true;
            item.loaded = true;
            item.loadError = true;
          }
        },
        imgSt = mfp.st.image;


      var el = template.find('.mfp-img');
      if(el.length) {
        var img = document.createElement('img');
        img.className = 'mfp-img';
        if(item.el && item.el.find('img').length) {
          img.alt = item.el.find('img').attr('alt');
        }
        item.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);
        img.src = item.src;

        // without clone() "error" event is not firing when IMG is replaced by new IMG
        // TODO: find a way to avoid such cloning
        if(el.is('img')) {
          item.img = item.img.clone();
        }

        img = item.img[0];
        if(img.naturalWidth > 0) {
          item.hasSize = true;
        } else if(!img.width) {
          item.hasSize = false;
        }
      }

      mfp._parseMarkup(template, {
        title: _getTitle(item),
        img_replaceWith: item.img
      }, item);

      mfp.resizeImage();

      if(item.hasSize) {
        if(_imgInterval) clearInterval(_imgInterval);

        if(item.loadError) {
          template.addClass('mfp-loading');
          mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );
        } else {
          template.removeClass('mfp-loading');
          mfp.updateStatus('ready');
        }
        return template;
      }

      mfp.updateStatus('loading');
      item.loading = true;

      if(!item.hasSize) {
        item.imgHidden = true;
        template.addClass('mfp-loading');
        mfp.findImageSize(item);
      }

      return template;
    }
  }
});

/*>>image*/

/*>>zoom*/
var hasMozTransform,
  getHasMozTransform = function() {
    if(hasMozTransform === undefined) {
      hasMozTransform = document.createElement('p').style.MozTransform !== undefined;
    }
    return hasMozTransform;
  };

$.magnificPopup.registerModule('zoom', {

  options: {
    enabled: false,
    easing: 'ease-in-out',
    duration: 300,
    opener: function(element) {
      return element.is('img') ? element : element.find('img');
    }
  },

  proto: {

    initZoom: function() {
      var zoomSt = mfp.st.zoom,
        ns = '.zoom',
        image;

      if(!zoomSt.enabled || !mfp.supportsTransition) {
        return;
      }

      var duration = zoomSt.duration,
        getElToAnimate = function(image) {
          var newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),
            transition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,
            cssObj = {
              position: 'fixed',
              zIndex: 9999,
              left: 0,
              top: 0,
              '-webkit-backface-visibility': 'hidden'
            },
            t = 'transition';

          cssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;

          newImg.css(cssObj);
          return newImg;
        },
        showMainContent = function() {
          mfp.content.css('visibility', 'visible');
        },
        openTimeout,
        animatedImg;

      _mfpOn('BuildControls'+ns, function() {
        if(mfp._allowZoom()) {

          clearTimeout(openTimeout);
          mfp.content.css('visibility', 'hidden');

          // Basically, all code below does is clones existing image, puts in on top of the current one and animated it

          image = mfp._getItemToZoom();

          if(!image) {
            showMainContent();
            return;
          }

          animatedImg = getElToAnimate(image);

          animatedImg.css( mfp._getOffset() );

          mfp.wrap.append(animatedImg);

          openTimeout = setTimeout(function() {
            animatedImg.css( mfp._getOffset( true ) );
            openTimeout = setTimeout(function() {

              showMainContent();

              setTimeout(function() {
                animatedImg.remove();
                image = animatedImg = null;
                _mfpTrigger('ZoomAnimationEnded');
              }, 16); // avoid blink when switching images

            }, duration); // this timeout equals animation duration

          }, 16); // by adding this timeout we avoid short glitch at the beginning of animation


          // Lots of timeouts...
        }
      });
      _mfpOn(BEFORE_CLOSE_EVENT+ns, function() {
        if(mfp._allowZoom()) {

          clearTimeout(openTimeout);

          mfp.st.removalDelay = duration;

          if(!image) {
            image = mfp._getItemToZoom();
            if(!image) {
              return;
            }
            animatedImg = getElToAnimate(image);
          }

          animatedImg.css( mfp._getOffset(true) );
          mfp.wrap.append(animatedImg);
          mfp.content.css('visibility', 'hidden');

          setTimeout(function() {
            animatedImg.css( mfp._getOffset() );
          }, 16);
        }

      });

      _mfpOn(CLOSE_EVENT+ns, function() {
        if(mfp._allowZoom()) {
          showMainContent();
          if(animatedImg) {
            animatedImg.remove();
          }
          image = null;
        }
      });
    },

    _allowZoom: function() {
      return mfp.currItem.type === 'image';
    },

    _getItemToZoom: function() {
      if(mfp.currItem.hasSize) {
        return mfp.currItem.img;
      } else {
        return false;
      }
    },

    // Get element postion relative to viewport
    _getOffset: function(isLarge) {
      var el;
      if(isLarge) {
        el = mfp.currItem.img;
      } else {
        el = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);
      }

      var offset = el.offset();
      var paddingTop = parseInt(el.css('padding-top'),10);
      var paddingBottom = parseInt(el.css('padding-bottom'),10);
      offset.top -= ( $(window).scrollTop() - paddingTop );


      /*

      Animating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.

       */
      var obj = {
        width: el.width(),
        // fix Zepto height+padding issue
        height: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop
      };

      // I hate to do this, but there is no another option
      if( getHasMozTransform() ) {
        obj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';
      } else {
        obj.left = offset.left;
        obj.top = offset.top;
      }
      return obj;
    }

  }
});



/*>>zoom*/

/*>>iframe*/

var IFRAME_NS = 'iframe',
  _emptyPage = '//about:blank',

  _fixIframeBugs = function(isShowing) {
    if(mfp.currTemplate[IFRAME_NS]) {
      var el = mfp.currTemplate[IFRAME_NS].find('iframe');
      if(el.length) {
        // reset src after the popup is closed to avoid "video keeps playing after popup is closed" bug
        if(!isShowing) {
          el[0].src = _emptyPage;
        }

        // IE8 black screen bug fix
        if(mfp.isIE8) {
          el.css('display', isShowing ? 'block' : 'none');
        }
      }
    }
  };

$.magnificPopup.registerModule(IFRAME_NS, {

  options: {
    markup: '<div class="mfp-iframe-scaler">'+
          '<div class="mfp-close"></div>'+
          '<iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe>'+
        '</div>',

    srcAction: 'iframe_src',

    // we don't care and support only one default type of URL by default
    patterns: {
      youtube: {
        index: 'youtube.com',
        id: 'v=',
        src: '//www.youtube.com/embed/%id%?autoplay=1'
      },
      vimeo: {
        index: 'vimeo.com/',
        id: '/',
        src: '//player.vimeo.com/video/%id%?autoplay=1'
      },
      gmaps: {
        index: '//maps.google.',
        src: '%id%&output=embed'
      }
    }
  },

  proto: {
    initIframe: function() {
      mfp.types.push(IFRAME_NS);

      _mfpOn('BeforeChange', function(e, prevType, newType) {
        if(prevType !== newType) {
          if(prevType === IFRAME_NS) {
            _fixIframeBugs(); // iframe if removed
          } else if(newType === IFRAME_NS) {
            _fixIframeBugs(true); // iframe is showing
          }
        }// else {
          // iframe source is switched, don't do anything
        //}
      });

      _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {
        _fixIframeBugs();
      });
    },

    getIframe: function(item, template) {
      var embedSrc = item.src;
      var iframeSt = mfp.st.iframe;

      $.each(iframeSt.patterns, function() {
        if(embedSrc.indexOf( this.index ) > -1) {
          if(this.id) {
            if(typeof this.id === 'string') {
              embedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);
            } else {
              embedSrc = this.id.call( this, embedSrc );
            }
          }
          embedSrc = this.src.replace('%id%', embedSrc );
          return false; // break;
        }
      });

      var dataObj = {};
      if(iframeSt.srcAction) {
        dataObj[iframeSt.srcAction] = embedSrc;
      }
      mfp._parseMarkup(template, dataObj, item);

      mfp.updateStatus('ready');

      return template;
    }
  }
});



/*>>iframe*/

/*>>gallery*/
/**
 * Get looped index depending on number of slides
 */
var _getLoopedId = function(index) {
    var numSlides = mfp.items.length;
    if(index > numSlides - 1) {
      return index - numSlides;
    } else  if(index < 0) {
      return numSlides + index;
    }
    return index;
  },
  _replaceCurrTotal = function(text, curr, total) {
    return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);
  };

$.magnificPopup.registerModule('gallery', {

  options: {
    enabled: false,
    arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
    preload: [0,2],
    navigateByImgClick: true,
    arrows: true,

    tPrev: 'Previous (Left arrow key)',
    tNext: 'Next (Right arrow key)',
    tCounter: '%curr% of %total%'
  },

  proto: {
    initGallery: function() {

      var gSt = mfp.st.gallery,
        ns = '.mfp-gallery';

      mfp.direction = true; // true - next, false - prev

      if(!gSt || !gSt.enabled ) return false;

      _wrapClasses += ' mfp-gallery';

      _mfpOn(OPEN_EVENT+ns, function() {

        if(gSt.navigateByImgClick) {
          mfp.wrap.on('click'+ns, '.mfp-img', function() {
            if(mfp.items.length > 1) {
              mfp.next();
              return false;
            }
          });
        }

        _document.on('keydown'+ns, function(e) {
          if (e.keyCode === 37) {
            mfp.prev();
          } else if (e.keyCode === 39) {
            mfp.next();
          }
        });
      });

      _mfpOn('UpdateStatus'+ns, function(e, data) {
        if(data.text) {
          data.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);
        }
      });

      _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
        var l = mfp.items.length;
        values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
      });

      _mfpOn('BuildControls' + ns, function() {
        if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
          var markup = gSt.arrowMarkup,
            arrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),
            arrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);

          arrowLeft.click(function() {
            mfp.prev();
          });
          arrowRight.click(function() {
            mfp.next();
          });

          mfp.container.append(arrowLeft.add(arrowRight));
        }
      });

      _mfpOn(CHANGE_EVENT+ns, function() {
        if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);

        mfp._preloadTimeout = setTimeout(function() {
          mfp.preloadNearbyImages();
          mfp._preloadTimeout = null;
        }, 16);
      });


      _mfpOn(CLOSE_EVENT+ns, function() {
        _document.off(ns);
        mfp.wrap.off('click'+ns);
        mfp.arrowRight = mfp.arrowLeft = null;
      });

    },
    next: function() {
      mfp.direction = true;
      mfp.index = _getLoopedId(mfp.index + 1);
      mfp.updateItemHTML();
    },
    prev: function() {
      mfp.direction = false;
      mfp.index = _getLoopedId(mfp.index - 1);
      mfp.updateItemHTML();
    },
    goTo: function(newIndex) {
      mfp.direction = (newIndex >= mfp.index);
      mfp.index = newIndex;
      mfp.updateItemHTML();
    },
    preloadNearbyImages: function() {
      var p = mfp.st.gallery.preload,
        preloadBefore = Math.min(p[0], mfp.items.length),
        preloadAfter = Math.min(p[1], mfp.items.length),
        i;

      for(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {
        mfp._preloadItem(mfp.index+i);
      }
      for(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {
        mfp._preloadItem(mfp.index-i);
      }
    },
    _preloadItem: function(index) {
      index = _getLoopedId(index);

      if(mfp.items[index].preloaded) {
        return;
      }

      var item = mfp.items[index];
      if(!item.parsed) {
        item = mfp.parseEl( index );
      }

      _mfpTrigger('LazyLoad', item);

      if(item.type === 'image') {
        item.img = $('<img class="mfp-img" />').on('load.mfploader', function() {
          item.hasSize = true;
        }).on('error.mfploader', function() {
          item.hasSize = true;
          item.loadError = true;
          _mfpTrigger('LazyLoadError', item);
        }).attr('src', item.src);
      }


      item.preloaded = true;
    }
  }
});

/*>>gallery*/

/*>>retina*/

var RETINA_NS = 'retina';

$.magnificPopup.registerModule(RETINA_NS, {
  options: {
    replaceSrc: function(item) {
      return item.src.replace(/\.\w+$/, function(m) { return '@2x' + m; });
    },
    ratio: 1 // Function or number.  Set to 1 to disable.
  },
  proto: {
    initRetina: function() {
      if(window.devicePixelRatio > 1) {

        var st = mfp.st.retina,
          ratio = st.ratio;

        ratio = !isNaN(ratio) ? ratio : ratio();

        if(ratio > 1) {
          _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {
            item.img.css({
              'max-width': item.img[0].naturalWidth / ratio,
              'width': '100%'
            });
          });
          _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {
            item.src = st.replaceSrc(item, ratio);
          });
        }
      }

    }
  }
});

/*>>retina*/
 _checkInstance(); }));
   /* Ende jquery.magnific-popup */
   /* Start slick */
   /* --GSBDocStart
 * @name: slick-carousel 
 * @version: 1.8.1 
 * @repository: https://github.com/kenwheeler/slick 
 * @description: the last carousel you'll ever need 
 * @licenses: MIT 
 * --GSBDocEnd
*/
/*
     _ _      _       _
 ___| (_) ___| | __  (_)___
/ __| | |/ __| |/ /  | / __|
\__ \ | | (__|   < _ | \__ \
|___/_|_|\___|_|\_(_)/ |___/
                   |__/

 Version: 1.8.1
  Author: Ken Wheeler
 Website: http://kenwheeler.github.io
    Docs: http://kenwheeler.github.io/slick
    Repo: http://github.com/kenwheeler/slick
  Issues: http://github.com/kenwheeler/slick/issues

 */
/* global window, document, define, jQuery, setInterval, clearInterval */
;(function(factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        define(['jquery'], factory);
    } else if (typeof exports !== 'undefined') {
        module.exports = factory(require('jquery'));
    } else {
        factory(jQuery);
    }

}(function($) {
    'use strict';
    var Slick = window.Slick || {};

    Slick = (function() {

        var instanceUid = 0;

        function Slick(element, settings) {

            var _ = this, dataSettings;

            _.defaults = {
                accessibility: true,
                adaptiveHeight: false,
                appendArrows: $(element),
                appendDots: $(element),
                arrows: true,
                asNavFor: null,
                prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
                nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
                autoplay: false,
                autoplaySpeed: 3000,
                centerMode: false,
                centerPadding: '50px',
                cssEase: 'ease',
                customPaging: function(slider, i) {
                    return $('<button type="button" />').text(i + 1);
                },
                dots: false,
                dotsClass: 'slick-dots',
                draggable: true,
                easing: 'linear',
                edgeFriction: 0.35,
                fade: false,
                focusOnSelect: false,
                focusOnChange: false,
                infinite: true,
                initialSlide: 0,
                lazyLoad: 'ondemand',
                mobileFirst: false,
                pauseOnHover: true,
                pauseOnFocus: true,
                pauseOnDotsHover: false,
                respondTo: 'window',
                responsive: null,
                rows: 1,
                rtl: false,
                slide: '',
                slidesPerRow: 1,
                slidesToShow: 1,
                slidesToScroll: 1,
                speed: 500,
                swipe: true,
                swipeToSlide: false,
                touchMove: true,
                touchThreshold: 5,
                useCSS: true,
                useTransform: true,
                variableWidth: false,
                vertical: false,
                verticalSwiping: false,
                waitForAnimate: true,
                zIndex: 1000
            };

            _.initials = {
                animating: false,
                dragging: false,
                autoPlayTimer: null,
                currentDirection: 0,
                currentLeft: null,
                currentSlide: 0,
                direction: 1,
                $dots: null,
                listWidth: null,
                listHeight: null,
                loadIndex: 0,
                $nextArrow: null,
                $prevArrow: null,
                scrolling: false,
                slideCount: null,
                slideWidth: null,
                $slideTrack: null,
                $slides: null,
                sliding: false,
                slideOffset: 0,
                swipeLeft: null,
                swiping: false,
                $list: null,
                touchObject: {},
                transformsEnabled: false,
                unslicked: false
            };

            $.extend(_, _.initials);

            _.activeBreakpoint = null;
            _.animType = null;
            _.animProp = null;
            _.breakpoints = [];
            _.breakpointSettings = [];
            _.cssTransitions = false;
            _.focussed = false;
            _.interrupted = false;
            _.hidden = 'hidden';
            _.paused = true;
            _.positionProp = null;
            _.respondTo = null;
            _.rowCount = 1;
            _.shouldClick = true;
            _.$slider = $(element);
            _.$slidesCache = null;
            _.transformType = null;
            _.transitionType = null;
            _.visibilityChange = 'visibilitychange';
            _.windowWidth = 0;
            _.windowTimer = null;

            dataSettings = $(element).data('slick') || {};

            _.options = $.extend({}, _.defaults, settings, dataSettings);

            _.currentSlide = _.options.initialSlide;

            _.originalSettings = _.options;

            if (typeof document.mozHidden !== 'undefined') {
                _.hidden = 'mozHidden';
                _.visibilityChange = 'mozvisibilitychange';
            } else if (typeof document.webkitHidden !== 'undefined') {
                _.hidden = 'webkitHidden';
                _.visibilityChange = 'webkitvisibilitychange';
            }

            _.autoPlay = $.proxy(_.autoPlay, _);
            _.autoPlayClear = $.proxy(_.autoPlayClear, _);
            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
            _.changeSlide = $.proxy(_.changeSlide, _);
            _.clickHandler = $.proxy(_.clickHandler, _);
            _.selectHandler = $.proxy(_.selectHandler, _);
            _.setPosition = $.proxy(_.setPosition, _);
            _.swipeHandler = $.proxy(_.swipeHandler, _);
            _.dragHandler = $.proxy(_.dragHandler, _);
            _.keyHandler = $.proxy(_.keyHandler, _);

            _.instanceUid = instanceUid++;

            // A simple way to check for HTML strings
            // Strict HTML recognition (must start with <)
            // Extracted from jQuery v1.11 source
            _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;


            _.registerBreakpoints();
            _.init(true);

        }

        return Slick;

    }());

    Slick.prototype.activateADA = function() {
        var _ = this;

        _.$slideTrack.find('.slick-active').attr({
            'aria-hidden': 'false'
        }).find('a, input, button, select').attr({
            'tabindex': '0'
        });

    };

    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {

        var _ = this;

        if (typeof(index) === 'boolean') {
            addBefore = index;
            index = null;
        } else if (index < 0 || (index >= _.slideCount)) {
            return false;
        }

        _.unload();

        if (typeof(index) === 'number') {
            if (index === 0 && _.$slides.length === 0) {
                $(markup).appendTo(_.$slideTrack);
            } else if (addBefore) {
                $(markup).insertBefore(_.$slides.eq(index));
            } else {
                $(markup).insertAfter(_.$slides.eq(index));
            }
        } else {
            if (addBefore === true) {
                $(markup).prependTo(_.$slideTrack);
            } else {
                $(markup).appendTo(_.$slideTrack);
            }
        }

        _.$slides = _.$slideTrack.children(this.options.slide);

        _.$slideTrack.children(this.options.slide).detach();

        _.$slideTrack.append(_.$slides);

        _.$slides.each(function(index, element) {
            $(element).attr('data-slick-index', index);
        });

        _.$slidesCache = _.$slides;

        _.reinit();

    };

    Slick.prototype.animateHeight = function() {
        var _ = this;
        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
            _.$list.animate({
                height: targetHeight
            }, _.options.speed);
        }
    };

    Slick.prototype.animateSlide = function(targetLeft, callback) {

        var animProps = {},
            _ = this;

        _.animateHeight();

        if (_.options.rtl === true && _.options.vertical === false) {
            targetLeft = -targetLeft;
        }
        if (_.transformsEnabled === false) {
            if (_.options.vertical === false) {
                _.$slideTrack.animate({
                    left: targetLeft
                }, _.options.speed, _.options.easing, callback);
            } else {
                _.$slideTrack.animate({
                    top: targetLeft
                }, _.options.speed, _.options.easing, callback);
            }

        } else {

            if (_.cssTransitions === false) {
                if (_.options.rtl === true) {
                    _.currentLeft = -(_.currentLeft);
                }
                $({
                    animStart: _.currentLeft
                }).animate({
                    animStart: targetLeft
                }, {
                    duration: _.options.speed,
                    easing: _.options.easing,
                    step: function(now) {
                        now = Math.ceil(now);
                        if (_.options.vertical === false) {
                            animProps[_.animType] = 'translate(' +
                                now + 'px, 0px)';
                            _.$slideTrack.css(animProps);
                        } else {
                            animProps[_.animType] = 'translate(0px,' +
                                now + 'px)';
                            _.$slideTrack.css(animProps);
                        }
                    },
                    complete: function() {
                        if (callback) {
                            callback.call();
                        }
                    }
                });

            } else {

                _.applyTransition();
                targetLeft = Math.ceil(targetLeft);

                if (_.options.vertical === false) {
                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
                } else {
                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
                }
                _.$slideTrack.css(animProps);

                if (callback) {
                    setTimeout(function() {

                        _.disableTransition();

                        callback.call();
                    }, _.options.speed);
                }

            }

        }

    };

    Slick.prototype.getNavTarget = function() {

        var _ = this,
            asNavFor = _.options.asNavFor;

        if ( asNavFor && asNavFor !== null ) {
            asNavFor = $(asNavFor).not(_.$slider);
        }

        return asNavFor;

    };

    Slick.prototype.asNavFor = function(index) {

        var _ = this,
            asNavFor = _.getNavTarget();

        if ( asNavFor !== null && typeof asNavFor === 'object' ) {
            asNavFor.each(function() {
                var target = $(this).slick('getSlick');
                if(!target.unslicked) {
                    target.slideHandler(index, true);
                }
            });
        }

    };

    Slick.prototype.applyTransition = function(slide) {

        var _ = this,
            transition = {};

        if (_.options.fade === false) {
            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
        } else {
            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
        }

        if (_.options.fade === false) {
            _.$slideTrack.css(transition);
        } else {
            _.$slides.eq(slide).css(transition);
        }

    };

    Slick.prototype.autoPlay = function() {

        var _ = this;

        _.autoPlayClear();

        if ( _.slideCount > _.options.slidesToShow ) {
            _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
        }

    };

    Slick.prototype.autoPlayClear = function() {

        var _ = this;

        if (_.autoPlayTimer) {
            clearInterval(_.autoPlayTimer);
        }

    };

    Slick.prototype.autoPlayIterator = function() {

        var _ = this,
            slideTo = _.currentSlide + _.options.slidesToScroll;

        if ( !_.paused && !_.interrupted && !_.focussed ) {

            if ( _.options.infinite === false ) {

                if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
                    _.direction = 0;
                }

                else if ( _.direction === 0 ) {

                    slideTo = _.currentSlide - _.options.slidesToScroll;

                    if ( _.currentSlide - 1 === 0 ) {
                        _.direction = 1;
                    }

                }

            }

            _.slideHandler( slideTo );

        }

    };

    Slick.prototype.buildArrows = function() {

        var _ = this;

        if (_.options.arrows === true ) {

            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');

            if( _.slideCount > _.options.slidesToShow ) {

                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');

                if (_.htmlExpr.test(_.options.prevArrow)) {
                    _.$prevArrow.prependTo(_.options.appendArrows);
                }

                if (_.htmlExpr.test(_.options.nextArrow)) {
                    _.$nextArrow.appendTo(_.options.appendArrows);
                }

                if (_.options.infinite !== true) {
                    _.$prevArrow
                        .addClass('slick-disabled')
                        .attr('aria-disabled', 'true');
                }

            } else {

                _.$prevArrow.add( _.$nextArrow )

                    .addClass('slick-hidden')
                    .attr({
                        'aria-disabled': 'true',
                        'tabindex': '-1'
                    });

            }

        }

    };

    Slick.prototype.buildDots = function() {

        var _ = this,
            i, dot;

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {

            _.$slider.addClass('slick-dotted');

            dot = $('<ul />').addClass(_.options.dotsClass);

            for (i = 0; i <= _.getDotCount(); i += 1) {
                dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
            }

            _.$dots = dot.appendTo(_.options.appendDots);

            _.$dots.find('li').first().addClass('slick-active');

        }

    };

    Slick.prototype.buildOut = function() {

        var _ = this;

        _.$slides =
            _.$slider
                .children( _.options.slide + ':not(.slick-cloned)')
                .addClass('slick-slide');

        _.slideCount = _.$slides.length;

        _.$slides.each(function(index, element) {
            $(element)
                .attr('data-slick-index', index)
                .data('originalStyling', $(element).attr('style') || '');
        });

        _.$slider.addClass('slick-slider');

        _.$slideTrack = (_.slideCount === 0) ?
            $('<div class="slick-track"/>').appendTo(_.$slider) :
            _.$slides.wrapAll('<div class="slick-track"/>').parent();

        _.$list = _.$slideTrack.wrap(
            '<div class="slick-list"/>').parent();
        _.$slideTrack.css('opacity', 0);

        if (_.options.centerMode === true || _.options.swipeToSlide === true) {
            _.options.slidesToScroll = 1;
        }

        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');

        _.setupInfinite();

        _.buildArrows();

        _.buildDots();

        _.updateDots();


        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);

        if (_.options.draggable === true) {
            _.$list.addClass('draggable');
        }

    };

    Slick.prototype.buildRows = function() {

        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;

        newSlides = document.createDocumentFragment();
        originalSlides = _.$slider.children();

        if(_.options.rows > 0) {

            slidesPerSection = _.options.slidesPerRow * _.options.rows;
            numOfSlides = Math.ceil(
                originalSlides.length / slidesPerSection
            );

            for(a = 0; a < numOfSlides; a++){
                var slide = document.createElement('div');
                for(b = 0; b < _.options.rows; b++) {
                    var row = document.createElement('div');
                    for(c = 0; c < _.options.slidesPerRow; c++) {
                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
                        if (originalSlides.get(target)) {
                            row.appendChild(originalSlides.get(target));
                        }
                    }
                    slide.appendChild(row);
                }
                newSlides.appendChild(slide);
            }

            _.$slider.empty().append(newSlides);
            _.$slider.children().children().children()
                .css({
                    'width':(100 / _.options.slidesPerRow) + '%',
                    'display': 'inline-block'
                });

        }

    };

    Slick.prototype.checkResponsive = function(initial, forceUpdate) {

        var _ = this,
            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
        var sliderWidth = _.$slider.width();
        var windowWidth = window.innerWidth || $(window).width();

        if (_.respondTo === 'window') {
            respondToWidth = windowWidth;
        } else if (_.respondTo === 'slider') {
            respondToWidth = sliderWidth;
        } else if (_.respondTo === 'min') {
            respondToWidth = Math.min(windowWidth, sliderWidth);
        }

        if ( _.options.responsive &&
            _.options.responsive.length &&
            _.options.responsive !== null) {

            targetBreakpoint = null;

            for (breakpoint in _.breakpoints) {
                if (_.breakpoints.hasOwnProperty(breakpoint)) {
                    if (_.originalSettings.mobileFirst === false) {
                        if (respondToWidth < _.breakpoints[breakpoint]) {
                            targetBreakpoint = _.breakpoints[breakpoint];
                        }
                    } else {
                        if (respondToWidth > _.breakpoints[breakpoint]) {
                            targetBreakpoint = _.breakpoints[breakpoint];
                        }
                    }
                }
            }

            if (targetBreakpoint !== null) {
                if (_.activeBreakpoint !== null) {
                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
                        _.activeBreakpoint =
                            targetBreakpoint;
                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
                            _.unslick(targetBreakpoint);
                        } else {
                            _.options = $.extend({}, _.originalSettings,
                                _.breakpointSettings[
                                    targetBreakpoint]);
                            if (initial === true) {
                                _.currentSlide = _.options.initialSlide;
                            }
                            _.refresh(initial);
                        }
                        triggerBreakpoint = targetBreakpoint;
                    }
                } else {
                    _.activeBreakpoint = targetBreakpoint;
                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
                        _.unslick(targetBreakpoint);
                    } else {
                        _.options = $.extend({}, _.originalSettings,
                            _.breakpointSettings[
                                targetBreakpoint]);
                        if (initial === true) {
                            _.currentSlide = _.options.initialSlide;
                        }
                        _.refresh(initial);
                    }
                    triggerBreakpoint = targetBreakpoint;
                }
            } else {
                if (_.activeBreakpoint !== null) {
                    _.activeBreakpoint = null;
                    _.options = _.originalSettings;
                    if (initial === true) {
                        _.currentSlide = _.options.initialSlide;
                    }
                    _.refresh(initial);
                    triggerBreakpoint = targetBreakpoint;
                }
            }

            // only trigger breakpoints during an actual break. not on initialize.
            if( !initial && triggerBreakpoint !== false ) {
                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
            }
        }

    };

    Slick.prototype.changeSlide = function(event, dontAnimate) {

        var _ = this,
            $target = $(event.currentTarget),
            indexOffset, slideOffset, unevenOffset;

        // If target is a link, prevent default action.
        if($target.is('a')) {
            event.preventDefault();
        }

        // If target is not the <li> element (ie: a child), find the <li>.
        if(!$target.is('li')) {
            $target = $target.closest('li');
        }

        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;

        switch (event.data.message) {

            case 'previous':
                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
                if (_.slideCount > _.options.slidesToShow) {
                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
                }
                break;

            case 'next':
                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
                if (_.slideCount > _.options.slidesToShow) {
                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
                }
                break;

            case 'index':
                var index = event.data.index === 0 ? 0 :
                    event.data.index || $target.index() * _.options.slidesToScroll;

                _.slideHandler(_.checkNavigable(index), false, dontAnimate);
                $target.children().trigger('focus');
                break;

            default:
                return;
        }

    };

    Slick.prototype.checkNavigable = function(index) {

        var _ = this,
            navigables, prevNavigable;

        navigables = _.getNavigableIndexes();
        prevNavigable = 0;
        if (index > navigables[navigables.length - 1]) {
            index = navigables[navigables.length - 1];
        } else {
            for (var n in navigables) {
                if (index < navigables[n]) {
                    index = prevNavigable;
                    break;
                }
                prevNavigable = navigables[n];
            }
        }

        return index;
    };

    Slick.prototype.cleanUpEvents = function() {

        var _ = this;

        if (_.options.dots && _.$dots !== null) {

            $('li', _.$dots)
                .off('click.slick', _.changeSlide)
                .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
                .off('mouseleave.slick', $.proxy(_.interrupt, _, false));

            if (_.options.accessibility === true) {
                _.$dots.off('keydown.slick', _.keyHandler);
            }
        }

        _.$slider.off('focus.slick blur.slick');

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);

            if (_.options.accessibility === true) {
                _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);
                _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);
            }
        }

        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);

        _.$list.off('click.slick', _.clickHandler);

        $(document).off(_.visibilityChange, _.visibility);

        _.cleanUpSlideEvents();

        if (_.options.accessibility === true) {
            _.$list.off('keydown.slick', _.keyHandler);
        }

        if (_.options.focusOnSelect === true) {
            $(_.$slideTrack).children().off('click.slick', _.selectHandler);
        }

        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);

        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);

        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);

        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);

    };

    Slick.prototype.cleanUpSlideEvents = function() {

        var _ = this;

        _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
        _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));

    };

    Slick.prototype.cleanUpRows = function() {

        var _ = this, originalSlides;

        if(_.options.rows > 0) {
            originalSlides = _.$slides.children().children();
            originalSlides.removeAttr('style');
            _.$slider.empty().append(originalSlides);
        }

    };

    Slick.prototype.clickHandler = function(event) {

        var _ = this;

        if (_.shouldClick === false) {
            event.stopImmediatePropagation();
            event.stopPropagation();
            event.preventDefault();
        }

    };

    Slick.prototype.destroy = function(refresh) {

        var _ = this;

        _.autoPlayClear();

        _.touchObject = {};

        _.cleanUpEvents();

        $('.slick-cloned', _.$slider).detach();

        if (_.$dots) {
            _.$dots.remove();
        }

        if ( _.$prevArrow && _.$prevArrow.length ) {

            _.$prevArrow
                .removeClass('slick-disabled slick-arrow slick-hidden')
                .removeAttr('aria-hidden aria-disabled tabindex')
                .css('display','');

            if ( _.htmlExpr.test( _.options.prevArrow )) {
                _.$prevArrow.remove();
            }
        }

        if ( _.$nextArrow && _.$nextArrow.length ) {

            _.$nextArrow
                .removeClass('slick-disabled slick-arrow slick-hidden')
                .removeAttr('aria-hidden aria-disabled tabindex')
                .css('display','');

            if ( _.htmlExpr.test( _.options.nextArrow )) {
                _.$nextArrow.remove();
            }
        }


        if (_.$slides) {

            _.$slides
                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
                .removeAttr('aria-hidden')
                .removeAttr('data-slick-index')
                .each(function(){
                    $(this).attr('style', $(this).data('originalStyling'));
                });

            _.$slideTrack.children(this.options.slide).detach();

            _.$slideTrack.detach();

            _.$list.detach();

            _.$slider.append(_.$slides);
        }

        _.cleanUpRows();

        _.$slider.removeClass('slick-slider');
        _.$slider.removeClass('slick-initialized');
        _.$slider.removeClass('slick-dotted');

        _.unslicked = true;

        if(!refresh) {
            _.$slider.trigger('destroy', [_]);
        }

    };

    Slick.prototype.disableTransition = function(slide) {

        var _ = this,
            transition = {};

        transition[_.transitionType] = '';

        if (_.options.fade === false) {
            _.$slideTrack.css(transition);
        } else {
            _.$slides.eq(slide).css(transition);
        }

    };

    Slick.prototype.fadeSlide = function(slideIndex, callback) {

        var _ = this;

        if (_.cssTransitions === false) {

            _.$slides.eq(slideIndex).css({
                zIndex: _.options.zIndex
            });

            _.$slides.eq(slideIndex).animate({
                opacity: 1
            }, _.options.speed, _.options.easing, callback);

        } else {

            _.applyTransition(slideIndex);

            _.$slides.eq(slideIndex).css({
                opacity: 1,
                zIndex: _.options.zIndex
            });

            if (callback) {
                setTimeout(function() {

                    _.disableTransition(slideIndex);

                    callback.call();
                }, _.options.speed);
            }

        }

    };

    Slick.prototype.fadeSlideOut = function(slideIndex) {

        var _ = this;

        if (_.cssTransitions === false) {

            _.$slides.eq(slideIndex).animate({
                opacity: 0,
                zIndex: _.options.zIndex - 2
            }, _.options.speed, _.options.easing);

        } else {

            _.applyTransition(slideIndex);

            _.$slides.eq(slideIndex).css({
                opacity: 0,
                zIndex: _.options.zIndex - 2
            });

        }

    };

    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {

        var _ = this;

        if (filter !== null) {

            _.$slidesCache = _.$slides;

            _.unload();

            _.$slideTrack.children(this.options.slide).detach();

            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);

            _.reinit();

        }

    };

    Slick.prototype.focusHandler = function() {

        var _ = this;

        _.$slider
            .off('focus.slick blur.slick')
            .on('focus.slick blur.slick', '*', function(event) {

            event.stopImmediatePropagation();
            var $sf = $(this);

            setTimeout(function() {

                if( _.options.pauseOnFocus ) {
                    _.focussed = $sf.is(':focus');
                    _.autoPlay();
                }

            }, 0);

        });
    };

    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {

        var _ = this;
        return _.currentSlide;

    };

    Slick.prototype.getDotCount = function() {

        var _ = this;

        var breakPoint = 0;
        var counter = 0;
        var pagerQty = 0;

        if (_.options.infinite === true) {
            if (_.slideCount <= _.options.slidesToShow) {
                 ++pagerQty;
            } else {
                while (breakPoint < _.slideCount) {
                    ++pagerQty;
                    breakPoint = counter + _.options.slidesToScroll;
                    counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
                }
            }
        } else if (_.options.centerMode === true) {
            pagerQty = _.slideCount;
        } else if(!_.options.asNavFor) {
            pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
        }else {
            while (breakPoint < _.slideCount) {
                ++pagerQty;
                breakPoint = counter + _.options.slidesToScroll;
                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
            }
        }

        return pagerQty - 1;

    };

    Slick.prototype.getLeft = function(slideIndex) {

        var _ = this,
            targetLeft,
            verticalHeight,
            verticalOffset = 0,
            targetSlide,
            coef;

        _.slideOffset = 0;
        verticalHeight = _.$slides.first().outerHeight(true);

        if (_.options.infinite === true) {
            if (_.slideCount > _.options.slidesToShow) {
                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
                coef = -1

                if (_.options.vertical === true && _.options.centerMode === true) {
                    if (_.options.slidesToShow === 2) {
                        coef = -1.5;
                    } else if (_.options.slidesToShow === 1) {
                        coef = -2
                    }
                }
                verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;
            }
            if (_.slideCount % _.options.slidesToScroll !== 0) {
                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
                    if (slideIndex > _.slideCount) {
                        _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
                    } else {
                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
                    }
                }
            }
        } else {
            if (slideIndex + _.options.slidesToShow > _.slideCount) {
                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
            }
        }

        if (_.slideCount <= _.options.slidesToShow) {
            _.slideOffset = 0;
            verticalOffset = 0;
        }

        if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {
            _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
        } else if (_.options.centerMode === true && _.options.infinite === true) {
            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
        } else if (_.options.centerMode === true) {
            _.slideOffset = 0;
            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
        }

        if (_.options.vertical === false) {
            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
        } else {
            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
        }

        if (_.options.variableWidth === true) {

            if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
            } else {
                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
            }

            if (_.options.rtl === true) {
                if (targetSlide[0]) {
                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
                } else {
                    targetLeft =  0;
                }
            } else {
                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
            }

            if (_.options.centerMode === true) {
                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
                } else {
                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
                }

                if (_.options.rtl === true) {
                    if (targetSlide[0]) {
                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
                    } else {
                        targetLeft =  0;
                    }
                } else {
                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
                }

                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
            }
        }

        return targetLeft;

    };

    Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {

        var _ = this;

        return _.options[option];

    };

    Slick.prototype.getNavigableIndexes = function() {

        var _ = this,
            breakPoint = 0,
            counter = 0,
            indexes = [],
            max;

        if (_.options.infinite === false) {
            max = _.slideCount;
        } else {
            breakPoint = _.options.slidesToScroll * -1;
            counter = _.options.slidesToScroll * -1;
            max = _.slideCount * 2;
        }

        while (breakPoint < max) {
            indexes.push(breakPoint);
            breakPoint = counter + _.options.slidesToScroll;
            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
        }

        return indexes;

    };

    Slick.prototype.getSlick = function() {

        return this;

    };

    Slick.prototype.getSlideCount = function() {

        var _ = this,
            slidesTraversed, swipedSlide, centerOffset;

        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;

        if (_.options.swipeToSlide === true) {
            _.$slideTrack.find('.slick-slide').each(function(index, slide) {
                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
                    swipedSlide = slide;
                    return false;
                }
            });

            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;

            return slidesTraversed;

        } else {
            return _.options.slidesToScroll;
        }

    };

    Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {

        var _ = this;

        _.changeSlide({
            data: {
                message: 'index',
                index: parseInt(slide)
            }
        }, dontAnimate);

    };

    Slick.prototype.init = function(creation) {

        var _ = this;

        if (!$(_.$slider).hasClass('slick-initialized')) {

            $(_.$slider).addClass('slick-initialized');

            _.buildRows();
            _.buildOut();
            _.setProps();
            _.startLoad();
            _.loadSlider();
            _.initializeEvents();
            _.updateArrows();
            _.updateDots();
            _.checkResponsive(true);
            _.focusHandler();

        }

        if (creation) {
            _.$slider.trigger('init', [_]);
        }

        if (_.options.accessibility === true) {
            _.initADA();
        }

        if ( _.options.autoplay ) {

            _.paused = false;
            _.autoPlay();

        }

    };

    Slick.prototype.initADA = function() {
        var _ = this,
                numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
                tabControlIndexes = _.getNavigableIndexes().filter(function(val) {
                    return (val >= 0) && (val < _.slideCount);
                });

        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
            'aria-hidden': 'true',
            'tabindex': '-1'
        }).find('a, input, button, select').attr({
            'tabindex': '-1'
        });

        if (_.$dots !== null) {
            _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
                var slideControlIndex = tabControlIndexes.indexOf(i);

                $(this).attr({
                    'role': 'tabpanel',
                    'id': 'slick-slide' + _.instanceUid + i,
                    'tabindex': -1
                });

                if (slideControlIndex !== -1) {
                   var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex
                   if ($('#' + ariaButtonControl).length) {
                     $(this).attr({
                         'aria-describedby': ariaButtonControl
                     });
                   }
                }
            });

            _.$dots.attr('role', 'tablist').find('li').each(function(i) {
                var mappedSlideIndex = tabControlIndexes[i];

                $(this).attr({
                    'role': 'presentation'
                });

                $(this).find('button').first().attr({
                    'role': 'tab',
                    'id': 'slick-slide-control' + _.instanceUid + i,
                    'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
                    'aria-label': (i + 1) + ' of ' + numDotGroups,
                    'aria-selected': null,
                    'tabindex': '-1'
                });

            }).eq(_.currentSlide).find('button').attr({
                'aria-selected': 'true',
                'tabindex': '0'
            }).end();
        }

        for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) {
          if (_.options.focusOnChange) {
            _.$slides.eq(i).attr({'tabindex': '0'});
          } else {
            _.$slides.eq(i).removeAttr('tabindex');
          }
        }

        _.activateADA();

    };

    Slick.prototype.initArrowEvents = function() {

        var _ = this;

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
            _.$prevArrow
               .off('click.slick')
               .on('click.slick', {
                    message: 'previous'
               }, _.changeSlide);
            _.$nextArrow
               .off('click.slick')
               .on('click.slick', {
                    message: 'next'
               }, _.changeSlide);

            if (_.options.accessibility === true) {
                _.$prevArrow.on('keydown.slick', _.keyHandler);
                _.$nextArrow.on('keydown.slick', _.keyHandler);
            }
        }

    };

    Slick.prototype.initDotEvents = function() {

        var _ = this;

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
            $('li', _.$dots).on('click.slick', {
                message: 'index'
            }, _.changeSlide);

            if (_.options.accessibility === true) {
                _.$dots.on('keydown.slick', _.keyHandler);
            }
        }

        if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) {

            $('li', _.$dots)
                .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
                .on('mouseleave.slick', $.proxy(_.interrupt, _, false));

        }

    };

    Slick.prototype.initSlideEvents = function() {

        var _ = this;

        if ( _.options.pauseOnHover ) {

            _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
            _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));

        }

    };

    Slick.prototype.initializeEvents = function() {

        var _ = this;

        _.initArrowEvents();

        _.initDotEvents();
        _.initSlideEvents();

        _.$list.on('touchstart.slick mousedown.slick', {
            action: 'start'
        }, _.swipeHandler);
        _.$list.on('touchmove.slick mousemove.slick', {
            action: 'move'
        }, _.swipeHandler);
        _.$list.on('touchend.slick mouseup.slick', {
            action: 'end'
        }, _.swipeHandler);
        _.$list.on('touchcancel.slick mouseleave.slick', {
            action: 'end'
        }, _.swipeHandler);

        _.$list.on('click.slick', _.clickHandler);

        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));

        if (_.options.accessibility === true) {
            _.$list.on('keydown.slick', _.keyHandler);
        }

        if (_.options.focusOnSelect === true) {
            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
        }

        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));

        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));

        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);

        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
        $(_.setPosition);

    };

    Slick.prototype.initUI = function() {

        var _ = this;

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {

            _.$prevArrow.show();
            _.$nextArrow.show();

        }

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {

            _.$dots.show();

        }

    };

    Slick.prototype.keyHandler = function(event) {

        var _ = this;
         //Dont slide if the cursor is inside the form fields and arrow keys are pressed
        if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
            if (event.keyCode === 37 && _.options.accessibility === true) {
                _.changeSlide({
                    data: {
                        message: _.options.rtl === true ? 'next' :  'previous'
                    }
                });
            } else if (event.keyCode === 39 && _.options.accessibility === true) {
                _.changeSlide({
                    data: {
                        message: _.options.rtl === true ? 'previous' : 'next'
                    }
                });
            }
        }

    };

    Slick.prototype.lazyLoad = function() {

        var _ = this,
            loadRange, cloneRange, rangeStart, rangeEnd;

        function loadImages(imagesScope) {

            $('img[data-lazy]', imagesScope).each(function() {

                var image = $(this),
                    imageSource = $(this).attr('data-lazy'),
                    imageSrcSet = $(this).attr('data-srcset'),
                    imageSizes  = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),
                    imageToLoad = document.createElement('img');

                imageToLoad.onload = function() {

                    image
                        .animate({ opacity: 0 }, 100, function() {

                            if (imageSrcSet) {
                                image
                                    .attr('srcset', imageSrcSet );

                                if (imageSizes) {
                                    image
                                        .attr('sizes', imageSizes );
                                }
                            }

                            image
                                .attr('src', imageSource)
                                .animate({ opacity: 1 }, 200, function() {
                                    image
                                        .removeAttr('data-lazy data-srcset data-sizes')
                                        .removeClass('slick-loading');
                                });
                            _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
                        });

                };

                imageToLoad.onerror = function() {

                    image
                        .removeAttr( 'data-lazy' )
                        .removeClass( 'slick-loading' )
                        .addClass( 'slick-lazyload-error' );

                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);

                };

                imageToLoad.src = imageSource;

            });

        }

        if (_.options.centerMode === true) {
            if (_.options.infinite === true) {
                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
                rangeEnd = rangeStart + _.options.slidesToShow + 2;
            } else {
                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
            }
        } else {
            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
            rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
            if (_.options.fade === true) {
                if (rangeStart > 0) rangeStart--;
                if (rangeEnd <= _.slideCount) rangeEnd++;
            }
        }

        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);

        if (_.options.lazyLoad === 'anticipated') {
            var prevSlide = rangeStart - 1,
                nextSlide = rangeEnd,
                $slides = _.$slider.find('.slick-slide');

            for (var i = 0; i < _.options.slidesToScroll; i++) {
                if (prevSlide < 0) prevSlide = _.slideCount - 1;
                loadRange = loadRange.add($slides.eq(prevSlide));
                loadRange = loadRange.add($slides.eq(nextSlide));
                prevSlide--;
                nextSlide++;
            }
        }

        loadImages(loadRange);

        if (_.slideCount <= _.options.slidesToShow) {
            cloneRange = _.$slider.find('.slick-slide');
            loadImages(cloneRange);
        } else
        if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
            cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
            loadImages(cloneRange);
        } else if (_.currentSlide === 0) {
            cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
            loadImages(cloneRange);
        }

    };

    Slick.prototype.loadSlider = function() {

        var _ = this;

        _.setPosition();

        _.$slideTrack.css({
            opacity: 1
        });

        _.$slider.removeClass('slick-loading');

        _.initUI();

        if (_.options.lazyLoad === 'progressive') {
            _.progressiveLazyLoad();
        }

    };

    Slick.prototype.next = Slick.prototype.slickNext = function() {

        var _ = this;

        _.changeSlide({
            data: {
                message: 'next'
            }
        });

    };

    Slick.prototype.orientationChange = function() {

        var _ = this;

        _.checkResponsive();
        _.setPosition();

    };

    Slick.prototype.pause = Slick.prototype.slickPause = function() {

        var _ = this;

        _.autoPlayClear();
        _.paused = true;

    };

    Slick.prototype.play = Slick.prototype.slickPlay = function() {

        var _ = this;

        _.autoPlay();
        _.options.autoplay = true;
        _.paused = false;
        _.focussed = false;
        _.interrupted = false;

    };

    Slick.prototype.postSlide = function(index) {

        var _ = this;

        if( !_.unslicked ) {

            _.$slider.trigger('afterChange', [_, index]);

            _.animating = false;

            if (_.slideCount > _.options.slidesToShow) {
                _.setPosition();
            }

            _.swipeLeft = null;

            if ( _.options.autoplay ) {
                _.autoPlay();
            }

            if (_.options.accessibility === true) {
                _.initADA();

                if (_.options.focusOnChange) {
                    var $currentSlide = $(_.$slides.get(_.currentSlide));
                    $currentSlide.attr('tabindex', 0).focus();
                }
            }

        }

    };

    Slick.prototype.prev = Slick.prototype.slickPrev = function() {

        var _ = this;

        _.changeSlide({
            data: {
                message: 'previous'
            }
        });

    };

    Slick.prototype.preventDefault = function(event) {

        event.preventDefault();

    };

    Slick.prototype.progressiveLazyLoad = function( tryCount ) {

        tryCount = tryCount || 1;

        var _ = this,
            $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
            image,
            imageSource,
            imageSrcSet,
            imageSizes,
            imageToLoad;

        if ( $imgsToLoad.length ) {

            image = $imgsToLoad.first();
            imageSource = image.attr('data-lazy');
            imageSrcSet = image.attr('data-srcset');
            imageSizes  = image.attr('data-sizes') || _.$slider.attr('data-sizes');
            imageToLoad = document.createElement('img');

            imageToLoad.onload = function() {

                if (imageSrcSet) {
                    image
                        .attr('srcset', imageSrcSet );

                    if (imageSizes) {
                        image
                            .attr('sizes', imageSizes );
                    }
                }

                image
                    .attr( 'src', imageSource )
                    .removeAttr('data-lazy data-srcset data-sizes')
                    .removeClass('slick-loading');

                if ( _.options.adaptiveHeight === true ) {
                    _.setPosition();
                }

                _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
                _.progressiveLazyLoad();

            };

            imageToLoad.onerror = function() {

                if ( tryCount < 3 ) {

                    /**
                     * try to load the image 3 times,
                     * leave a slight delay so we don't get
                     * servers blocking the request.
                     */
                    setTimeout( function() {
                        _.progressiveLazyLoad( tryCount + 1 );
                    }, 500 );

                } else {

                    image
                        .removeAttr( 'data-lazy' )
                        .removeClass( 'slick-loading' )
                        .addClass( 'slick-lazyload-error' );

                    _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);

                    _.progressiveLazyLoad();

                }

            };

            imageToLoad.src = imageSource;

        } else {

            _.$slider.trigger('allImagesLoaded', [ _ ]);

        }

    };

    Slick.prototype.refresh = function( initializing ) {

        var _ = this, currentSlide, lastVisibleIndex;

        lastVisibleIndex = _.slideCount - _.options.slidesToShow;

        // in non-infinite sliders, we don't want to go past the
        // last visible index.
        if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
            _.currentSlide = lastVisibleIndex;
        }

        // if less slides than to show, go to start.
        if ( _.slideCount <= _.options.slidesToShow ) {
            _.currentSlide = 0;

        }

        currentSlide = _.currentSlide;

        _.destroy(true);

        $.extend(_, _.initials, { currentSlide: currentSlide });

        _.init();

        if( !initializing ) {

            _.changeSlide({
                data: {
                    message: 'index',
                    index: currentSlide
                }
            }, false);

        }

    };

    Slick.prototype.registerBreakpoints = function() {

        var _ = this, breakpoint, currentBreakpoint, l,
            responsiveSettings = _.options.responsive || null;

        if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {

            _.respondTo = _.options.respondTo || 'window';

            for ( breakpoint in responsiveSettings ) {

                l = _.breakpoints.length-1;

                if (responsiveSettings.hasOwnProperty(breakpoint)) {
                    currentBreakpoint = responsiveSettings[breakpoint].breakpoint;

                    // loop through the breakpoints and cut out any existing
                    // ones with the same breakpoint number, we don't want dupes.
                    while( l >= 0 ) {
                        if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
                            _.breakpoints.splice(l,1);
                        }
                        l--;
                    }

                    _.breakpoints.push(currentBreakpoint);
                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;

                }

            }

            _.breakpoints.sort(function(a, b) {
                return ( _.options.mobileFirst ) ? a-b : b-a;
            });

        }

    };

    Slick.prototype.reinit = function() {

        var _ = this;

        _.$slides =
            _.$slideTrack
                .children(_.options.slide)
                .addClass('slick-slide');

        _.slideCount = _.$slides.length;

        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
            _.currentSlide = _.currentSlide - _.options.slidesToScroll;
        }

        if (_.slideCount <= _.options.slidesToShow) {
            _.currentSlide = 0;
        }

        _.registerBreakpoints();

        _.setProps();
        _.setupInfinite();
        _.buildArrows();
        _.updateArrows();
        _.initArrowEvents();
        _.buildDots();
        _.updateDots();
        _.initDotEvents();
        _.cleanUpSlideEvents();
        _.initSlideEvents();

        _.checkResponsive(false, true);

        if (_.options.focusOnSelect === true) {
            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
        }

        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);

        _.setPosition();
        _.focusHandler();

        _.paused = !_.options.autoplay;
        _.autoPlay();

        _.$slider.trigger('reInit', [_]);

    };

    Slick.prototype.resize = function() {

        var _ = this;

        if ($(window).width() !== _.windowWidth) {
            clearTimeout(_.windowDelay);
            _.windowDelay = window.setTimeout(function() {
                _.windowWidth = $(window).width();
                _.checkResponsive();
                if( !_.unslicked ) { _.setPosition(); }
            }, 50);
        }
    };

    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {

        var _ = this;

        if (typeof(index) === 'boolean') {
            removeBefore = index;
            index = removeBefore === true ? 0 : _.slideCount - 1;
        } else {
            index = removeBefore === true ? --index : index;
        }

        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
            return false;
        }

        _.unload();

        if (removeAll === true) {
            _.$slideTrack.children().remove();
        } else {
            _.$slideTrack.children(this.options.slide).eq(index).remove();
        }

        _.$slides = _.$slideTrack.children(this.options.slide);

        _.$slideTrack.children(this.options.slide).detach();

        _.$slideTrack.append(_.$slides);

        _.$slidesCache = _.$slides;

        _.reinit();

    };

    Slick.prototype.setCSS = function(position) {

        var _ = this,
            positionProps = {},
            x, y;

        if (_.options.rtl === true) {
            position = -position;
        }
        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';

        positionProps[_.positionProp] = position;

        if (_.transformsEnabled === false) {
            _.$slideTrack.css(positionProps);
        } else {
            positionProps = {};
            if (_.cssTransitions === false) {
                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
                _.$slideTrack.css(positionProps);
            } else {
                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
                _.$slideTrack.css(positionProps);
            }
        }

    };

    Slick.prototype.setDimensions = function() {

        var _ = this;

        if (_.options.vertical === false) {
            if (_.options.centerMode === true) {
                _.$list.css({
                    padding: ('0px ' + _.options.centerPadding)
                });
            }
        } else {
            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
            if (_.options.centerMode === true) {
                _.$list.css({
                    padding: (_.options.centerPadding + ' 0px')
                });
            }
        }

        _.listWidth = _.$list.width();
        _.listHeight = _.$list.height();


        if (_.options.vertical === false && _.options.variableWidth === false) {
            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));

        } else if (_.options.variableWidth === true) {
            _.$slideTrack.width(5000 * _.slideCount);
        } else {
            _.slideWidth = Math.ceil(_.listWidth);
            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
        }

        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);

    };

    Slick.prototype.setFade = function() {

        var _ = this,
            targetLeft;

        _.$slides.each(function(index, element) {
            targetLeft = (_.slideWidth * index) * -1;
            if (_.options.rtl === true) {
                $(element).css({
                    position: 'relative',
                    right: targetLeft,
                    top: 0,
                    zIndex: _.options.zIndex - 2,
                    opacity: 0
                });
            } else {
                $(element).css({
                    position: 'relative',
                    left: targetLeft,
                    top: 0,
                    zIndex: _.options.zIndex - 2,
                    opacity: 0
                });
            }
        });

        _.$slides.eq(_.currentSlide).css({
            zIndex: _.options.zIndex - 1,
            opacity: 1
        });

    };

    Slick.prototype.setHeight = function() {

        var _ = this;

        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
            _.$list.css('height', targetHeight);
        }

    };

    Slick.prototype.setOption =
    Slick.prototype.slickSetOption = function() {

        /**
         * accepts arguments in format of:
         *
         *  - for changing a single option's value:
         *     .slick("setOption", option, value, refresh )
         *
         *  - for changing a set of responsive options:
         *     .slick("setOption", 'responsive', [{}, ...], refresh )
         *
         *  - for updating multiple values at once (not responsive)
         *     .slick("setOption", { 'option': value, ... }, refresh )
         */

        var _ = this, l, item, option, value, refresh = false, type;

        if( $.type( arguments[0] ) === 'object' ) {

            option =  arguments[0];
            refresh = arguments[1];
            type = 'multiple';

        } else if ( $.type( arguments[0] ) === 'string' ) {

            option =  arguments[0];
            value = arguments[1];
            refresh = arguments[2];

            if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {

                type = 'responsive';

            } else if ( typeof arguments[1] !== 'undefined' ) {

                type = 'single';

            }

        }

        if ( type === 'single' ) {

            _.options[option] = value;


        } else if ( type === 'multiple' ) {

            $.each( option , function( opt, val ) {

                _.options[opt] = val;

            });


        } else if ( type === 'responsive' ) {

            for ( item in value ) {

                if( $.type( _.options.responsive ) !== 'array' ) {

                    _.options.responsive = [ value[item] ];

                } else {

                    l = _.options.responsive.length-1;

                    // loop through the responsive object and splice out duplicates.
                    while( l >= 0 ) {

                        if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {

                            _.options.responsive.splice(l,1);

                        }

                        l--;

                    }

                    _.options.responsive.push( value[item] );

                }

            }

        }

        if ( refresh ) {

            _.unload();
            _.reinit();

        }

    };

    Slick.prototype.setPosition = function() {

        var _ = this;

        _.setDimensions();

        _.setHeight();

        if (_.options.fade === false) {
            _.setCSS(_.getLeft(_.currentSlide));
        } else {
            _.setFade();
        }

        _.$slider.trigger('setPosition', [_]);

    };

    Slick.prototype.setProps = function() {

        var _ = this,
            bodyStyle = document.body.style;

        _.positionProp = _.options.vertical === true ? 'top' : 'left';

        if (_.positionProp === 'top') {
            _.$slider.addClass('slick-vertical');
        } else {
            _.$slider.removeClass('slick-vertical');
        }

        if (bodyStyle.WebkitTransition !== undefined ||
            bodyStyle.MozTransition !== undefined ||
            bodyStyle.msTransition !== undefined) {
            if (_.options.useCSS === true) {
                _.cssTransitions = true;
            }
        }

        if ( _.options.fade ) {
            if ( typeof _.options.zIndex === 'number' ) {
                if( _.options.zIndex < 3 ) {
                    _.options.zIndex = 3;
                }
            } else {
                _.options.zIndex = _.defaults.zIndex;
            }
        }

        if (bodyStyle.OTransform !== undefined) {
            _.animType = 'OTransform';
            _.transformType = '-o-transform';
            _.transitionType = 'OTransition';
            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
        }
        if (bodyStyle.MozTransform !== undefined) {
            _.animType = 'MozTransform';
            _.transformType = '-moz-transform';
            _.transitionType = 'MozTransition';
            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
        }
        if (bodyStyle.webkitTransform !== undefined) {
            _.animType = 'webkitTransform';
            _.transformType = '-webkit-transform';
            _.transitionType = 'webkitTransition';
            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
        }
        if (bodyStyle.msTransform !== undefined) {
            _.animType = 'msTransform';
            _.transformType = '-ms-transform';
            _.transitionType = 'msTransition';
            if (bodyStyle.msTransform === undefined) _.animType = false;
        }
        if (bodyStyle.transform !== undefined && _.animType !== false) {
            _.animType = 'transform';
            _.transformType = 'transform';
            _.transitionType = 'transition';
        }
        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
    };


    Slick.prototype.setSlideClasses = function(index) {

        var _ = this,
            centerOffset, allSlides, indexOffset, remainder;

        allSlides = _.$slider
            .find('.slick-slide')
            .removeClass('slick-active slick-center slick-current')
            .attr('aria-hidden', 'true');

        _.$slides
            .eq(index)
            .addClass('slick-current');

        if (_.options.centerMode === true) {

            var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;

            centerOffset = Math.floor(_.options.slidesToShow / 2);

            if (_.options.infinite === true) {

                if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
                    _.$slides
                        .slice(index - centerOffset + evenCoef, index + centerOffset + 1)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                } else {

                    indexOffset = _.options.slidesToShow + index;
                    allSlides
                        .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                }

                if (index === 0) {

                    allSlides
                        .eq(allSlides.length - 1 - _.options.slidesToShow)
                        .addClass('slick-center');

                } else if (index === _.slideCount - 1) {

                    allSlides
                        .eq(_.options.slidesToShow)
                        .addClass('slick-center');

                }

            }

            _.$slides
                .eq(index)
                .addClass('slick-center');

        } else {

            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {

                _.$slides
                    .slice(index, index + _.options.slidesToShow)
                    .addClass('slick-active')
                    .attr('aria-hidden', 'false');

            } else if (allSlides.length <= _.options.slidesToShow) {

                allSlides
                    .addClass('slick-active')
                    .attr('aria-hidden', 'false');

            } else {

                remainder = _.slideCount % _.options.slidesToShow;
                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;

                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {

                    allSlides
                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                } else {

                    allSlides
                        .slice(indexOffset, indexOffset + _.options.slidesToShow)
                        .addClass('slick-active')
                        .attr('aria-hidden', 'false');

                }

            }

        }

        if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {
            _.lazyLoad();
        }
    };

    Slick.prototype.setupInfinite = function() {

        var _ = this,
            i, slideIndex, infiniteCount;

        if (_.options.fade === true) {
            _.options.centerMode = false;
        }

        if (_.options.infinite === true && _.options.fade === false) {

            slideIndex = null;

            if (_.slideCount > _.options.slidesToShow) {

                if (_.options.centerMode === true) {
                    infiniteCount = _.options.slidesToShow + 1;
                } else {
                    infiniteCount = _.options.slidesToShow;
                }

                for (i = _.slideCount; i > (_.slideCount -
                        infiniteCount); i -= 1) {
                    slideIndex = i - 1;
                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
                        .attr('data-slick-index', slideIndex - _.slideCount)
                        .prependTo(_.$slideTrack).addClass('slick-cloned');
                }
                for (i = 0; i < infiniteCount  + _.slideCount; i += 1) {
                    slideIndex = i;
                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
                        .attr('data-slick-index', slideIndex + _.slideCount)
                        .appendTo(_.$slideTrack).addClass('slick-cloned');
                }
                _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
                    $(this).attr('id', '');
                });

            }

        }

    };

    Slick.prototype.interrupt = function( toggle ) {

        var _ = this;

        if( !toggle ) {
            _.autoPlay();
        }
        _.interrupted = toggle;

    };

    Slick.prototype.selectHandler = function(event) {

        var _ = this;

        var targetElement =
            $(event.target).is('.slick-slide') ?
                $(event.target) :
                $(event.target).parents('.slick-slide');

        var index = parseInt(targetElement.attr('data-slick-index'));

        if (!index) index = 0;

        if (_.slideCount <= _.options.slidesToShow) {

            _.slideHandler(index, false, true);
            return;

        }

        _.slideHandler(index);

    };

    Slick.prototype.slideHandler = function(index, sync, dontAnimate) {

        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
            _ = this, navTarget;

        sync = sync || false;

        if (_.animating === true && _.options.waitForAnimate === true) {
            return;
        }

        if (_.options.fade === true && _.currentSlide === index) {
            return;
        }

        if (sync === false) {
            _.asNavFor(index);
        }

        targetSlide = index;
        targetLeft = _.getLeft(targetSlide);
        slideLeft = _.getLeft(_.currentSlide);

        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;

        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
            if (_.options.fade === false) {
                targetSlide = _.currentSlide;
                if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
                    _.animateSlide(slideLeft, function() {
                        _.postSlide(targetSlide);
                    });
                } else {
                    _.postSlide(targetSlide);
                }
            }
            return;
        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
            if (_.options.fade === false) {
                targetSlide = _.currentSlide;
                if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
                    _.animateSlide(slideLeft, function() {
                        _.postSlide(targetSlide);
                    });
                } else {
                    _.postSlide(targetSlide);
                }
            }
            return;
        }

        if ( _.options.autoplay ) {
            clearInterval(_.autoPlayTimer);
        }

        if (targetSlide < 0) {
            if (_.slideCount % _.options.slidesToScroll !== 0) {
                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
            } else {
                animSlide = _.slideCount + targetSlide;
            }
        } else if (targetSlide >= _.slideCount) {
            if (_.slideCount % _.options.slidesToScroll !== 0) {
                animSlide = 0;
            } else {
                animSlide = targetSlide - _.slideCount;
            }
        } else {
            animSlide = targetSlide;
        }

        _.animating = true;

        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);

        oldSlide = _.currentSlide;
        _.currentSlide = animSlide;

        _.setSlideClasses(_.currentSlide);

        if ( _.options.asNavFor ) {

            navTarget = _.getNavTarget();
            navTarget = navTarget.slick('getSlick');

            if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
                navTarget.setSlideClasses(_.currentSlide);
            }

        }

        _.updateDots();
        _.updateArrows();

        if (_.options.fade === true) {
            if (dontAnimate !== true) {

                _.fadeSlideOut(oldSlide);

                _.fadeSlide(animSlide, function() {
                    _.postSlide(animSlide);
                });

            } else {
                _.postSlide(animSlide);
            }
            _.animateHeight();
            return;
        }

        if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
            _.animateSlide(targetLeft, function() {
                _.postSlide(animSlide);
            });
        } else {
            _.postSlide(animSlide);
        }

    };

    Slick.prototype.startLoad = function() {

        var _ = this;

        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {

            _.$prevArrow.hide();
            _.$nextArrow.hide();

        }

        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {

            _.$dots.hide();

        }

        _.$slider.addClass('slick-loading');

    };

    Slick.prototype.swipeDirection = function() {

        var xDist, yDist, r, swipeAngle, _ = this;

        xDist = _.touchObject.startX - _.touchObject.curX;
        yDist = _.touchObject.startY - _.touchObject.curY;
        r = Math.atan2(yDist, xDist);

        swipeAngle = Math.round(r * 180 / Math.PI);
        if (swipeAngle < 0) {
            swipeAngle = 360 - Math.abs(swipeAngle);
        }

        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
            return (_.options.rtl === false ? 'left' : 'right');
        }
        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
            return (_.options.rtl === false ? 'left' : 'right');
        }
        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
            return (_.options.rtl === false ? 'right' : 'left');
        }
        if (_.options.verticalSwiping === true) {
            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
                return 'down';
            } else {
                return 'up';
            }
        }

        return 'vertical';

    };

    Slick.prototype.swipeEnd = function(event) {

        var _ = this,
            slideCount,
            direction;

        _.dragging = false;
        _.swiping = false;

        if (_.scrolling) {
            _.scrolling = false;
            return false;
        }

        _.interrupted = false;
        _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;

        if ( _.touchObject.curX === undefined ) {
            return false;
        }

        if ( _.touchObject.edgeHit === true ) {
            _.$slider.trigger('edge', [_, _.swipeDirection() ]);
        }

        if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {

            direction = _.swipeDirection();

            switch ( direction ) {

                case 'left':
                case 'down':

                    slideCount =
                        _.options.swipeToSlide ?
                            _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
                            _.currentSlide + _.getSlideCount();

                    _.currentDirection = 0;

                    break;

                case 'right':
                case 'up':

                    slideCount =
                        _.options.swipeToSlide ?
                            _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
                            _.currentSlide - _.getSlideCount();

                    _.currentDirection = 1;

                    break;

                default:


            }

            if( direction != 'vertical' ) {

                _.slideHandler( slideCount );
                _.touchObject = {};
                _.$slider.trigger('swipe', [_, direction ]);

            }

        } else {

            if ( _.touchObject.startX !== _.touchObject.curX ) {

                _.slideHandler( _.currentSlide );
                _.touchObject = {};

            }

        }

    };

    Slick.prototype.swipeHandler = function(event) {

        var _ = this;

        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
            return;
        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
            return;
        }

        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
            event.originalEvent.touches.length : 1;

        _.touchObject.minSwipe = _.listWidth / _.options
            .touchThreshold;

        if (_.options.verticalSwiping === true) {
            _.touchObject.minSwipe = _.listHeight / _.options
                .touchThreshold;
        }

        switch (event.data.action) {

            case 'start':
                _.swipeStart(event);
                break;

            case 'move':
                _.swipeMove(event);
                break;

            case 'end':
                _.swipeEnd(event);
                break;

        }

    };

    Slick.prototype.swipeMove = function(event) {

        var _ = this,
            edgeWasHit = false,
            curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;

        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;

        if (!_.dragging || _.scrolling || touches && touches.length !== 1) {
            return false;
        }

        curLeft = _.getLeft(_.currentSlide);

        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;

        _.touchObject.swipeLength = Math.round(Math.sqrt(
            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));

        verticalSwipeLength = Math.round(Math.sqrt(
            Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));

        if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {
            _.scrolling = true;
            return false;
        }

        if (_.options.verticalSwiping === true) {
            _.touchObject.swipeLength = verticalSwipeLength;
        }

        swipeDirection = _.swipeDirection();

        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
            _.swiping = true;
            event.preventDefault();
        }

        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
        if (_.options.verticalSwiping === true) {
            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
        }


        swipeLength = _.touchObject.swipeLength;

        _.touchObject.edgeHit = false;

        if (_.options.infinite === false) {
            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
                _.touchObject.edgeHit = true;
            }
        }

        if (_.options.vertical === false) {
            _.swipeLeft = curLeft + swipeLength * positionOffset;
        } else {
            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
        }
        if (_.options.verticalSwiping === true) {
            _.swipeLeft = curLeft + swipeLength * positionOffset;
        }

        if (_.options.fade === true || _.options.touchMove === false) {
            return false;
        }

        if (_.animating === true) {
            _.swipeLeft = null;
            return false;
        }

        _.setCSS(_.swipeLeft);

    };

    Slick.prototype.swipeStart = function(event) {

        var _ = this,
            touches;

        _.interrupted = true;

        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
            _.touchObject = {};
            return false;
        }

        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
            touches = event.originalEvent.touches[0];
        }

        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;

        _.dragging = true;

    };

    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {

        var _ = this;

        if (_.$slidesCache !== null) {

            _.unload();

            _.$slideTrack.children(this.options.slide).detach();

            _.$slidesCache.appendTo(_.$slideTrack);

            _.reinit();

        }

    };

    Slick.prototype.unload = function() {

        var _ = this;

        $('.slick-cloned', _.$slider).remove();

        if (_.$dots) {
            _.$dots.remove();
        }

        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
            _.$prevArrow.remove();
        }

        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
            _.$nextArrow.remove();
        }

        _.$slides
            .removeClass('slick-slide slick-active slick-visible slick-current')
            .attr('aria-hidden', 'true')
            .css('width', '');

    };

    Slick.prototype.unslick = function(fromBreakpoint) {

        var _ = this;
        _.$slider.trigger('unslick', [_, fromBreakpoint]);
        _.destroy();

    };

    Slick.prototype.updateArrows = function() {

        var _ = this,
            centerOffset;

        centerOffset = Math.floor(_.options.slidesToShow / 2);

        if ( _.options.arrows === true &&
            _.slideCount > _.options.slidesToShow &&
            !_.options.infinite ) {

            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            if (_.currentSlide === 0) {

                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {

                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {

                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');

            }

        }

    };

    Slick.prototype.updateDots = function() {

        var _ = this;

        if (_.$dots !== null) {

            _.$dots
                .find('li')
                    .removeClass('slick-active')
                    .end();

            _.$dots
                .find('li')
                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
                .addClass('slick-active');

        }

    };

    Slick.prototype.visibility = function() {

        var _ = this;

        if ( _.options.autoplay ) {

            if ( document[_.hidden] ) {

                _.interrupted = true;

            } else {

                _.interrupted = false;

            }

        }

    };

    $.fn.slick = function() {
        var _ = this,
            opt = arguments[0],
            args = Array.prototype.slice.call(arguments, 1),
            l = _.length,
            i,
            ret;
        for (i = 0; i < l; i++) {
            if (typeof opt == 'object' || typeof opt == 'undefined')
                _[i].slick = new Slick(_[i], opt);
            else
                ret = _[i].slick[opt].apply(_[i].slick, args);
            if (typeof ret != 'undefined') return ret;
        }
        return _;
    };

}));
   /* Ende slick */
   /* Start leaflet */
   /* --GSBDocStart
 * @name: leaflet 
 * @version: 1.9.4 
 * @repository: https://github.com/Leaflet/Leaflet 
 * @description: JavaScript library for mobile-friendly interactive maps 
 * @licenses: BSD-2-Clause 
 * --GSBDocEnd
*/
/* @preserve
 * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
 * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
 */
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n<o;n++)for(e in i=arguments[n])t[e]=i[e];return t}var R=Object.create||function(t){return N.prototype=t,new N};function N(){}function a(t,e){var i,n=Array.prototype.slice;return t.bind?t.bind.apply(t,n.call(arguments,1)):(i=n.call(arguments,2),function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)})}var D=0;function h(t){return"_leaflet_id"in t||(t._leaflet_id=++D),t._leaflet_id}function j(t,e,i){var n,o,s=function(){n=!1,o&&(r.apply(i,o),o=!1)},r=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(s,e),n=!0)};return r}function H(t,e,i){var n=e[1],e=e[0],o=n-e;return t===n&&i?t:((t-e)%o+o)%o+e}function u(){return!1}function i(t,e){return!1===e?t:(e=Math.pow(10,void 0===e?6:e),Math.round(t*e)/e)}function W(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function F(t){return W(t).split(/\s+/)}function c(t,e){for(var i in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?R(t.options):{}),e)t.options[i]=e[i];return t.options}function U(t,e,i){var n,o=[];for(n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+"="+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf("?")?"&":"?")+o.join("&")}var V=/\{ *([\w_ -]+) *\}/g;function q(t,i){return t.replace(V,function(t,e){e=i[e];if(void 0===e)throw new Error("No value provided for variable "+t);return e="function"==typeof e?e(i):e})}var d=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function G(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var K="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var X=0;function J(t){var e=+new Date,i=Math.max(0,16-(e-X));return X=e+i,window.setTimeout(t,i)}var $=window.requestAnimationFrame||Y("RequestAnimationFrame")||J,Q=window.cancelAnimationFrame||Y("CancelAnimationFrame")||Y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function x(t,e,i){if(!i||$==J)return $.call(window,a(t,e));t.call(e)}function r(t){t&&Q.call(window,t)}var tt={__proto__:null,extend:l,create:R,bind:a,get lastId(){return D},stamp:h,throttle:j,wrapNum:H,falseFn:u,formatNum:i,trim:W,splitWords:F,setOptions:c,getParamString:U,template:q,isArray:d,indexOf:G,emptyImageUrl:K,requestFn:$,cancelFn:Q,requestAnimFrame:x,cancelAnimFrame:r};function et(){}et.extend=function(t){function e(){c(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var i,n=e.__super__=this.prototype,o=R(n);for(i in(o.constructor=e).prototype=o,this)Object.prototype.hasOwnProperty.call(this,i)&&"prototype"!==i&&"__super__"!==i&&(e[i]=this[i]);if(t.statics&&l(e,t.statics),t.includes){var s=t.includes;if("undefined"!=typeof L&&L&&L.Mixin){s=d(s)?s:[s];for(var r=0;r<s.length;r++)s[r]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}l.apply(null,[o].concat(t.includes))}return l(o,t),delete o.statics,delete o.includes,o.options&&(o.options=n.options?R(n.options):{},l(o.options,t.options)),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},et.include=function(t){var e=this.prototype.options;return l(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},et.mergeOptions=function(t){return l(this.prototype.options,t),this},et.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var e={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=F(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1===this._listens(t,e,i)&&(e={fn:e,ctx:i=i===this?void 0:i},n&&(e.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e))},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1===arguments.length){if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=u;delete this._events[t]}else"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1!==(e=this._listens(t,e,i))&&(i=n[e],this._firingCount&&(i.fn=u,this._events[t]=n=n.slice()),n.splice(e,1))},fire:function(t,e,i){if(this.listens(t,i)){var n=l({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s],h=a.fn;a.once&&this.off(t,h,a.ctx),h.call(a.ctx||this,n)}this._firingCount--}}i&&this._propagateEvent(n)}return this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e,s=("function"!=typeof e&&(n=!!e,i=o=void 0),this._events&&this._events[t]);if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(this._events){var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o}return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[h(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[h(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,l({layer:t.target,propagatedFrom:t.target},t),!0)}},it=(e.addEventListener=e.on,e.removeEventListener=e.clearAllEventListeners=e.off,e.addOneTimeEventListener=e.once,e.fireEvent=e.fire,e.hasEventListeners=e.listens,et.extend(e));function p(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var nt=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function m(t,e,i){return t instanceof p?t:d(t)?new p(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new p(t.x,t.y):new p(t,e,i)}function f(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function _(t,e){return!t||t instanceof f?t:new f(t,e)}function s(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function g(t,e){return t instanceof s?t:new s(t,e)}function v(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function w(t,e,i){return t instanceof v?t:d(t)&&"object"!=typeof t[0]?3===t.length?new v(t[0],t[1],t[2]):2===t.length?new v(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new v(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new v(t,e,i)}p.prototype={clone:function(){return new p(this.x,this.y)},add:function(t){return this.clone()._add(m(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(m(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new p(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new p(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=nt(this.x),this.y=nt(this.y),this},distanceTo:function(t){var e=(t=m(t)).x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},equals:function(t){return(t=m(t)).x===this.x&&t.y===this.y},contains:function(t){return t=m(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+i(this.x)+", "+i(this.y)+")"}},f.prototype={extend:function(t){var e,i;if(t){if(t instanceof p||"number"==typeof t[0]||"x"in t)e=i=m(t);else if(e=(t=_(t)).min,i=t.max,!e||!i)return this;this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone())}return this},getCenter:function(t){return m((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return m(this.min.x,this.max.y)},getTopRight:function(){return m(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t=("number"==typeof t[0]||t instanceof p?m:_)(t))instanceof f?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.x<i.x,t=t.y>e.y&&n.y<i.y;return o&&t},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,t=Math.abs(e.y-i.y)*t;return _(m(e.x-n,e.y-t),m(i.x+n,i.y+t))},equals:function(t){return!!t&&(t=_(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},s.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof v)i=e=t;else{if(!(t instanceof s))return t?this.extend(w(t)||g(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new v(e.lat,e.lng),this._northEast=new v(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,t=Math.abs(e.lng-i.lng)*t;return new s(new v(e.lat-n,e.lng-t),new v(i.lat+n,i.lng+t))},getCenter:function(){return new v((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new v(this.getNorth(),this.getWest())},getSouthEast:function(){return new v(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=("number"==typeof t[0]||t instanceof v||"lat"in t?w:g)(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof s?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.lat<i.lat,t=t.lng>e.lng&&n.lng<i.lng;return o&&t},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=g(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}};var ot={latLngToPoint:function(t,e){t=this.projection.project(t),e=this.scale(e);return this.transformation._transform(t,e)},pointToLatLng:function(t,e){e=this.scale(e),t=this.transformation.untransform(t,e);return this.projection.unproject(t)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){var e;return this.infinite?null:(e=this.projection.bounds,t=this.scale(t),new f(this.transformation.transform(e.min,t),this.transformation.transform(e.max,t)))},infinite:!(v.prototype={equals:function(t,e){return!!t&&(t=w(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+i(this.lat,t)+", "+i(this.lng,t)+")"},distanceTo:function(t){return st.distance(this,w(t))},wrap:function(){return st.wrapLatLng(this)},toBounds:function(t){var t=180*t/40075017,e=t/Math.cos(Math.PI/180*this.lat);return g([this.lat-t,this.lng-e],[this.lat+t,this.lng+e])},clone:function(){return new v(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var e=this.wrapLng?H(t.lng,this.wrapLng,!0):t.lng;return new v(this.wrapLat?H(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,e=e.lng-i.lng;return 0==n&&0==e?t:(i=t.getSouthWest(),t=t.getNorthEast(),new s(new v(i.lat-n,i.lng-e),new v(t.lat-n,t.lng-e)))}},st=l({},ot,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),e=Math.sin((e.lng-t.lng)*i/2),t=s*s+Math.cos(n)*Math.cos(o)*e*e,i=2*Math.atan2(Math.sqrt(t),Math.sqrt(1-t));return this.R*i}}),rt=6378137,rt={R:rt,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,i=Math.max(Math.min(i,t.lat),-i),i=Math.sin(i*e);return new p(this.R*t.lng*e,this.R*Math.log((1+i)/(1-i))/2)},unproject:function(t){var e=180/Math.PI;return new v((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:new f([-(rt=rt*Math.PI),-rt],[rt,rt])};function at(t,e,i,n){d(t)?(this._a=t[0],this._b=t[1],this._c=t[2],this._d=t[3]):(this._a=t,this._b=e,this._c=i,this._d=n)}function ht(t,e,i,n){return new at(t,e,i,n)}at.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new p((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var lt=l({},st,{code:"EPSG:3857",projection:rt,transformation:ht(lt=.5/(Math.PI*rt.R),.5,-lt,.5)}),ut=l({},lt,{code:"EPSG:900913"});function ct(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function dt(t,e){for(var i,n,o,s,r="",a=0,h=t.length;a<h;a++){for(i=0,n=(o=t[a]).length;i<n;i++)r+=(i?"L":"M")+(s=o[i]).x+" "+s.y;r+=e?b.svg?"z":"x":""}return r||"M0 0"}var _t=document.documentElement.style,pt="ActiveXObject"in window,mt=pt&&!document.addEventListener,n="msLaunchUri"in navigator&&!("documentMode"in document),ft=y("webkit"),gt=y("android"),vt=y("android 2")||y("android 3"),yt=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yt=gt&&y("Google")&&yt<537&&!("AudioNode"in window),xt=!!window.opera,wt=!n&&y("chrome"),bt=y("gecko")&&!ft&&!xt&&!pt,Pt=!wt&&y("safari"),Lt=y("phantom"),o="OTransition"in _t,Tt=0===navigator.platform.indexOf("Win"),Mt=pt&&"transition"in _t,zt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!vt,_t="MozPerspective"in _t,Ct=!window.L_DISABLE_3D&&(Mt||zt||_t)&&!o&&!Lt,Zt="undefined"!=typeof orientation||y("mobile"),St=Zt&&ft,Et=Zt&&zt,kt=!window.PointerEvent&&window.MSPointerEvent,Ot=!(!window.PointerEvent&&!kt),At="ontouchstart"in window||!!window.TouchEvent,Bt=!window.L_NO_TOUCH&&(At||Ot),It=Zt&&xt,Rt=Zt&&bt,Nt=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),Dt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",u,e),window.removeEventListener("testPassiveEventSupport",u,e)}catch(t){}return t}(),jt=!!document.createElement("canvas").getContext,Ht=!(!document.createElementNS||!ct("svg").createSVGRect),Wt=!!Ht&&((Wt=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='<v:shape adj="1"/>',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;o<s;o++)t.classList.add(n[o]);else ve(t,e)||ye(t,((i=xe(t))?i+" ":"")+e)}function z(t,e){void 0!==t.classList?t.classList.remove(e):ye(t,W((" "+xe(t)+" ").replace(" "+e+" "," ")))}function ye(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function xe(t){return void 0===(t=t.correspondingElement?t.correspondingElement:t).className.baseVal?t.className:t.className.baseVal}function C(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}}function we(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function be(t,e,i){e=e||new p(0,0);t.style[ue]=(b.ie3d?"translate("+e.x+"px,"+e.y+"px)":"translate3d("+e.x+"px,"+e.y+"px,0)")+(i?" scale("+i+")":"")}function Z(t,e){t._leaflet_pos=e,b.any3d?be(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function Pe(t){return t._leaflet_pos||new p(0,0)}function Le(){S(window,"dragstart",O)}function Te(){k(window,"dragstart",O)}function Me(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(ze(),le=(he=t).style.outlineStyle,t.style.outlineStyle="none",S(window,"keydown",ze))}function ze(){he&&(he.style.outlineStyle=le,le=he=void 0,k(window,"keydown",ze))}function Ce(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Ze(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}ae="onselectstart"in document?(re=function(){S(window,"selectstart",O)},function(){k(window,"selectstart",O)}):(se=we(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),re=function(){var t;se&&(t=document.documentElement.style,oe=t[se],t[se]="none")},function(){se&&(document.documentElement.style[se]=oe,oe=void 0)});pt={__proto__:null,TRANSFORM:ue,TRANSITION:ce,TRANSITION_END:de,get:_e,getStyle:pe,create:P,remove:T,empty:me,toFront:fe,toBack:ge,hasClass:ve,addClass:M,removeClass:z,setClass:ye,getClass:xe,setOpacity:C,testProp:we,setTransform:be,setPosition:Z,getPosition:Pe,get disableTextSelection(){return re},get enableTextSelection(){return ae},disableImageDrag:Le,enableImageDrag:Te,preventOutline:Me,restoreOutline:ze,getSizedParentNode:Ce,getScale:Ze};function S(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)ke(t,o,e[o],i);else for(var s=0,r=(e=F(e)).length;s<r;s++)ke(t,e[s],i,n);return this}var E="_leaflet_events";function k(t,e,i,n){if(1===arguments.length)Se(t),delete t[E];else if(e&&"object"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=F(e),2===arguments.length)Se(t,function(t){return-1!==G(e,t)});else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[E]){var n=i.split(/\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ee={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ke(e,t,i,n){var o,s,r=t+h(i)+(n?"_"+h(n):"");e[E]&&e[E][r]||(s=o=function(t){return i.call(n||e,t||window.event)},!b.touchNative&&b.pointer&&0===t.indexOf("touch")?o=Jt(e,t,o):b.touch&&"dblclick"===t?o=ne(e,o):"addEventListener"in e?"touchstart"===t||"touchmove"===t||"wheel"===t||"mousewheel"===t?e.addEventListener(Ee[t]||t,o,!!b.passiveEvents&&{passive:!1}):"mouseenter"===t||"mouseleave"===t?e.addEventListener(Ee[t],o=function(t){t=t||window.event,We(e,t)&&s(t)},!1):e.addEventListener(t,s,!1):e.attachEvent("on"+t,o),e[E]=e[E]||{},e[E][r]=o)}function Oe(t,e,i,n,o){o=o||e+h(i)+(n?"_"+h(n):"");var s,r,i=t[E]&&t[E][o];i&&(!b.touchNative&&b.pointer&&0===e.indexOf("touch")?(n=t,r=i,Gt[s=e]?n.removeEventListener(Gt[s],r,!1):console.warn("wrong event specified:",s)):b.touch&&"dblclick"===e?(n=i,(r=t).removeEventListener("dblclick",n.dblclick),r.removeEventListener("click",n.simDblclick)):"removeEventListener"in t?t.removeEventListener(Ee[e]||e,i,!1):t.detachEvent("on"+e,i),t[E][o]=null)}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Be(t){return ke(t,"wheel",Ae),this}function Ie(t){return S(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function O(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return O(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){var i,n;return e?(n=(i=Ze(e)).boundingClientRect,new p((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)):new p(t.clientX,t.clientY)}var je=b.linux&&b.chrome?window.devicePixelRatio:b.mac?3*window.devicePixelRatio:0<window.devicePixelRatio?2*window.devicePixelRatio:1;function He(t){return b.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/je:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function We(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var mt={__proto__:null,on:S,off:k,stopPropagation:Ae,disableScrollPropagation:Be,disableClickPropagation:Ie,preventDefault:O,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:We,addListener:S,removeListener:k},Fe=it.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pe(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=x(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){t=this._startPos.add(this._offset.multiplyBy(t));e&&t._round(),Z(this._el,t),this.fire("step")},_complete:function(){r(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),A=it.extend({options:{crs:lt,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=c(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(w(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ce&&b.any3d&&!b.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),S(this._proxy,de,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){if((e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(w(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i)&&(void 0!==i.animate&&(i.zoom=l({animate:i.animate},i.zoom),i.pan=l({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,e,i.pan&&i.pan.noMoveStart),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),t=(t instanceof p?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),n=this.containerPointToLatLng(o.add(t));return this.setView(n,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():g(t);var i=m(e.paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));return(o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0?{center:t.getCenter(),zoom:o}:(e=n.subtract(i).divideBy(2),n=this.project(t.getSouthWest(),o),i=this.project(t.getNorthEast(),o),{center:this.unproject(n.add(i).divideBy(2).add(e),o),zoom:o})},fitBounds:function(t,e){if((t=g(t)).isValid())return t=this._getBoundsCenterZoom(t,e),this.setView(t.center,t.zoom,e);throw new Error("Bounds are not valid.")},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){var i;return e=e||{},(t=m(t).round()).x||t.y?(!0===e.animate||this.getSize().contains(t)?(this._panAnim||(this._panAnim=new Fe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate?(M(this._mapPane,"leaflet-pan-anim"),i=this._getMapPanePos().subtract(t).round(),this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)):(this._rawPanBy(t),this.fire("move").fire("moveend"))):this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this):this.fire("moveend")},flyTo:function(n,o,t){if(!1===(t=t||{}).animate||!b.any3d)return this.setView(n,o,t);this._stop();var s=this.project(this.getCenter()),r=this.project(n),e=this.getSize(),a=this._zoom,h=(n=w(n),o=void 0===o?a:o,Math.max(e.x,e.y)),i=h*this.getZoomScale(a,o),l=r.distanceTo(s)||1,u=1.42,c=u*u;function d(t){t=(i*i-h*h+(t?-1:1)*c*c*l*l)/(2*(t?i:h)*c*l),t=Math.sqrt(t*t+1)-t;return t<1e-9?-18:Math.log(t)}function _(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=d(0);function f(t){return h*(p(m)*(_(t=m+u*t)/p(t))-_(m))/c}var g=Date.now(),v=(d(1)-m)/u,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var e=(Date.now()-g)/y,i=(1-Math.pow(1-e,1.5))*v;e<=1?(this._flyToFrame=x(t,this),this._move(this.unproject(s.add(r.subtract(s).multiplyBy(f(i)/l)),a),this.getScaleZoom(h/(e=i,h*(p(m)/p(m+u*e))),a),{flyTo:!0})):this._move(n,o)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){t=this._getBoundsCenterZoom(t,e);return this.flyTo(t.center,t.zoom,e)},setMaxBounds:function(t){return t=g(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;s<i.length;s++)i[s].listens(e,!0)&&o.push(i[s]);n=o.concat(n)}if(n.length){"contextmenu"===e&&O(t);var r,a=n[0],h={originalEvent:t};for("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type&&(r=a.getLatLng&&(!a._radius||a._radius<=10),h.containerPoint=r?this.latLngToContainerPoint(a.getLatLng()):this.mouseEventToContainerPoint(t),h.layerPoint=this.containerPointToLayerPoint(h.containerPoint),h.latlng=r?a.getLatLng():this.layerPointToLatLng(h.layerPoint)),s=0;s<n.length;s++)if(n[s].fire(e,h,!0),h.originalEvent._stopped||!1===n[s].options.bubblingMouseEvents&&-1!==G(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return Pe(this._mapPane)||new p(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){i=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,i){i=this._getNewPixelOrigin(i,e);return _([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){var n,o;return!i||(n=this.project(t,e),o=this.getSize().divideBy(2),o=new f(n.subtract(o),n.add(o)),o=this._getBoundsOffset(o,i,e),Math.abs(o.x)<=1&&Math.abs(o.y)<=1)?t:this.unproject(n.add(o),e)},_limitOffset:function(t,e){var i;return e?(i=new f((i=this.getPixelBounds()).min.add(t),i.max.add(t)),t.add(this._getBoundsOffset(i,e))):t},_getBoundsOffset:function(t,e,i){e=_(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),i=e.min.subtract(t.min),e=e.max.subtract(t.max);return new p(this._rebound(i.x,-e.x),this._rebound(i.y,-e.y))},_rebound:function(t,e){return 0<t+e?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=b.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){z(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){t=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(t))&&(this.panBy(t,e),!0)},_createAnimProxy:function(){var t=this._proxy=P("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=ue,i=this._proxy.style[e];be(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){T(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();be(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(!this._animatingZoom){if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}}),Ve=(A.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var i=this._controlCorners={},n="leaflet-",o=this._controlContainer=P("div",n+"control-container",this._container);function t(t,e){i[t+e]=P("div",n+t+" "+n+e,o)}t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)T(this._controlCorners[t]);T(this._controlContainer),delete this._controlCorners,delete this._controlContainer}}),B.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in c(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return B.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);t=this._getLayer(h(t));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){M(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(M(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):z(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=P("div",t),i=this.options.collapsed,n=(e.setAttribute("aria-haspopup",!0),Ie(e),Be(e),this._section=P("section",t+"-list")),o=(i&&(this._map.on("click",this.collapse,this),S(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this)),this._layersLink=P("a",t+"-toggle",e));o.href="#",o.title="Layers",o.setAttribute("role","button"),S(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){O(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=P("div",t+"-base",n),this._separator=P("div",t+"-separator",n),this._overlaysList=P("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&h(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(a(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(this._container){me(this._baseLayersList),me(this._overlaysList),this._layerControlInputs=[];for(var t,e,i,n=0,o=0;o<this._layers.length;o++)i=this._layers[o],this._addItem(i),e=e||i.overlay,t=t||!i.overlay,n+=i.overlay?0:1;this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&1<n)?"":"none"),this._separator.style.display=e&&t?"":"none"}return this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(h(t.target)),t=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;t&&this._map.fire(t,e)},_createRadioElement:function(t,e){t='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;0<=o;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280<t?(i=this._getRoundNum(e=t/5280),this._updateScale(this._iScale,i+" mi",i/e)):(i=this._getRoundNum(t),this._updateScale(this._iScale,i+" ft",i/t))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),t=t/e;return e*(t=10<=t?10:5<=t?5:3<=t?3:2<=t?2:1)}})),Ke=B.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(b.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1<t.touches.length?this._moved=!0:!(e=new p((e=t.touches&&1===t.touches.length?t.touches[0]:t).clientX,e.clientY)._subtract(this._startPoint)).x&&!e.y||Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,O(t),this._moved||(this.fire("dragstart"),this._moved=!0,M(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),M(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,this._lastEvent=t,this._updatePosition()))},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Z(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){z(document.body,"leaflet-dragging"),this._lastTarget&&(z(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),k(document,"mousemove touchmove",this._onMove,this),k(document,"mouseup touchend touchcancel",this._onUp,this),Te(),ae();var e=this._moved&&this._moving;this._moving=!1,Xe._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function Je(t,e,i){for(var n,o,s,r,a,h,l,u=[1,4,2,8],c=0,d=t.length;c<d;c++)t[c]._code=si(t[c],e);for(s=0;s<4;s++){for(h=u[s],n=[],c=0,o=(d=t.length)-1;c<d;o=c++)r=t[c],a=t[o],r._code&h?a._code&h||((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)):(a._code&h&&((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)),n.push(r));t=n}return t}function $e(t,e){var i,n,o,s,r,a,h;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var l=w([0,0]),u=g(t),c=(u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(l=Qe(t)),t.length),d=[],_=0;_<c;_++){var p=w(t[_]);d.push(e.project(w([p.lat-l.lat,p.lng-l.lng])))}for(_=r=a=h=0,i=c-1;_<c;i=_++)n=d[_],o=d[i],s=n.y*o.x-o.y*n.x,a+=(n.x+o.x)*s,h+=(n.y+o.y)*s,r+=3*s;u=0===r?d[0]:[a/r,h/r],u=e.unproject(m(u));return w([u.lat+l.lat,u.lng+l.lng])}function Qe(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=w(t[o]);e+=s.lat,i+=s.lng,n++}return w([e/n,i/n])}var ti,gt={__proto__:null,clipPolygon:Je,polygonCenter:$e,centroid:Qe};function ei(t,e){if(e&&t.length){var i=t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)(function(t,e){var i=e.x-t.x,e=e.y-t.y;return i*i+e*e})(t[n],t[o])>e&&(i.push(t[n]),o=n);o<s-1&&i.push(t[s-1]);return i}(t,e=e*e),n=i.length,o=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);o[0]=o[n-1]=1,function t(e,i,n,o,s){var r,a,h,l=0;for(a=o+1;a<=s-1;a++)h=ri(e[a],e[o],e[s],!0),l<h&&(r=a,l=h);n<l&&(i[r]=1,t(e,i,n,o,r),t(e,i,n,r,s))}(i,o,e,0,n-1);var s,r=[];for(s=0;s<n;s++)o[s]&&r.push(i[s]);return r}return t.slice()}function ii(t,e,i){return Math.sqrt(ri(t,e,i,!0))}function ni(t,e,i,n,o){var s,r,a,h=n?ti:si(t,i),l=si(e,i);for(ti=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=si(r=oi(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function oi(t,e,i,n,o){var s,r,a=e.x-t.x,e=e.y-t.y,h=n.min,n=n.max;return 8&i?(s=t.x+a*(n.y-t.y)/e,r=n.y):4&i?(s=t.x+a*(h.y-t.y)/e,r=h.y):2&i?(s=n.x,r=t.y+e*(n.x-t.x)/a):1&i&&(s=h.x,r=t.y+e*(h.x-t.x)/a),new p(s,r,o)}function si(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0<a&&(1<(a=((t.x-o)*s+(t.y-e)*r)/a)?(o=i.x,e=i.y):0<a&&(o+=s*a,e+=r*a)),s=t.x-o,r=t.y-e,n?s*s+r*r:new p(o,e)}function I(t){return!d(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function ai(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),I(t)}function hi(t,e){var i,n,o,s,r,a;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var h=w([0,0]),l=g(t),u=(l.getNorthWest().distanceTo(l.getSouthWest())*l.getNorthEast().distanceTo(l.getNorthWest())<1700&&(h=Qe(t)),t.length),c=[],d=0;d<u;d++){var _=w(t[d]);c.push(e.project(w([_.lat-h.lat,_.lng-h.lng])))}for(i=d=0;d<u-1;d++)i+=c[d].distanceTo(c[d+1])/2;if(0===i)a=c[0];else for(n=d=0;d<u-1;d++)if(o=c[d],s=c[d+1],i<(n+=r=o.distanceTo(s))){a=[s.x-(r=(n-i)/r)*(s.x-o.x),s.y-r*(s.y-o.y)];break}l=e.unproject(m(a));return w([l.lat+h.lat,l.lng+h.lng])}var vt={__proto__:null,simplify:ei,pointToSegmentDistance:ii,closestPointOnSegment:function(t,e,i){return ri(t,e,i)},clipSegment:ni,_getEdgeIntersection:oi,_getBitCode:si,_sqClosestPointOnSegment:ri,isFlat:I,_flat:ai,polylineCenter:hi},yt={project:function(t){return new p(t.lng,t.lat)},unproject:function(t){return new v(t.y,t.x)},bounds:new f([-180,-90],[180,90])},xt={R:6378137,R_MINOR:6356752.314245179,bounds:new f([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,o=Math.sqrt(1-o*o),s=o*Math.sin(n),s=Math.tan(Math.PI/4-n/2)/Math.pow((1-s)/(1+s),o/2),n=-i*Math.log(Math.max(s,1e-10));return new p(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&1e-7<Math.abs(l);h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new v(a*i,t.x*i/n)}},wt={__proto__:null,LonLat:yt,Mercator:xt,SphericalMercator:rt},Pt=l({},st,{code:"EPSG:3395",projection:xt,transformation:ht(bt=.5/(Math.PI*xt.R),.5,-bt,.5)}),li=l({},st,{code:"EPSG:4326",projection:yt,transformation:ht(1/180,1,-1/180,.5)}),Lt=l({},ot,{projection:yt,transformation:ht(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,e=e.lat-t.lat;return Math.sqrt(i*i+e*e)},infinite:!0}),o=(ot.Earth=st,ot.EPSG3395=Pt,ot.EPSG3857=lt,ot.EPSG900913=ut,ot.EPSG4326=li,ot.Simple=Lt,it.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[h(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[h(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e,i=t.target;i.hasLayer(this)&&(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents&&(e=this.getEvents(),i.on(e,this),this.once("remove",function(){i.off(e,this)},this)),this.onAdd(i),this.fire("add"),i.fire("layeradd",{layer:this}))}})),ui=(A.include({addLayer:function(t){var e;if(t._layerAdd)return e=h(t),this._layers[e]||((this._layers[e]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this;throw new Error("The provided object is not a Layer.")},removeLayer:function(t){var e=h(t);return this._layers[e]&&(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return h(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?d(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[h(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){t=h(t);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var t,e=1/0,i=-1/0,n=this._getZoomSpan();for(t in this._zoomBoundLayers)var o=this._zoomBoundLayers[t].options,e=void 0===o.minZoom?e:Math.min(e,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom);this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=e===1/0?void 0:e,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}}),o.extend({initialize:function(t,e){var i,n;if(c(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){t=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:h})),ci=ui.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ui.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?((t=t in this._layers?this._layers[t]:t).removeEventParent(this),ui.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t,e=new s;for(t in this._layers){var i=this._layers[t];e.extend(i.getBounds?i.getBounds():i.getLatLng())}return e}}),di=et.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){c(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(i)return i=this._createImg(i,e&&"IMG"===e.tagName?e:null),this._setIconStyles(i,t),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i;if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"],n=m(n="number"==typeof n?[n,n]:n),o=m("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return b.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var _i=di.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof _i.imagePath&&(_i.imagePath=this._detectIconPath()),(this.options.imagePath||_i.imagePath)+di.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){function e(t,e,i){return(e=e.exec(t))&&e[i]}return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=P("div","leaflet-default-icon-path",document.body),e=pe(t,"background-image")||pe(t,"backgroundImage");return document.body.removeChild(t),(e=this._stripUrl(e))?e:(t=document.querySelector('link[href$="leaflet.css"]'))?t.href.substring(0,t.href.length-"leaflet.css".length-1):""}}),pi=n.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Xe(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),M(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&z(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=Pe(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),a=_(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));a.contains(s)||(o=m((Math.max(a.max.x,s.x)-a.max.x)/(r.max.x-a.max.x)-(Math.min(a.min.x,s.x)-a.min.x)/(r.min.x-a.min.x),(Math.max(a.max.y,s.y)-a.max.y)/(r.max.y-a.max.y)-(Math.min(a.min.y,s.y)-a.min.y)/(r.min.y-a.min.y)).multiplyBy(n),i.panBy(o,{animate:!1}),this._draggable._newPos._add(o),this._draggable._startPos._add(o),Z(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(r(this._panRequest),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=Pe(e._icon),o=e._map.layerPointToLatLng(n);i&&Z(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){r(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),mi=o.extend({options:{icon:new _i,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){c(this,e),this._latlng=w(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){var t;return this._icon&&this._map&&(t=this._map.latLngToLayerPoint(this._latlng).round(),this._setPos(t)),this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1,i=(i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),M(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&S(i,"focus",this._panOnFocus,this),t.icon.createShadow(this._shadow)),o=!1;i!==this._shadow&&(this._removeShadow(),o=!0),i&&(M(i,e),i.alt=""),this._shadow=i,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),i&&o&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&k(this._icon,"focus",this._panOnFocus,this),T(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&T(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&Z(this._icon,t),this._shadow&&Z(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(t)},_initInteraction:function(){var t;this.options.interactive&&(M(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),pi&&(t=this.options.draggable,this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new pi(this),t&&this.dragging.enable()))},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&C(this._icon,t),this._shadow&&C(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t,e,i=this._map;i&&(t=(e=this.options.icon.options).iconSize?m(e.iconSize):m(0,0),e=e.iconAnchor?m(e.iconAnchor):m(0,0),i.panInside(this._latlng,{paddingTopLeft:e,paddingBottomRight:t.subtract(e)}))},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var fi=o.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return c(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),gi=fi.extend({options:{fill:!0,radius:10},initialize:function(t,e){c(this,e),this._latlng=w(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return fi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),t=[t+i,e+i];this._pxBounds=new f(this._point.subtract(t),this._point.add(t))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var vi=gi.extend({initialize:function(t,e,i){if(c(this,e="number"==typeof e?l({},i,{radius:e}):e),this._latlng=w(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new s(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:fi.prototype.setStyle,_project:function(){var t,e,i,n,o,s=this._latlng.lng,r=this._latlng.lat,a=this._map,h=a.options.crs;h.distance===st.distance?(n=Math.PI/180,o=this._mRadius/st.R/n,t=a.project([r+o,s]),e=a.project([r-o,s]),e=t.add(e).divideBy(2),i=a.unproject(e).lat,n=Math.acos((Math.cos(o*n)-Math.sin(r*n)*Math.sin(i*n))/(Math.cos(r*n)*Math.cos(i*n)))/n,!isNaN(n)&&0!==n||(n=o/Math.cos(Math.PI/180*r)),this._point=e.subtract(a.getPixelOrigin()),this._radius=isNaN(n)?0:e.x-a.project([i,s-n]).x,this._radiusY=e.y-t.y):(o=h.unproject(h.project(this._latlng).subtract([this._mRadius,0])),this._point=a.latLngToLayerPoint(this._latlng),this._radius=this._point.x-a.latLngToLayerPoint(o).x),this._updateBounds()}});var yi=fi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){c(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e=1/0,i=null,n=ri,o=0,s=this._parts.length;o<s;o++)for(var r=this._parts[o],a=1,h=r.length;a<h;a++){var l,u,c=n(t,l=r[a-1],u=r[a],!0);c<e&&(e=c,i=n(t,l,u))}return i&&(i.distance=Math.sqrt(e)),i},getCenter:function(){if(this._map)return hi(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=w(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new s,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return I(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=I(t),n=0,o=t.length;n<o;n++)i?(e[n]=w(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new f;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),t=new p(t,t);this._rawPxBounds&&(this._pxBounds=new f([this._rawPxBounds.min.subtract(t),this._rawPxBounds.max.add(t)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof v,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var e,i,n,o,s=this._parts,r=0,a=0,h=this._rings.length;r<h;r++)for(e=0,i=(o=this._rings[r]).length;e<i-1;e++)(n=ni(o[e],o[e+1],t,e,!0))&&(s[a]=s[a]||[],s[a].push(n[0]),n[1]===o[e+1]&&e!==i-2||(s[a].push(n[1]),a++))},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=ei(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(this._pxBounds&&this._pxBounds.contains(t))for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&ii(t,a[o],a[n])<=h)return!0;return!1}});yi._flat=ai;var xi=yi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(this._map)return $e(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},_convertLatLngs:function(t){var t=yi.prototype._convertLatLngs.call(this,t),e=t.length;return 2<=e&&t[0]instanceof v&&t[0].equals(t[e-1])&&t.pop(),t},_setLatLngs:function(t){yi.prototype._setLatLngs.call(this,t),I(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return(I(this._latlngs[0])?this._latlngs:this._latlngs[0])[0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,e=new p(e,e),t=new f(t.min.subtract(e),t.max.add(e));if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,n=0,o=this._rings.length;n<o;n++)(i=Je(this._rings[n],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s,r=this.options;return(!r.filter||r.filter(t))&&(s=bi(t,r))?(s.feature=Zi(t),s.defaultOptions=s.options,this.resetStyle(s),r.onEachFeature&&r.onEachFeature(t,s),this.addLayer(s)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=l({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(e){return this.eachLayer(function(t){this._setLayerStyle(t,e)},this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function bi(t,e){var i,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Li;if(!a&&!r)return null;switch(r.type){case"Point":return Pi(l,t,i=u(a),e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Pi(l,t,i,e));return new ci(h);case"LineString":case"MultiLineString":return n=Ti(a,"LineString"===r.type?0:1,u),new yi(n,e);case"Polygon":case"MultiPolygon":return n=Ti(a,"Polygon"===r.type?1:2,u),new xi(n,e);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=bi({geometry:r.geometries[o],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new ci(h);case"FeatureCollection":for(o=0,s=r.features.length;o<s;o++){var d=bi(r.features[o],e);d&&h.push(d)}return new ci(h);default:throw new Error("Invalid GeoJSON object.")}}function Pi(t,e,i,n){return t?t(e,i):new mi(i,n&&n.markersInheritOptions&&n)}function Li(t){return new v(t[1],t[0],t[2])}function Ti(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Ti(t[s],e-1,i):(i||Li)(t[s]),o.push(n);return o}function Mi(t,e){return void 0!==(t=w(t)).alt?[i(t.lng,e),i(t.lat,e),i(t.alt,e)]:[i(t.lng,e),i(t.lat,e)]}function zi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?zi(t[s],I(t[s])?0:e-1,i,n):Mi(t[s],n));return!e&&i&&0<o.length&&o.push(o[0].slice()),o}function Ci(t,e){return t.feature?l({},t.feature,{geometry:e}):Zi(e)}function Zi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}Tt={toGeoJSON:function(t){return Ci(this,{type:"Point",coordinates:Mi(this.getLatLng(),t)})}};function Si(t,e){return new wi(t,e)}mi.include(Tt),vi.include(Tt),gi.include(Tt),yi.include({toGeoJSON:function(t){var e=!I(this._latlngs);return Ci(this,{type:(e?"Multi":"")+"LineString",coordinates:zi(this._latlngs,e?1:0,!1,t)})}}),xi.include({toGeoJSON:function(t){var e=!I(this._latlngs),i=e&&!I(this._latlngs[0]),t=zi(this._latlngs,i?2:e?1:0,!0,t);return Ci(this,{type:(i?"Multi":"")+"Polygon",coordinates:t=e?t:[t]})}}),ui.include({toMultiPoint:function(e){var i=[];return this.eachLayer(function(t){i.push(t.toGeoJSON(e).geometry.coordinates)}),Ci(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(e){var i,n,t=this.feature&&this.feature.geometry&&this.feature.geometry.type;return"MultiPoint"===t?this.toMultiPoint(e):(i="GeometryCollection"===t,n=[],this.eachLayer(function(t){t.toGeoJSON&&(t=t.toGeoJSON(e),i?n.push(t.geometry):"FeatureCollection"===(t=Zi(t)).type?n.push.apply(n,t.features):n.push(t))}),i?Ci(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n})}});var Mt=Si,Ei=o.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=g(e),c(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(M(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){T(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&fe(this._image),this},bringToBack:function(){return this._map&&ge(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=g(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:P("img");M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onload=a(this.fire,this,"load"),e.onerror=a(this._overlayOnError,this,"error"),!this.options.crossOrigin&&""!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),t=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;be(this._image,t,e)},_reset:function(){var t=this._image,e=new f(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Z(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){C(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),ki=Ei.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:P("video");if(M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onloadeddata=a(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o<i.length;o++)n.push(i[o].src);this._url=0<i.length?n:[e.src]}else{d(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;s<this._url.length;s++){var r=P("source");r.src=this._url[s],e.appendChild(r)}}}});var Oi=Ei.extend({_initImage:function(){var t=this._image=this._url;M(t,"leaflet-image-layer"),this._zoomAnimated&&M(t,"leaflet-zoom-animated"),this.options.className&&M(t,this.options.className),t.onselectstart=u,t.onmousemove=u}});var Ai=o.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof v||d(t))?(this._latlng=w(t),c(this,e)):(c(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&C(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&C(this._container,1),this.bringToFront(),this.options.interactive&&(M(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(C(this._container,0),this._removeTimeout=setTimeout(a(T,void 0,this._container),200)):T(this._container),this.options.interactive&&(z(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=w(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&fe(this._container),this},bringToBack:function(){return this._map&&ge(this._container),this},_prepareOpen:function(t){if(!(i=this._source)._map)return!1;if(i instanceof ci){var e,i=null,n=this._source._layers;for(e in n)if(n[e]._map){i=n[e];break}if(!i)return!1;this._source=i}if(!t)if(i.getCenter)t=i.getCenter();else if(i.getLatLng)t=i.getLatLng();else{if(!i.getBounds)throw new Error("Unable to get source layer LatLng.");t=i.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){var t,e,i;this._map&&(e=this._map.latLngToLayerPoint(this._latlng),t=m(this.options.offset),i=this._getAnchor(),this._zoomAnimated?Z(this._container,e.add(i)):t=t.add(e).add(i),e=this._containerBottom=-t.y,i=this._containerLeft=-Math.round(this._containerWidth/2)+t.x,this._container.style.bottom=e+"px",this._container.style.left=i+"px")},_getAnchor:function(){return[0,0]}}),Bi=(A.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),o.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(c(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}}),Ai.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Ai.prototype.openOn.call(this,t)},onAdd:function(t){Ai.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof fi||this._source.on("preclick",Ae))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof fi||this._source.off("preclick",Ae))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=P("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=P("div",t+"-content-wrapper",e);this._contentNode=P("div",t+"-content",i),Ie(e),Be(this._contentNode),S(e,"contextmenu",Ae),this._tipContainer=P("div",t+"-tip-container",e),this._tip=P("div",t+"-tip",this._tipContainer),this.options.closeButton&&((i=this._closeButton=P("a",t+"-close-button",e)).setAttribute("role","button"),i.setAttribute("aria-label","Close popup"),i.href="#close",i.innerHTML='<span aria-hidden="true">&#215;</span>',S(i,"click",function(t){O(t),this.close()},this))},_updateLayout:function(){var t=this._contentNode,e=t.style,i=(e.width="",e.whiteSpace="nowrap",t.offsetWidth),i=Math.min(i,this.options.maxWidth),i=(i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="",t.offsetHeight),n=this.options.maxHeight,o="leaflet-popup-scrolled";(n&&n<i?(e.height=n+"px",M):z)(t,o),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Z(this._container,t.add(e))},_adjustPan:function(){var t,e,i,n,o,s,r,a;this.options.autoPan&&(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning?this._autopanning=!1:(t=this._map,e=parseInt(pe(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+e,a=this._containerWidth,(i=new p(this._containerLeft,-e-this._containerBottom))._add(Pe(this._container)),i=t.layerPointToContainerPoint(i),o=m(this.options.autoPanPadding),n=m(this.options.autoPanPaddingTopLeft||o),o=m(this.options.autoPanPaddingBottomRight||o),s=t.getSize(),r=0,i.x+a+o.x>s.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.x<o.x?(s="right",0):(s="left",r+2*(h.x+l.x)),a/2);t=t.subtract(m(e,i,!0)).add(h).add(l),z(n,"leaflet-tooltip-right"),z(n,"leaflet-tooltip-left"),z(n,"leaflet-tooltip-top"),z(n,"leaflet-tooltip-bottom"),M(n,"leaflet-tooltip-"+s),Z(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&C(this._container,t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(t)},_getAnchor:function(){return m(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}})),Ri=(A.include({openTooltip:function(t,e,i){return this._initOverlay(Ii,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),o.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Ii,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){var e,i;!t&&this._tooltipHandlersAdded||(e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip},this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t)},openTooltip:function(t){return this._tooltip&&(this instanceof ci||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(S(e,"focus",function(){this._tooltip._source=t,this.openTooltip()},this),S(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){t="function"==typeof t.getElement&&t.getElement();t&&t.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){var e;this._tooltip&&this._map&&(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag?(this._openOnceFlag=!0,(e=this)._map.once("moveend",function(){e._openOnceFlag=!1,e._openTooltip(t)})):(this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)))},_moveTooltip:function(t){var e=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(t=this._map.mouseEventToContainerPoint(t.originalEvent),t=this._map.containerPointToLayerPoint(t),e=this._map.layerPointToLatLng(t)),this._tooltip.setLatLng(e)}}),di.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var t=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;return e.html instanceof Element?(me(t),t.appendChild(e.html)):t.innerHTML=!1!==e.html?e.html:"",e.bgPos&&(e=m(e.bgPos),t.style.backgroundPosition=-e.x+"px "+-e.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}}));di.Default=_i;var Ni=o.extend({options:{tileSize:256,opacity:1,updateWhenIdle:b.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){c(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),T(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(fe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ge(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){var t;return this._map&&(this._removeAllTiles(),(t=this._clampZoom(this._map.getZoom()))!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=j(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof p?t:new p(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!b.ielt9){C(this._container,this.options.opacity);var t,e=+new Date,i=!1,n=!1;for(t in this._tiles){var o,s=this._tiles[t];s.current&&s.loaded&&(o=Math.min(1,(e-s.loaded)/200),C(s.el,o),o<1?i=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0))}n&&!this._noPrune&&this._pruneTiles(),i&&(r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this))}},_onOpaqueTile:u,_initContainer:function(){this._container||(this._container=P("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(T(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=P("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),u(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:u,_onRemoveLevel:u,_onCreateLevel:u,_pruneTiles:function(){if(this._map){var t,e,i,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(e=i.coords,this._retainParent(e.x,e.y,e.z,e.z-5)||this._retainChildren(e.x,e.y,e.z,e.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)T(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var t=Math.floor(t/2),e=Math.floor(e/2),i=i-1,o=new p(+t,+e),o=(o.z=i,this._tileCoordsToKey(o)),o=this._tiles[o];return o&&o.active?o.retain=!0:(o&&o.loaded&&(o.retain=!0),n<i&&this._retainParent(t,e,i,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new p(o,s),r=(r.z=i+1,this._tileCoordsToKey(r)),r=this._tiles[r];r&&r.active?r.retain=!0:(r&&r.loaded&&(r.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){t=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e),o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o),s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),e=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();b.any3d?be(t.el,e,n):Z(t.el,e)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(i,this._tileZoom),t=e.project(t,this._tileZoom).floor(),e=e.getSize().divideBy(2*i);return new f(t.subtract(e),t.add(e))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n,e=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(e),s=o.getCenter(),r=[],e=this.options.keepBuffer,a=new f(o.getBottomLeft().subtract([e,-e]),o.getTopRight().add([e,-e]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(n in this._tiles){var h=this._tiles[n].coords;h.z===this._tileZoom&&a.contains(new p(h.x,h.y))||(this._tiles[n].current=!1)}if(1<Math.abs(i-this._tileZoom))this._setView(t,i);else{for(var l=o.min.y;l<=o.max.y;l++)for(var u=o.min.x;u<=o.max.x;u++){var c,d=new p(u,l);d.z=this._tileZoom,this._isValidTile(d)&&((c=this._tiles[this._tileCoordsToKey(d)])?c.current=!0:r.push(d))}if(r.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));for(var _=document.createDocumentFragment(),u=0;u<r.length;u++)this._addTile(r[u],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0<e.maxZoom?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return S(i,"load",a(this._tileOnLoad,this,e,i)),S(i,"error",a(this._tileOnError,this,e,i)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:b.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};return this._map&&!this._map.options.crs.infinite&&(t=this._globalTileRange.max.y-t.y,this.options.tms&&(e.y=t),e["-y"]=t),q(this._url,l(e,this.options))},_tileOnLoad:function(t,e){b.ielt9?setTimeout(a(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return(t=this.options.zoomReverse?e-t:t)+this.options.zoomOffset},_getSubdomain:function(t){t=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,e,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=u,i.onerror=u,i.complete||(i.src=K,e=this._tiles[t].coords,T(i),delete this._tiles[t],this.fire("tileabort",{tile:i,coords:e})))},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",K),Ni.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==K))return Ni.prototype._tileReady.call(this,t,e,i)}});function ji(t,e){return new Di(t,e)}var Hi=Di.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i,n=l({},this.defaultWmsParams);for(i in e)i in this.options||(n[i]=e[i]);var t=(e=c(this,e)).detectRetina&&b.retina?2:1,o=this.getTileSize();n.width=o.x*t,n.height=o.y*t,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[e]=this._crs.code,Di.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,i=_(i.project(e[0]),i.project(e[1])),e=i.min,i=i.max,e=(1.3<=this._wmsVersion&&this._crs===li?[e.y,e.x,i.y,i.x]:[e.x,e.y,i.x,i.y]).join(","),i=Di.prototype.getTileUrl.call(this,t);return i+U(this.wmsParams,i,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+e},setParams:function(t,e){return l(this.wmsParams,t),e||this.redraw(),this}});Di.WMS=Hi,ji.wms=function(t,e){return new Hi(t,e)};var Wi=o.extend({options:{padding:.1},initialize:function(t){c(this,t),h(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),M(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),n=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));b.any3d?be(this._container,n,i):Z(this._container,n)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new f(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Fi=Wi.extend({options:{tolerance:0},getEvents:function(){var t=Wi.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");S(t,"mousemove",this._onMouseMove,this),S(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),S(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){r(this._redrawRequest),delete this._ctx,T(this._container),k(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){var t,e,i,n;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),t=this._bounds,e=this._container,i=t.getSize(),n=b.retina?2:1,Z(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",b.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update"))},_reset:function(){Wi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);t=(this._layers[h(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,e=e.prev;i?i.prev=e:this._drawLast=e,e?e.next=i:this._drawFirst=i,delete t._order,delete this._layers[h(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){for(var e,i=t.options.dashArray.split(/[, ]+/),n=[],o=0;o<i.length;o++){if(e=Number(i[o]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||x(this._redraw,this))},_extendRedrawBounds:function(t){var e;t._pxBounds&&(e=(t.options.weight||0)+1,this._redrawBounds=this._redrawBounds||new f,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e])))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t,e=this._redrawBounds;e?(t=e.getSize(),this._ctx.clearRect(e.min.x,e.min.y,t.x,t.y)):(this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore())},_draw:function(){var t,e,i=this._redrawBounds;this._ctx.save(),i&&(e=i.getSize(),this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()),this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){var e,i,n,o;this._drawing&&!t._empty()&&(e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),1!=(o=(Math.max(Math.round(t._radiusY),1)||n)/n)&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!=o&&i.restore(),this._fillStroke(i,t))},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&(("click"===t.type||"preclick"===t.type)&&this._map._draggableMoved(e)||(i=e));this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){var e;!this._map||this._map.dragging.moving()||this._map._animatingZoom||(e=this._map.mouseEventToLayerPoint(t),this._handleMouseHover(t,e))},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(z(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(M(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e,i,n=t._order;n&&(e=n.next,i=n.prev,e&&((e.prev=i)?i.next=e:e&&(this._drawFirst=e),n.prev=this._drawLast,(this._drawLast.next=n).next=null,this._drawLast=n,this._requestRedraw(t)))},_bringToBack:function(t){var e,i,n=t._order;n&&(e=n.next,(i=n.prev)&&((i.next=e)?e.prev=i:i&&(this._drawLast=i),n.prev=null,n.next=this._drawFirst,this._drawFirst.prev=n,this._drawFirst=n,this._requestRedraw(t)))}});function Ui(t){return b.canvas?new Fi(t):null}var Vi=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){var t,e;this._viscosity&&this._offsetLimit&&(t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit,t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)<Math.abs(n+i)?o:n;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=t},_onDragEnd:function(t){var e,i,n,o,s=this._map,r=s.options,a=!r.inertia||t.noInertia||this._times.length<2;s.fire("dragend",t),!a&&(this._prunePositions(+new Date),t=this._lastPos.subtract(this._positions[0]),a=(this._lastTime-this._times[0])/1e3,e=r.easeLinearity,a=(t=t.multiplyBy(e/a)).distanceTo([0,0]),i=Math.min(r.inertiaMaxSpeed,a),t=t.multiplyBy(i/a),n=i/(r.inertiaDeceleration*e),(o=t.multiplyBy(-n/2).round()).x||o.y)?(o=s._limitOffset(o,s.options.maxBounds),x(function(){s.panBy(o,{duration:n,easeLinearity:e,noMoveStart:!0,animate:!0})})):s.fire("moveend")}})),St=(A.addInitHook("addHandler","dragging",Zt),A.mergeOptions({keyboard:!0,keyboardPanDelta:80}),n.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),S(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),k(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){var t,e,i;this._focused||(i=document.body,t=document.documentElement,e=i.scrollTop||t.scrollTop,i=i.scrollLeft||t.scrollLeft,this._map._container.focus(),window.scrollTo(i,e))},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){for(var e=this._panKeys={},i=this.keyCodes,n=0,o=i.left.length;n<o;n++)e[i.left[n]]=[-1*t,0];for(n=0,o=i.right.length;n<o;n++)e[i.right[n]]=[t,0];for(n=0,o=i.down.length;n<o;n++)e[i.down[n]]=[0,t];for(n=0,o=i.up.length;n<o;n++)e[i.up[n]]=[0,-1*t]},_setZoomDelta:function(t){for(var e=this._zoomKeys={},i=this.keyCodes,n=0,o=i.zoomIn.length;n<o;n++)e[i.zoomIn[n]]=t;for(n=0,o=i.zoomOut.length;n<o;n++)e[i.zoomOut[n]]=-t},_addHooks:function(){S(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){k(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i,n=t.keyCode,o=this._map;if(n in this._panKeys)o._panAnim&&o._panAnim._inProgress||(i=this._panKeys[n],t.shiftKey&&(i=m(i).multiplyBy(3)),o.options.maxBounds&&(i=o._limitOffset(m(i),o.options.maxBounds)),o.options.worldCopyJump?(e=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(i))),o.panTo(e)):o.panBy(i));else if(n in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}})),Et=(A.addInitHook("addHandler","keyboard",St),A.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),n.extend({addHooks:function(){S(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){k(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime,e=(this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date),Math.max(i-(+new Date-this._startTime),0));clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),e),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0,n=(t._stop(),this._delta/(4*this._map.options.wheelPxPerZoomLevel)),n=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,i=i?Math.ceil(n/i)*i:n,n=t._limitZoom(e+(0<this._delta?i:-i))-e;this._delta=0,this._startTime=null,n&&("center"===t.options.scrollWheelZoom?t.setZoom(e+n):t.setZoomAround(this._lastMousePos,e+n))}})),kt=(A.addInitHook("addHandler","scrollWheelZoom",Et),A.mergeOptions({tapHold:b.touchNative&&b.safari&&b.mobile,tapTolerance:15}),n.extend({addHooks:function(){S(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){k(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){var e;clearTimeout(this._holdTimeout),1===t.touches.length&&(e=t.touches[0],this._startPos=this._newPos=new p(e.clientX,e.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(S(document,"touchend",O),S(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),600),S(document,"touchend touchcancel contextmenu",this._cancel,this),S(document,"touchmove",this._onMove,this))},_cancelClickPrevent:function t(){k(document,"touchend",O),k(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),k(document,"touchend touchcancel contextmenu",this._cancel,this),k(document,"touchmove",this._onMove,this)},_onMove:function(t){t=t.touches[0];this._newPos=new p(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){t=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});t._simulated=!0,e.target.dispatchEvent(t)}})),Ot=(A.addInitHook("addHandler","tapHold",kt),A.mergeOptions({touchZoom:b.touch,bounceAtZoomLimits:!0}),n.extend({addHooks:function(){M(this._map._container,"leaflet-touch-zoom"),S(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,"leaflet-touch-zoom"),k(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e,i,n=this._map;!t.touches||2!==t.touches.length||n._animatingZoom||this._zooming||(e=n.mouseEventToContainerPoint(t.touches[0]),i=n.mouseEventToContainerPoint(t.touches[1]),this._centerPoint=n.getSize()._divideBy(2),this._startLatLng=n.containerPointToLatLng(this._centerPoint),"center"!==n.options.touchZoom&&(this._pinchStartLatLng=n.containerPointToLatLng(e.add(i)._divideBy(2))),this._startDist=e.distanceTo(i),this._startZoom=n.getZoom(),this._moved=!1,this._zooming=!0,n._stop(),S(document,"touchmove",this._onTouchMove,this),S(document,"touchend touchcancel",this._onTouchEnd,this),O(t))},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&1<o)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{i=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===i.x&&0===i.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(i),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),r(this._animRequest);n=a(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=x(n,this,!0),O(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,r(this._animRequest),k(document,"touchmove",this._onTouchMove,this),k(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}})),Xi=(A.addInitHook("addHandler","touchZoom",Ot),A.BoxZoom=_t,A.DoubleClickZoom=Ct,A.Drag=Zt,A.Keyboard=St,A.ScrollWheelZoom=Et,A.TapHold=kt,A.TouchZoom=Ot,t.Bounds=f,t.Browser=b,t.CRS=ot,t.Canvas=Fi,t.Circle=vi,t.CircleMarker=gi,t.Class=et,t.Control=B,t.DivIcon=Ri,t.DivOverlay=Ai,t.DomEvent=mt,t.DomUtil=pt,t.Draggable=Xe,t.Evented=it,t.FeatureGroup=ci,t.GeoJSON=wi,t.GridLayer=Ni,t.Handler=n,t.Icon=di,t.ImageOverlay=Ei,t.LatLng=v,t.LatLngBounds=s,t.Layer=o,t.LayerGroup=ui,t.LineUtil=vt,t.Map=A,t.Marker=mi,t.Mixin=ft,t.Path=fi,t.Point=p,t.PolyUtil=gt,t.Polygon=xi,t.Polyline=yi,t.Popup=Bi,t.PosAnimation=Fe,t.Projection=wt,t.Rectangle=Yi,t.Renderer=Wi,t.SVG=Gi,t.SVGOverlay=Oi,t.TileLayer=Di,t.Tooltip=Ii,t.Transformation=at,t.Util=tt,t.VideoOverlay=ki,t.bind=a,t.bounds=_,t.canvas=Ui,t.circle=function(t,e,i){return new vi(t,e,i)},t.circleMarker=function(t,e){return new gi(t,e)},t.control=Ue,t.divIcon=function(t){return new Ri(t)},t.extend=l,t.featureGroup=function(t,e){return new ci(t,e)},t.geoJSON=Si,t.geoJson=Mt,t.gridLayer=function(t){return new Ni(t)},t.icon=function(t){return new di(t)},t.imageOverlay=function(t,e,i){return new Ei(t,e,i)},t.latLng=w,t.latLngBounds=g,t.layerGroup=function(t,e){return new ui(t,e)},t.map=function(t,e){return new A(t,e)},t.marker=function(t,e){return new mi(t,e)},t.point=m,t.polygon=function(t,e){return new xi(t,e)},t.polyline=function(t,e){return new yi(t,e)},t.popup=function(t,e){return new Bi(t,e)},t.rectangle=function(t,e){return new Yi(t,e)},t.setOptions=c,t.stamp=h,t.svg=Ki,t.svgOverlay=function(t,e,i){return new Oi(t,e,i)},t.tileLayer=ji,t.tooltip=function(t,e){return new Ii(t,e)},t.transformation=ht,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new ki(t,e,i)},window.L);t.noConflict=function(){return window.L=Xi,this},window.L=t});
   /* Ende leaflet */
   /* Start L.LatLng.UTM */
   /* --GSBDocStart
 * @name: leaflet 
 * @version: 1.9.4 
 * @repository: https://github.com/Leaflet/Leaflet 
 * @description: JavaScript library for mobile-friendly interactive maps 
 * @licenses: BSD-2-Clause 
 * --GSBDocEnd
*/
/*
 * Extends L.LatLng to convert easily to UTM WGS84 coordinates
 * and print with the desired format
 */

(function(L) {
    if (typeof L === 'undefined') {
        throw new Error('Leaflet must be included first');
    }

    // Constructor for 'class' L.Utm
    L.Utm = function(x, y, zone, band, southHemi) {
        this.x = +x;
        this.y = +y;
        this.zone = zone;
        this.band = band;
        this.southHemi = southHemi;
    };

    L.Utm.setDefaultOptions = function(o) {
        // o can be an object or a function
        L.Utm.prototype._defaultOptions = o;
    };

    L.Utm.prototype = {
        // convert to string. Using the options you can
        // specify another format.
        toString: function(options) {
            var def = {
                decimals: 1,
                sep: ',',
                format: '{x}{sep} {y}{sep} {zone}{band}{sep} {datum}',
                north: 'North',
                south: 'South'
            };

            if (this._defaultOptions) {
                // The user has the posibility to change the default options
                var aux = this._defaultOptions;
                if (typeof aux === 'function') aux = aux(options, def);
                def = L.extend(def, aux);
            }

            options = L.extend(def, options);

            var o = this.dic();
            o.x = o.x.toFixed(options.decimals);
            o.y = o.y.toFixed(options.decimals);
            o.hemi = o.southHemi ? options.south : options.north;
            o.sep = options.sep;
            o.datum = 'WGS84';

            return L.Util.template(options.format, o);
        },

        // returns a L.LatLng object
        latLng: function(noExcep) {
            try {
                var ll = UC().UTM2LatLon(this);
                return L.latLng(ll);
            } catch (e) {
                if (noExcep) return null;
                throw e;
            }
        },

        // convert to L.LatLng to check equality
        equals: function(other) {
            try {
                return this.latLng().equals(other.latLng());
            } catch (e) {
                return false;
            }
        },

        // returns a new object normalized to the proper zone, band...
        normalize: function() {
            var tmp = this.latLng(true);
            return tmp ? tmp.utm() : null;
        },

        // returns a simple dictionary,
        // with optional easting and northing values.
        dic: function(eastingNorthing) {
            var ret = {
                x: this.x,
                y: this.y,
                zone: this.zone,
                band: this.band,
                southHemi: this.southHemi
            };
            if (eastingNorthing) {
                ret.easting = this.x;
                ret.northing = this.y;
            }
            return ret;
        },

        clone: function() {
            return L.utm(this);
        }
    };

    // factory to create Utm instances.
    L.utm = function(x, y, zone, band, southHemi) {
        if (x === undefined || x === null) {
            return x;
        }
        if (x instanceof L.Utm) {
            return x;
        }
        if (typeof x === 'object' && 'x' in x && 'y' in x && 'zone' in x) {
            return new L.Utm(x.x, x.y, x.zone, x.band, x.southHemi);
        }
        return new L.Utm(x, y, zone, band, southHemi);
    };

    ////////////////////////////
    // Prototype in LatLng to get an Utm object.
    // if zone is null, it is calculated.
    L.LatLng.prototype.utm = function(zone, southHemi) {
        var dic = UC().LatLon2UTM(
            this.lat,
            this.lng,
            zone,
            southHemi);
        return L.utm(dic);
    };


    /////////////////////////////
    // from http://home.hiwaay.net/~taylorc/toolbox/geography/geoutm.html
    // Try to keep as unmodified as possible
    /*eslint-disable */
    function UC() {
        var pi = 3.14159265358979;

        /* Ellipsoid model constants (actual values here are for WGS84) */
        var sm_a = 6378137.0;
        var sm_b = 6356752.314;
        var sm_EccSquared = 6.69437999013e-03;

        var UTMScaleFactor = 0.9996;


        /*
        * DegToRad
        *
        * Converts degrees to radians.
        *
        */
        function DegToRad(deg) { return (deg / 180.0 * pi); }



        /*
        * RadToDeg
        *
        * Converts radians to degrees.
        *
        */
        function RadToDeg(rad) { return (rad / pi * 180.0); }



        /*
        * ArcLengthOfMeridian
        *
        * Computes the ellipsoidal distance from the equator to a point at a
        * given latitude.
        *
        * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J.,
        * GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994.
        *
        * Inputs:
        *     phi - Latitude of the point, in radians.
        *
        * Globals:
        *     sm_a - Ellipsoid model major axis.
        *     sm_b - Ellipsoid model minor axis.
        *
        * Returns:
        *     The ellipsoidal distance of the point from the equator, in meters.
        *
        */
        function ArcLengthOfMeridian(phi) {
            var alpha, beta, gamma, delta, epsilon, n;
            var result;

            /* Precalculate n */
            n = (sm_a - sm_b) / (sm_a + sm_b);

            /* Precalculate alpha */
            alpha =
                ((sm_a + sm_b) / 2.0) * (1.0 + (Math.pow(n, 2.0) / 4.0) + (Math.pow(n, 4.0) / 64.0));

            /* Precalculate beta */
            beta =
                (-3.0 * n / 2.0) + (9.0 * Math.pow(n, 3.0) / 16.0) + (-3.0 * Math.pow(n, 5.0) / 32.0);

            /* Precalculate gamma */
            gamma = (15.0 * Math.pow(n, 2.0) / 16.0) + (-15.0 * Math.pow(n, 4.0) / 32.0);

            /* Precalculate delta */
            delta = (-35.0 * Math.pow(n, 3.0) / 48.0) + (105.0 * Math.pow(n, 5.0) / 256.0);

            /* Precalculate epsilon */
            epsilon = (315.0 * Math.pow(n, 4.0) / 512.0);

            /* Now calculate the sum of the series and return */
            result = alpha * (phi + (beta * Math.sin(2.0 * phi)) + (gamma * Math.sin(4.0 * phi)) +
                              (delta * Math.sin(6.0 * phi)) + (epsilon * Math.sin(8.0 * phi)));

            return result;
        }



        /*
        * UTMCentralMeridian
        *
        * Determines the central meridian for the given UTM zone.
        *
        * Inputs:
        *     zone - An integer value designating the UTM zone, range [1,60].
        *
        * Returns:
        *   The central meridian for the given UTM zone, in radians, or zero
        *   if the UTM zone parameter is outside the range [1,60].
        *   Range of the central meridian is the radian equivalent of [-177,+177].
        *
        */
        function UTMCentralMeridian(zone) {
            var cmeridian;

            cmeridian = DegToRad(-183.0 + (zone * 6.0));

            return cmeridian;
        }



        /*
        * FootpointLatitude
        *
        * Computes the footpoint latitude for use in converting transverse
        * Mercator coordinates to ellipsoidal coordinates.
        *
        * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J.,
        *   GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994.
        *
        * Inputs:
        *   y - The UTM northing coordinate, in meters.
        *
        * Returns:
        *   The footpoint latitude, in radians.
        *
        */
        function FootpointLatitude(y) {
            var y_, alpha_, beta_, gamma_, delta_, epsilon_, n;
            var result;

            /* Precalculate n (Eq. 10.18) */
            n = (sm_a - sm_b) / (sm_a + sm_b);

            /* Precalculate alpha_ (Eq. 10.22) */
            /* (Same as alpha in Eq. 10.17) */
            alpha_ = ((sm_a + sm_b) / 2.0) * (1 + (Math.pow(n, 2.0) / 4) + (Math.pow(n, 4.0) / 64));

            /* Precalculate y_ (Eq. 10.23) */
            y_ = y / alpha_;

            /* Precalculate beta_ (Eq. 10.22) */
            beta_ = (3.0 * n / 2.0) + (-27.0 * Math.pow(n, 3.0) / 32.0) +
                    (269.0 * Math.pow(n, 5.0) / 512.0);

            /* Precalculate gamma_ (Eq. 10.22) */
            gamma_ = (21.0 * Math.pow(n, 2.0) / 16.0) + (-55.0 * Math.pow(n, 4.0) / 32.0);

            /* Precalculate delta_ (Eq. 10.22) */
            delta_ = (151.0 * Math.pow(n, 3.0) / 96.0) + (-417.0 * Math.pow(n, 5.0) / 128.0);

            /* Precalculate epsilon_ (Eq. 10.22) */
            epsilon_ = (1097.0 * Math.pow(n, 4.0) / 512.0);

            /* Now calculate the sum of the series (Eq. 10.21) */
            result = y_ + (beta_ * Math.sin(2.0 * y_)) + (gamma_ * Math.sin(4.0 * y_)) +
                     (delta_ * Math.sin(6.0 * y_)) + (epsilon_ * Math.sin(8.0 * y_));

            return result;
        }



        /*
        * MapLatLonToXY
        *
        * Converts a latitude/longitude pair to x and y coordinates in the
        * Transverse Mercator projection.  Note that Transverse Mercator is not
        * the same as UTM; a scale factor is required to convert between them.
        *
        * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J.,
        * GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994.
        *
        * Inputs:
        *    phi - Latitude of the point, in radians.
        *    lambda - Longitude of the point, in radians.
        *    lambda0 - Longitude of the central meridian to be used, in radians.
        *
        * Outputs:
        *    xy - A 2-element array containing the x and y coordinates
        *         of the computed point.
        *
        * Returns:
        *    The function does not return a value.
        *
        */
        function MapLatLonToXY(phi, lambda, lambda0, xy) {
            var N, nu2, ep2, t, t2, l;
            var l3coef, l4coef, l5coef, l6coef, l7coef, l8coef;
            var tmp;

            /* Precalculate ep2 */
            ep2 = (Math.pow(sm_a, 2.0) - Math.pow(sm_b, 2.0)) / Math.pow(sm_b, 2.0);

            /* Precalculate nu2 */
            nu2 = ep2 * Math.pow(Math.cos(phi), 2.0);

            /* Precalculate N */
            N = Math.pow(sm_a, 2.0) / (sm_b * Math.sqrt(1 + nu2));

            /* Precalculate t */
            t = Math.tan(phi);
            t2 = t * t;
            tmp = (t2 * t2 * t2) - Math.pow(t, 6.0);

            /* Precalculate l */
            l = lambda - lambda0;

            /* Precalculate coefficients for l**n in the equations below
               so a normal human being can read the expressions for easting
               and northing
               -- l**1 and l**2 have coefficients of 1.0 */
            l3coef = 1.0 - t2 + nu2;

            l4coef = 5.0 - t2 + 9 * nu2 + 4.0 * (nu2 * nu2);

            l5coef = 5.0 - 18.0 * t2 + (t2 * t2) + 14.0 * nu2 - 58.0 * t2 * nu2;

            l6coef = 61.0 - 58.0 * t2 + (t2 * t2) + 270.0 * nu2 - 330.0 * t2 * nu2;

            l7coef = 61.0 - 479.0 * t2 + 179.0 * (t2 * t2) - (t2 * t2 * t2);

            l8coef = 1385.0 - 3111.0 * t2 + 543.0 * (t2 * t2) - (t2 * t2 * t2);

            /* Calculate easting (x) */
            xy[0] = N * Math.cos(phi) * l +
                    (N / 6.0 * Math.pow(Math.cos(phi), 3.0) * l3coef * Math.pow(l, 3.0)) +
                    (N / 120.0 * Math.pow(Math.cos(phi), 5.0) * l5coef * Math.pow(l, 5.0)) +
                    (N / 5040.0 * Math.pow(Math.cos(phi), 7.0) * l7coef * Math.pow(l, 7.0));

            /* Calculate northing (y) */
            xy[1] = ArcLengthOfMeridian(phi) +
                    (t / 2.0 * N * Math.pow(Math.cos(phi), 2.0) * Math.pow(l, 2.0)) +
                    (t / 24.0 * N * Math.pow(Math.cos(phi), 4.0) * l4coef * Math.pow(l, 4.0)) +
                    (t / 720.0 * N * Math.pow(Math.cos(phi), 6.0) * l6coef * Math.pow(l, 6.0)) +
                    (t / 40320.0 * N * Math.pow(Math.cos(phi), 8.0) * l8coef * Math.pow(l, 8.0));

            return;
        }



        /*
        * MapXYToLatLon
        *
        * Converts x and y coordinates in the Transverse Mercator projection to
        * a latitude/longitude pair.  Note that Transverse Mercator is not
        * the same as UTM; a scale factor is required to convert between them.
        *
        * Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J.,
        *   GPS: Theory and Practice, 3rd ed.  New York: Springer-Verlag Wien, 1994.
        *
        * Inputs:
        *   x - The easting of the point, in meters.
        *   y - The northing of the point, in meters.
        *   lambda0 - Longitude of the central meridian to be used, in radians.
        *
        * Outputs:
        *   philambda - A 2-element containing the latitude and longitude
        *               in radians.
        *
        * Returns:
        *   The function does not return a value.
        *
        * Remarks:
        *   The local variables Nf, nuf2, tf, and tf2 serve the same purpose as
        *   N, nu2, t, and t2 in MapLatLonToXY, but they are computed with respect
        *   to the footpoint latitude phif.
        *
        *   x1frac, x2frac, x2poly, x3poly, etc. are to enhance readability and
        *   to optimize computations.
        *
        */
        function MapXYToLatLon(x, y, lambda0, philambda) {
            var phif, Nf, Nfpow, nuf2, ep2, tf, tf2, tf4, cf;
            var x1frac, x2frac, x3frac, x4frac, x5frac, x6frac, x7frac, x8frac;
            var x2poly, x3poly, x4poly, x5poly, x6poly, x7poly, x8poly;

            /* Get the value of phif, the footpoint latitude. */
            phif = FootpointLatitude(y);

            /* Precalculate ep2 */
            ep2 = (Math.pow(sm_a, 2.0) - Math.pow(sm_b, 2.0)) / Math.pow(sm_b, 2.0);

            /* Precalculate cos (phif) */
            cf = Math.cos(phif);

            /* Precalculate nuf2 */
            nuf2 = ep2 * Math.pow(cf, 2.0);

            /* Precalculate Nf and initialize Nfpow */
            Nf = Math.pow(sm_a, 2.0) / (sm_b * Math.sqrt(1 + nuf2));
            Nfpow = Nf;

            /* Precalculate tf */
            tf = Math.tan(phif);
            tf2 = tf * tf;
            tf4 = tf2 * tf2;

            /* Precalculate fractional coefficients for x**n in the equations
               below to simplify the expressions for latitude and longitude. */
            x1frac = 1.0 / (Nfpow * cf);

            Nfpow *= Nf; /* now equals Nf**2) */
            x2frac = tf / (2.0 * Nfpow);

            Nfpow *= Nf; /* now equals Nf**3) */
            x3frac = 1.0 / (6.0 * Nfpow * cf);

            Nfpow *= Nf; /* now equals Nf**4) */
            x4frac = tf / (24.0 * Nfpow);

            Nfpow *= Nf; /* now equals Nf**5) */
            x5frac = 1.0 / (120.0 * Nfpow * cf);

            Nfpow *= Nf; /* now equals Nf**6) */
            x6frac = tf / (720.0 * Nfpow);

            Nfpow *= Nf; /* now equals Nf**7) */
            x7frac = 1.0 / (5040.0 * Nfpow * cf);

            Nfpow *= Nf; /* now equals Nf**8) */
            x8frac = tf / (40320.0 * Nfpow);

            /* Precalculate polynomial coefficients for x**n.
               -- x**1 does not have a polynomial coefficient. */
            x2poly = -1.0 - nuf2;

            x3poly = -1.0 - 2 * tf2 - nuf2;

            x4poly = 5.0 + 3.0 * tf2 + 6.0 * nuf2 - 6.0 * tf2 * nuf2 - 3.0 * (nuf2 * nuf2) -
                     9.0 * tf2 * (nuf2 * nuf2);

            x5poly = 5.0 + 28.0 * tf2 + 24.0 * tf4 + 6.0 * nuf2 + 8.0 * tf2 * nuf2;

            x6poly = -61.0 - 90.0 * tf2 - 45.0 * tf4 - 107.0 * nuf2 + 162.0 * tf2 * nuf2;

            x7poly = -61.0 - 662.0 * tf2 - 1320.0 * tf4 - 720.0 * (tf4 * tf2);

            x8poly = 1385.0 + 3633.0 * tf2 + 4095.0 * tf4 + 1575 * (tf4 * tf2);

            /* Calculate latitude */
            philambda[0] = phif + x2frac * x2poly * (x * x) + x4frac * x4poly * Math.pow(x, 4.0) +
                           x6frac * x6poly * Math.pow(x, 6.0) + x8frac * x8poly * Math.pow(x, 8.0);

            /* Calculate longitude */
            philambda[1] = lambda0 + x1frac * x + x3frac * x3poly * Math.pow(x, 3.0) +
                           x5frac * x5poly * Math.pow(x, 5.0) + x7frac * x7poly * Math.pow(x, 7.0);

            return;
        }



        /*
        * LatLonToUTMXY
        *
        * Converts a latitude/longitude pair to x and y coordinates in the
        * Universal Transverse Mercator projection.
        *
        * Inputs:
        *   lat - Latitude of the point, in radians.
        *   lon - Longitude of the point, in radians.
        *   zone - UTM zone to be used for calculating values for x and y.
        *          If zone is less than 1 or greater than 60, the routine
        *          will determine the appropriate zone from the value of lon.
        *
        * Outputs:
        *   xy - A 2-element array where the UTM x and y values will be stored.
        *
        * Returns:
        *   The UTM zone used for calculating the values of x and y.
        *
        */
        function LatLonToUTMXY(lat, lon, zone, xy) {
            MapLatLonToXY(lat, lon, UTMCentralMeridian(zone), xy);

            /* Adjust easting and northing for UTM system. */
            xy[0] = xy[0] * UTMScaleFactor + 500000.0;
            xy[1] = xy[1] * UTMScaleFactor;
            if (xy[1] < 0.0) xy[1] = xy[1] + 10000000.0;

            return zone;
        }



        /*
        * UTMXYToLatLon
        *
        * Converts x and y coordinates in the Universal Transverse Mercator
        * projection to a latitude/longitude pair.
        *
        * Inputs:
        *   x - The easting of the point, in meters.
        *   y - The northing of the point, in meters.
        *   zone - The UTM zone in which the point lies.
        *   southhemi - True if the point is in the southern hemisphere;
        *               false otherwise.
        *
        * Outputs:
        *   latlon - A 2-element array containing the latitude and
        *            longitude of the point, in radians.
        *
        * Returns:
        *   The function does not return a value.
        *
        */
        function UTMXYToLatLon(x, y, zone, southhemi, latlon) {
            var cmeridian;

            x -= 500000.0;
            x /= UTMScaleFactor;

            /* If in southern hemisphere, adjust y accordingly. */
            if (southhemi) y -= 10000000.0;

            y /= UTMScaleFactor;

            cmeridian = UTMCentralMeridian(zone);
            MapXYToLatLon(x, y, cmeridian, latlon);

            return;
        }

        /*eslint-enable */
        // Original code until here
        ////////////////////////////


        var bands = 'CDEFGHJKLMNPQRSTUVWX';
        var nBandIdx = bands.indexOf('N');

        function calcBand(lat) {
            if (lat < -80.0 || lat > 84.0) return ''
            var bandIdx = Math.floor((lat + 80.0) / 8);
            return bands.charAt(bandIdx) || 'X'; // cover extra X band
        }

        function calcZone(band, lon) {
            var zone = Math.floor((lon + 180.0) / 6) + 1;
            if (lon == 180.0) zone = 60;

            if (band === 'V' && lon > 3.0 && lon < 7.0) {
                // Norway exception:
                zone = 32;
            } else if (band === 'X') {
                // Special zones for Svalbard
                if (lon >= 0.0 && lon < 9.0) {
                    zone = 31;
                }
                else if (lon >= 9.0 && lon < 21.0) {
                    zone = 33;
                }
                else if (lon >= 21.0 && lon < 33.0) {
                    zone = 35;
                }
                else if (lon >= 33.0 && lon < 42.0) {
                    zone = 37;
                }
            }
            return zone;
        }

        function UTM2LatLon(utm) {
            if (utm.southHemi === undefined && utm.band === undefined) {
                throw 'Undefined hemisphere in ' + utm.toString();
            }
            var southHemi = utm.southHemi;
            var band = utm.band;
            if (band && band.length == 1
                && bands.indexOf(band.toUpperCase()) >= 0) {
                southHemi = bands.indexOf(band.toUpperCase()) < nBandIdx;
            }

            var latlon = new Array(2);
            UTMXYToLatLon(utm.x, utm.y, utm.zone, southHemi, latlon);
            if (Math.abs(latlon[0]) > pi/2) return null;
            return {lat: RadToDeg(latlon[0]), lng: RadToDeg(latlon[1])};
        }

        function LatLon2UTM(lat, lon, zone, southHemi) {
            function wrapLon(x) {
                // don't use L.Util.wrapNum to be 0.7 compatible
                var max = 180,
                    min = -180,
                    d = max - min;
                return x === max ? x : ((x - min) % d + d) % d + min;
            }

            lon = wrapLon(lon);
            var band = calcBand(lat);
            zone = zone || calcZone(band, lon);
            southHemi = (southHemi === undefined || southHemi === null) ?
                lat < 0 : southHemi;

            var xy = new Array(2);
            zone = LatLonToUTMXY(DegToRad(lat), DegToRad(lon), zone, xy);
            // This is the object returned
            var ret = {
                x: xy[0],
                y: xy[1],
                zone: zone,
                band: band,
                southHemi: southHemi
            };
            return ret;
        }

        return {
            LatLon2UTM: LatLon2UTM,
            UTM2LatLon: UTM2LatLon,
        };
    }

})(L);
   /* Ende L.LatLng.UTM */
   /* Start Control.FullScreen */
   /* --GSBDocStart
 * @name: leaflet 
 * @version: 1.9.4 
 * @repository: https://github.com/Leaflet/Leaflet 
 * @description: JavaScript library for mobile-friendly interactive maps 
 * @licenses: BSD-2-Clause 
 * --GSBDocEnd
*/
/*
 * leaflet.fullscreen
 * (c) Bruno B.; MIT License
 * Uses fragments from the package 'screenfull'
 */
(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    // define an AMD module that requires 'leaflet'
    // and resolve to an object containing leaflet
    define('leafletFullScreen', ['leaflet'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // define a CommonJS module that requires 'leaflet'
    module.exports = factory(require('leaflet'));
  } else {
    // Assume 'leaflet' are loaded into global variable already
    factory(root.L);
  }
}(typeof self !== 'undefined'
  ? self
  : this, (leaflet) => {
  'use strict';

  if (typeof document === 'undefined') {
    console.warn('"window.document" is undefined; leaflet.fullscreen requires this object to access the DOM');
    return false;
  }

  const nativeAPI = (() => {
    const methodMap = [
      // Standard
      [
        'requestFullscreen',
        'exitFullscreen',
        'fullscreenElement',
        'fullscreenEnabled',
        'fullscreenchange',
        'fullscreenerror'
      ],
      // New WebKit
      [
        'webkitRequestFullscreen',
        'webkitExitFullscreen',
        'webkitFullscreenElement',
        'webkitFullscreenEnabled',
        'webkitfullscreenchange',
        'webkitfullscreenerror'
      ]
    ];

    const baseList = methodMap[0];
    const ret = {};

    for (const methodList of methodMap) {
      if (methodList[1] in document) {
        for (let i = 0; i < methodList.length; i++) {
          ret[baseList[i]] = methodList[i];
        }
        return ret;
      }
    }

    return false;
  })();

  const eventNameMap = {
    change: nativeAPI.fullscreenchange,
    error: nativeAPI.fullscreenerror,
  };

  const fullscreenAPI = {
    request(element, options) {
      return new Promise((resolve, reject) => {
        const onFullScreenEntered = function () {
          this.off('change', onFullScreenEntered);
          resolve();
        }.bind(this);

        this.on('change', onFullScreenEntered);
        element = element || document.documentElement;
        const returnPromise = element[nativeAPI.requestFullscreen](options);
        if (returnPromise instanceof Promise) {
          returnPromise.then(onFullScreenEntered).catch(reject);
        }
      });
    },
    exit() {
      return new Promise((resolve, reject) => {
        if (!this.isFullscreen) {
          resolve();
          return;
        }

        const onFullScreenExit = function () {
          this.off('change', onFullScreenExit);
          resolve();
        }.bind(this);

        this.on('change', onFullScreenExit);
        const returnPromise = document[nativeAPI.exitFullscreen]();
        if (returnPromise instanceof Promise) {
          returnPromise.then(onFullScreenExit).catch(reject);
        }
      });
    },
    on(event, callback) {
      const eventName = eventNameMap[event];
      if (eventName) {
        document.addEventListener(eventName, callback, false);
      }
    },
    off(event, callback) {
      const eventName = eventNameMap[event];
      if (eventName) {
        document.removeEventListener(eventName, callback, false);
      }
    },
    nativeAPI: nativeAPI
  };

  Object.defineProperties(fullscreenAPI, {
    isFullscreen: {
      get() {
        return Boolean(document[nativeAPI.fullscreenElement]);
      }
    },
    isEnabled: {
      enumerable: true,
      get() {
        // Coerce to boolean in case of old WebKit
        return Boolean(document[nativeAPI.fullscreenEnabled]);
      }
    }
  });

  leaflet.Control.FullScreen = leaflet.Control.extend({
    options: {
      position: 'topleft',
      title: 'Full Screen',
      titleCancel: 'Exit Full Screen',
      forceSeparateButton: false,
      forcePseudoFullscreen: false,
      fullscreenElement: false
    },

    _screenfull: fullscreenAPI,

    onAdd(map) {
      let className = 'leaflet-control-zoom-fullscreen';
      let container;
      let content = '';

      if (map.zoomControl && !this.options.forceSeparateButton) {
        container = map.zoomControl._container;
      } else {
        container = leaflet.DomUtil.create('div', 'leaflet-bar');
      }

      if (this.options.content) {
        content = this.options.content;
      } else {
        className += ' fullscreen-icon';
      }

      this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this);
      this._map.fullscreenControl = this;

      this._map.on('enterFullscreen exitFullscreen', this._toggleState, this);

      return container;
    },

    onRemove() {
      leaflet.DomEvent
        .off(this.link, 'click', leaflet.DomEvent.stop)
        .off(this.link, 'click', this.toggleFullScreen, this);

      if (this._screenfull.isEnabled) {
        leaflet.DomEvent
          .off(this._container, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop)
          .off(this._container, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, this);

        leaflet.DomEvent
          .off(document, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop)
          .off(document, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, this);
      }
    },

    _createButton(title, className, content, container, fn, context) {
      this.link = leaflet.DomUtil.create('a', className, container);
      this.link.href = '#';
      this.link.title = title;
      this.link.innerHTML = content;

      this.link.setAttribute('role', 'button');
      this.link.setAttribute('aria-label', title);

      L.DomEvent.disableClickPropagation(container);

      leaflet.DomEvent
        .on(this.link, 'click', leaflet.DomEvent.stop)
        .on(this.link, 'click', fn, context);

      if (this._screenfull.isEnabled) {
        leaflet.DomEvent
          .on(container, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop)
          .on(container, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, context);

        leaflet.DomEvent
          .on(document, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop)
          .on(document, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, context);
      }

      return this.link;
    },

    toggleFullScreen() {
      const map = this._map;
      map._exitFired = false;
      if (map._isFullscreen) {
        if (this._screenfull.isEnabled && !this.options.forcePseudoFullscreen) {
          this._screenfull.exit().then(() => map.invalidateSize());
        } else {
          leaflet.DomUtil.removeClass(this.options.fullscreenElement
            ? this.options.fullscreenElement
            : map._container, 'leaflet-pseudo-fullscreen');
          map.invalidateSize();
        }
        map.fire('exitFullscreen');
        map._exitFired = true;
        map._isFullscreen = false;
      } else {
        if (this._screenfull.isEnabled && !this.options.forcePseudoFullscreen) {
          this._screenfull.request(this.options.fullscreenElement
            ? this.options.fullscreenElement
            : map._container).then(() => map.invalidateSize());
        } else {
          leaflet.DomUtil.addClass(this.options.fullscreenElement
            ? this.options.fullscreenElement
            : map._container, 'leaflet-pseudo-fullscreen');
          map.invalidateSize();
        }
        map.fire('enterFullscreen');
        map._isFullscreen = true;
      }
    },

    _toggleState() {
      this.link.title = this._map._isFullscreen
        ? this.options.title
        : this.options.titleCancel;
      this._map._isFullscreen
        ? L.DomUtil.removeClass(this.link, 'leaflet-fullscreen-on')
        : L.DomUtil.addClass(this.link, 'leaflet-fullscreen-on');
    },

    _handleFullscreenChange(ev) {
      const map = this._map;
      if (ev.target === map.getContainer() && !this._screenfull.isFullscreen && !map._exitFired) {
        this._screenfull.exit().then(() => map.invalidateSize());
        map.fire('exitFullscreen');
        map._exitFired = true;
        map._isFullscreen = false;
      }
    }
  });

  leaflet.Map.include({
    toggleFullscreen() {
      this.fullscreenControl.toggleFullScreen();
    }
  });

  leaflet.Map.addInitHook(function () {
    if (this.options.fullscreenControl) {
      this.addControl(leaflet.control.fullscreen(this.options.fullscreenControlOptions));
    }
  });

  leaflet.control.fullscreen = function (options) {
    return new leaflet.Control.FullScreen(options);
  };

  return { leaflet };
}));
   /* Ende Control.FullScreen */
   /* Start leaflet-gesture-handling */
   (function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
    typeof define === 'function' && define.amd ? define('leafletGestureHandling', ['exports'], factory) :
    (factory((global.leafletGestureHandling = {})));
}(this, (function (exports) { 'use strict';

    var LanguageContent = {
        //Arabic
        ar: {
            touch: "\u0627\u0633\u062a\u062e\u062f\u0645 \u0625\u0635\u0628\u0639\u064a\u0646 \u0644\u062a\u062d\u0631\u064a\u0643 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
            scroll: "\u200f\u0627\u0633\u062a\u062e\u062f\u0645 ctrl + scroll \u0644\u062a\u0635\u063a\u064a\u0631/\u062a\u0643\u0628\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
            scrollMac: "\u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u2318 + \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u0644\u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629"
        },
        //Bulgarian
        bg: {
            touch: "\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0434\u0432\u0430 \u043f\u0440\u044a\u0441\u0442\u0430, \u0437\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
            scroll: "\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 Ctrl \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
            scrollMac: "\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 \u2318 \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430"
        },
        //Bengali
        bn: {
            touch: "\u09ae\u09be\u09a8\u099a\u09bf\u09a4\u09cd\u09b0\u099f\u09bf\u0995\u09c7 \u09b8\u09b0\u09be\u09a4\u09c7 \u09a6\u09c1\u099f\u09bf \u0986\u0999\u09cd\u0997\u09c1\u09b2 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
            scroll: "\u09ae\u09cd\u09af\u09be\u09aa \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 ctrl + scroll \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
            scrollMac: "\u09ae\u09cd\u09af\u09be\u09aa\u09c7 \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 \u2318 \u09ac\u09cb\u09a4\u09be\u09ae \u099f\u09bf\u09aa\u09c7 \u09b8\u09cd\u0995\u09cd\u09b0\u09b2 \u0995\u09b0\u09c1\u09a8"
        },
        //Catalan
        ca: {
            touch: "Fes servir dos dits per moure el mapa",
            scroll: "Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",
            scrollMac: "Prem la tecla \u2318 mentre et desplaces per apropar i allunyar el mapa"
        },
        //Czech
        cs: {
            touch: "K\u00a0posunut\u00ed mapy pou\u017eijte dva prsty",
            scroll: "Velikost zobrazen\u00ed mapy zm\u011b\u0148te podr\u017een\u00edm kl\u00e1vesy Ctrl a\u00a0posouv\u00e1n\u00edm kole\u010dka my\u0161i",
            scrollMac: "Velikost zobrazen\u00ed mapy zm\u011bn\u00edte podr\u017een\u00edm kl\u00e1vesy \u2318 a\u00a0posunut\u00edm kole\u010dka my\u0161i / touchpadu"
        },
        //Danish
        da: {
            touch: "Brug to fingre til at flytte kortet",
            scroll: "Brug ctrl + rullefunktionen til at zoome ind og ud p\u00e5 kortet",
            scrollMac: "Brug \u2318 + rullefunktionen til at zoome ind og ud p\u00e5 kortet"
        },
        //German
        de: {
            touch: LEAFLET_GESTURE_HANDLING_TOUCH,
            scroll: LEAFLET_GESTURE_HANDLING,
            scrollMac: "\u2318"
        },
        //Greek
        el: {
            touch: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03b4\u03cd\u03bf \u03b4\u03ac\u03c7\u03c4\u03c5\u03bb\u03b1 \u03b3\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
            scroll: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf Ctrl \u03ba\u03b1\u03b9 \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7, \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03b5\u03b3\u03b5\u03b8\u03cd\u03bd\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
            scrollMac: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf \u2318 + \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03b5\u03c3\u03c4\u03af\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7"
        },
        //English
        en: {
            touch: LEAFLET_GESTURE_HANDLING_TOUCH,
            scroll: LEAFLET_GESTURE_HANDLING,
            scrollMac: "Use \u2318 + scroll to zoom the map"
        },
        //English (Australian)
        "en-AU": {
            touch: LEAFLET_GESTURE_HANDLING_TOUCH,
            scroll: LEAFLET_GESTURE_HANDLING,
            scrollMac: "Use \u2318 + scroll to zoom the map"
        },
        //English (Great Britain)
        "en-GB": {
            touch: LEAFLET_GESTURE_HANDLING_TOUCH,
            scroll: LEAFLET_GESTURE_HANDLING,
            scrollMac: "Use \u2318 + scroll to zoom the map"
        },
        //Spanish
        es: {
            touch: "Para mover el mapa, utiliza dos dedos",
            scroll: "Mant\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",
            scrollMac: "Mant\u00e9n pulsada la tecla \u2318 mientras te desplazas para acercar o alejar el mapa"
        },
        //Basque
        eu: {
            touch: "Erabili bi hatz mapa mugitzeko",
            scroll: "Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",
            scrollMac: "Eduki sakatuta \u2318 eta egin gora eta behera mapa handitu eta txikitzeko"
        },
        //Farsi
        fa: {
            touch: "\u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0646\u0642\u0634\u0647 \u0627\u0632 \u062f\u0648 \u0627\u0646\u06af\u0634\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.",
            scroll: "\u200f\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647 \u0627\u0632 ctrl + scroll \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f",
            scrollMac: "\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647\u060c \u0627\u0632 \u2318 + \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f."
        },
        //Finnish
        fi: {
            touch: "Siirr\u00e4 karttaa kahdella sormella.",
            scroll: "Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\u00e4m\u00e4ll\u00e4.",
            scrollMac: "Zoomaa karttaa pit\u00e4m\u00e4ll\u00e4 painike \u2318 painettuna ja vieritt\u00e4m\u00e4ll\u00e4."
        },
        //Filipino
        fil: {
            touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
            scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
            scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
        },
        //French
        fr: {
            touch: "Utilisez deux\u00a0doigts pour d\u00e9placer la carte",
            scroll: "Vous pouvez zoomer sur la carte \u00e0 l'aide de CTRL+Molette de d\u00e9filement",
            scrollMac: "Vous pouvez zoomer sur la carte \u00e0 l'aide de \u2318+Molette de d\u00e9filement"
        },
        //Galician
        gl: {
            touch: "Utiliza dous dedos para mover o mapa",
            scroll: "Preme Ctrl mentres te desprazas para ampliar o mapa",
            scrollMac: "Preme \u2318 e despr\u00e1zate para ampliar o mapa"
        },
        //Gujarati
        gu: {
            touch: "\u0aa8\u0a95\u0ab6\u0acb \u0a96\u0ab8\u0ac7\u0aa1\u0ab5\u0abe \u0aac\u0ac7 \u0a86\u0a82\u0a97\u0ab3\u0ac0\u0a93\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
            scroll: "\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 ctrl + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
            scrollMac: "\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u2318 + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb"
        },
        //Hindi
        hi: {
            touch: "\u092e\u0948\u092a \u090f\u0915 \u091c\u0917\u0939 \u0938\u0947 \u0926\u0942\u0938\u0930\u0940 \u091c\u0917\u0939 \u0932\u0947 \u091c\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0926\u094b \u0909\u0902\u0917\u0932\u093f\u092f\u094b\u0902 \u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930\u0947\u0902",
            scroll: "\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f ctrl + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902",
            scrollMac: "\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902"
        },
        //Croatian
        hr: {
            touch: "Pomi\u010dite kartu pomo\u0107u dva prsta",
            scroll: "Upotrijebite Ctrl i kliza\u010d mi\u0161a da biste zumirali kartu",
            scrollMac: "Upotrijebite gumb \u2318 dok se pomi\u010dete za zumiranje karte"
        },
        //Hungarian
        hu: {
            touch: "K\u00e9t ujjal mozgassa a t\u00e9rk\u00e9pet",
            scroll: "A t\u00e9rk\u00e9p a ctrl + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3",
            scrollMac: "A t\u00e9rk\u00e9p a \u2318 + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3"
        },
        //Indonesian
        id: {
            touch: "Gunakan dua jari untuk menggerakkan peta",
            scroll: "Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",
            scrollMac: "Gunakan \u2318 + scroll untuk memperbesar atau memperkecil peta"
        },
        //Italian
        it: {
            touch: "Utilizza due dita per spostare la mappa",
            scroll: "Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",
            scrollMac: "Utilizza \u2318 + scorrimento per eseguire lo zoom della mappa"
        },
        //Hebrew
        iw: {
            touch: "\u05d4\u05d6\u05d6 \u05d0\u05ea \u05d4\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e9\u05ea\u05d9 \u05d0\u05e6\u05d1\u05e2\u05d5\u05ea",
            scroll: "\u200f\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 ctrl \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4",
            scrollMac: "\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 \u2318 \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4"
        },
        //Japanese
        ja: {
            touch: "\u5730\u56f3\u3092\u79fb\u52d5\u3055\u305b\u308b\u306b\u306f\u6307 2 \u672c\u3067\u64cd\u4f5c\u3057\u307e\u3059",
            scroll: "\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001Ctrl \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044",
            scrollMac: "\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001\u2318 \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044"
        },
        //Kannada
        kn: {
            touch: "Use two fingers to move the map",
            scroll: "Use Ctrl + scroll to zoom the map",
            scrollMac: "Use ⌘ + scroll to zoom the map"
        },
        //Korean
        ko: {
            touch: "\uc9c0\ub3c4\ub97c \uc6c0\uc9c1\uc774\ub824\uba74 \ub450 \uc190\uac00\ub77d\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.",
            scroll: "\uc9c0\ub3c4\ub97c \ud655\ub300/\ucd95\uc18c\ud558\ub824\uba74 Ctrl\uc744 \ub204\ub978 \ucc44 \uc2a4\ud06c\ub864\ud558\uc138\uc694.",
            scrollMac: "\uc9c0\ub3c4\ub97c \ud655\ub300\ud558\ub824\uba74 \u2318 + \uc2a4\ud06c\ub864 \uc0ac\uc6a9"
        },
        //Lithuanian
        lt: {
            touch: "Perkelkite \u017eem\u0117lap\u012f dviem pir\u0161tais",
            scroll: "Slinkite nuspaud\u0119 klavi\u0161\u0105 \u201eCtrl\u201c, kad pakeistum\u0117te \u017eem\u0117lapio mastel\u012f",
            scrollMac: "Paspauskite klavi\u0161\u0105 \u2318 ir slinkite, kad priartintum\u0117te \u017eem\u0117lap\u012f"
        },
        //Latvian
        lv: {
            touch: "Lai p\u0101rvietotu karti, b\u012bdiet to ar diviem pirkstiem",
            scroll: "Kartes t\u0101lummai\u0146ai izmantojiet ctrl + ritin\u0101\u0161anu",
            scrollMac: "Lai veiktu kartes t\u0101lummai\u0146u, izmantojiet \u2318 + ritin\u0101\u0161anu"
        },
        //Malayalam
        ml: {
            touch: "\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d30\u0d23\u0d4d\u0d1f\u0d4d \u0d35\u0d3f\u0d30\u0d32\u0d41\u0d15\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
            scroll: "\u0d15\u0d7a\u0d1f\u0d4d\u0d30\u0d4b\u0d7e + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
            scrollMac: "\u2318 + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
        },
        //Marathi
        mr: {
            touch: "\u0928\u0915\u093e\u0936\u093e \u0939\u0932\u0935\u093f\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0926\u094b\u0928 \u092c\u094b\u091f\u0947 \u0935\u093e\u092a\u0930\u093e",
            scroll: "\u0928\u0915\u093e\u0936\u093e \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 ctrl + scroll \u0935\u093e\u092a\u0930\u093e",
            scrollMac: "\u0928\u0915\u093e\u0936\u093e\u0935\u0930 \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0935\u093e\u092a\u0930\u093e"
        },
        //Dutch
        nl: {
            touch: "Gebruik twee vingers om de kaart te verplaatsen",
            scroll: "Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",
            scrollMac: "Gebruik \u2318 + scrollen om in en uit te zoomen op de kaart"
        },
        //Norwegian
        no: {
            touch: "Bruk to fingre for \u00e5 flytte kartet",
            scroll: "Hold ctrl-tasten inne og rull for \u00e5 zoome p\u00e5 kartet",
            scrollMac: "Hold inne \u2318-tasten og rull for \u00e5 zoome p\u00e5 kartet"
        },
        //Polish
        pl: {
            touch: "Przesu\u0144 map\u0119 dwoma palcami",
            scroll: "Naci\u015bnij CTRL i przewi\u0144, by przybli\u017cy\u0107 map\u0119",
            scrollMac: "Naci\u015bnij\u00a0\u2318 i przewi\u0144, by przybli\u017cy\u0107 map\u0119"
        },
        //Portuguese
        pt: {
            touch: "Use dois dedos para mover o mapa",
            scroll: "Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
            scrollMac: "Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
        },
        //Portuguese (Brazil)
        "pt-BR": {
            touch: "Use dois dedos para mover o mapa",
            scroll: "Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
            scrollMac: "Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
        },
        //Portuguese (Portugal
        "pt-PT": {
            touch: "Utilize dois dedos para mover o mapa",
            scroll: "Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",
            scrollMac: "Utilize \u2318 + deslocar para aumentar/diminuir o zoom do mapa"
        },
        //Romanian
        ro: {
            touch: "Folosi\u021bi dou\u0103 degete pentru a deplasa harta",
            scroll: "Ap\u0103sa\u021bi tasta ctrl \u0219i derula\u021bi simultan pentru a m\u0103ri harta",
            scrollMac: "Folosi\u021bi \u2318 \u0219i derula\u021bi pentru a m\u0103ri/mic\u0219ora harta"
        },
        //Russian
        ru: {
            touch: "\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443, \u043f\u0440\u043e\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e \u043d\u0435\u0439 \u0434\u0432\u0443\u043c\u044f \u043f\u0430\u043b\u044c\u0446\u0430\u043c\u0438",
            scroll: "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443, \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0443 Ctrl.",
            scrollMac: "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u2318\u00a0+ \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430"
        },
        //Slovak
        sk: {
            touch: "Mapu m\u00f4\u017eete posun\u00fa\u0165 dvoma prstami",
            scroll: "Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves ctrl a\u00a0pos\u00favajte",
            scrollMac: "Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves \u2318 a\u00a0pos\u00favajte kolieskom my\u0161i"
        },
        //Slovenian
        sl: {
            touch: "Premaknite zemljevid z dvema prstoma",
            scroll: "Zemljevid pove\u010date tako, da dr\u017eite tipko Ctrl in vrtite kolesce na mi\u0161ki",
            scrollMac: "Uporabite \u2318 + funkcijo pomika, da pove\u010date ali pomanj\u0161ate zemljevid"
        },
        //Serbian
        sr: {
            touch: "\u041c\u0430\u043f\u0443 \u043f\u043e\u043c\u0435\u0440\u0430\u0458\u0442\u0435 \u043f\u043e\u043c\u043e\u045b\u0443 \u0434\u0432\u0430 \u043f\u0440\u0441\u0442\u0430",
            scroll: "\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 ctrl \u0442\u0430\u0441\u0442\u0435\u0440 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443",
            scrollMac: "\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 \u0442\u0430\u0441\u0442\u0435\u0440 \u2318 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443"
        },
        //Swedish
        sv: {
            touch: "Anv\u00e4nd tv\u00e5 fingrar f\u00f6r att flytta kartan",
            scroll: "Anv\u00e4nd ctrl + rulla f\u00f6r att zooma kartan",
            scrollMac: "Anv\u00e4nd \u2318 + rulla f\u00f6r att zooma p\u00e5 kartan"
        },
        //Tamil
        ta: {
            touch: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0ba8\u0b95\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4 \u0b87\u0bb0\u0ba3\u0bcd\u0b9f\u0bc1 \u0bb5\u0bbf\u0bb0\u0bb2\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd",
            scroll: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, ctrl \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
            scrollMac: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, \u2318 \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd"
        },
        //Telugu
        te: {
            touch: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c24\u0c30\u0c32\u0c3f\u0c02\u0c1a\u0c21\u0c02 \u0c15\u0c4b\u0c38\u0c02 \u0c30\u0c46\u0c02\u0c21\u0c41 \u0c35\u0c47\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
            scroll: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f ctrl \u0c2c\u0c1f\u0c28\u0c4d\u200c\u0c28\u0c41 \u0c28\u0c4a\u0c15\u0c4d\u0c15\u0c3f \u0c09\u0c02\u0c1a\u0c3f, \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
            scrollMac: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c3e\u0c32\u0c02\u0c1f\u0c47 \u2318 + \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
        },
        //Thai
        th: {
            touch: "\u0e43\u0e0a\u0e49 2 \u0e19\u0e34\u0e49\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
            scroll: "\u0e01\u0e14 Ctrl \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
            scrollMac: "\u0e01\u0e14 \u2318 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48"
        },
        //Tagalog
        tl: {
            touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
            scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
            scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
        },
        //Turkish
        tr: {
            touch: "Haritada gezinmek i\u00e7in iki parma\u011f\u0131n\u0131z\u0131 kullan\u0131n",
            scroll: "Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in ctrl + kayd\u0131rma kombinasyonunu kullan\u0131n",
            scrollMac: "Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in \u2318 tu\u015funa bas\u0131p ekran\u0131 kayd\u0131r\u0131n"
        },
        //Ukrainian
        uk: {
            touch: "\u041f\u0435\u0440\u0435\u043c\u0456\u0449\u0443\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443 \u0434\u0432\u043e\u043c\u0430 \u043f\u0430\u043b\u044c\u0446\u044f\u043c\u0438",
            scroll: "\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0439\u0442\u0435 \u043a\u043e\u043b\u0456\u0449\u0430\u0442\u043a\u043e \u043c\u0438\u0448\u0456, \u0443\u0442\u0440\u0438\u043c\u0443\u044e\u0447\u0438 \u043a\u043b\u0430\u0432\u0456\u0448\u0443 Ctrl",
            scrollMac: "\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u2318 + \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f"
        },
        //Vietnamese
        vi: {
            touch: "S\u1eed d\u1ee5ng hai ng\u00f3n tay \u0111\u1ec3 di chuy\u1ec3n b\u1ea3n \u0111\u1ed3",
            scroll: "S\u1eed d\u1ee5ng ctrl + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3",
            scrollMac: "S\u1eed d\u1ee5ng \u2318 + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3"
        },
        //Chinese (Simplified)
        "zh-CN": {
            touch: "\u4f7f\u7528\u53cc\u6307\u79fb\u52a8\u5730\u56fe",
            scroll: "\u6309\u4f4f Ctrl \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe",
            scrollMac: "\u6309\u4f4f \u2318 \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe"
        },
        //Chinese (Traditional)
        "zh-TW": {
            touch: "\u540c\u6642\u4ee5\u5169\u6307\u79fb\u52d5\u5730\u5716",
            scroll: "\u6309\u4f4f ctrl \u9375\u52a0\u4e0a\u6372\u52d5\u6ed1\u9f20\u53ef\u4ee5\u7e2e\u653e\u5730\u5716",
            scrollMac: "\u6309 \u2318 \u52a0\u4e0a\u6efe\u52d5\u6372\u8ef8\u53ef\u4ee5\u7e2e\u653e\u5730\u5716"
        }
    };

    /*
    * * Leaflet Gesture Handling **
    * * Version 1.1.8
    */

    L.Map.mergeOptions({
        gestureHandlingOptions: {
            text: {},
            duration: 1000
        }
    });

    var draggingMap = false;

    var GestureHandling = L.Handler.extend({
        addHooks: function () {
            this._handleTouch = this._handleTouch.bind(this);

            this._setupPluginOptions();
            this._setLanguageContent();
            this._disableInteractions();

            //Uses native event listeners instead of L.DomEvent due to issues with Android touch events
            //turning into pointer events
            this._map._container.addEventListener("touchstart", this._handleTouch);
            this._map._container.addEventListener("touchmove", this._handleTouch);
            this._map._container.addEventListener("touchend", this._handleTouch);
            this._map._container.addEventListener("touchcancel", this._handleTouch);
            this._map._container.addEventListener("click", this._handleTouch);

            L.DomEvent.on(this._map._container, "wheel", this._handleScroll, this);
            L.DomEvent.on(this._map, "mouseover", this._handleMouseOver, this);
            L.DomEvent.on(this._map, "mouseout", this._handleMouseOut, this);

            // Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.
            L.DomEvent.on(this._map, "movestart", this._handleDragging, this);
            L.DomEvent.on(this._map, "move", this._handleDragging, this);
            L.DomEvent.on(this._map, "moveend", this._handleDragging, this);
        },

        removeHooks: function () {
            this._enableInteractions();

            this._map._container.removeEventListener("touchstart", this._handleTouch);
            this._map._container.removeEventListener("touchmove", this._handleTouch);
            this._map._container.removeEventListener("touchend", this._handleTouch);
            this._map._container.removeEventListener("touchcancel", this._handleTouch);
            this._map._container.removeEventListener("click", this._handleTouch);

            L.DomEvent.off(this._map._container, "wheel", this._handleScroll, this);
            L.DomEvent.off(this._map, "mouseover", this._handleMouseOver, this);
            L.DomEvent.off(this._map, "mouseout", this._handleMouseOut, this);

            L.DomEvent.off(this._map, "movestart", this._handleDragging, this);
            L.DomEvent.off(this._map, "move", this._handleDragging, this);
            L.DomEvent.off(this._map, "moveend", this._handleDragging, this);
        },

        _handleDragging: function (e) {
            if (e.type == "movestart" || e.type == "move") {
                draggingMap = true;
            } else if (e.type == "moveend") {
                draggingMap = false;
            }
        },

        _disableInteractions: function () {
            this._map.dragging.disable();
            this._map.scrollWheelZoom.disable();
            if (this._map.tap) {
                this._map.tap.disable();
            }
        },

        _enableInteractions: function () {
            this._map.dragging.enable();
            this._map.scrollWheelZoom.enable();
            if (this._map.tap) {
                this._map.tap.enable();
            }
        },

        _setupPluginOptions: function () {
            //For backwards compatibility, merge gestureHandlingText into the new options object
            if (this._map.options.gestureHandlingText) {
                this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;
            }
        },

        _setLanguageContent: function () {
            var languageContent;
            //If user has supplied custom language, use that
            if (this._map.options.gestureHandlingOptions && this._map.options.gestureHandlingOptions.text && this._map.options.gestureHandlingOptions.text.touch && this._map.options.gestureHandlingOptions.text.scroll && this._map.options.gestureHandlingOptions.text.scrollMac) {
                languageContent = this._map.options.gestureHandlingOptions.text;
            } else {
                //Otherwise auto set it from the language files

                //Determine their language e.g fr or en-US
                var lang = this._getUserLanguage();

                //If we couldn't find it default to en
                if (!lang) {
                    lang = "en";
                }

                //Lookup the appropriate language content
                if (LanguageContent[lang]) {
                    languageContent = LanguageContent[lang];
                }

                //If no result, try searching by the first part only. e.g en-US just use en.
                if (!languageContent && lang.indexOf("-") !== -1) {
                    lang = lang.split("-")[0];
                    languageContent = LanguageContent[lang];
                }

                if (!languageContent) {
                    // If still nothing, default to English
                    // console.log("No lang found for", lang);
                    lang = "en";
                    languageContent = LanguageContent[lang];
                }
            }

            //TEST
            // languageContent = LanguageContent["bg"];

            //Check if they're on a mac for display of command instead of ctrl
            var mac = false;
            if (navigator.platform.toUpperCase().indexOf("MAC") >= 0) {
                mac = true;
            }

            var scrollContent = languageContent.scroll;
            if (mac) {
                scrollContent = languageContent.scrollMac;
            }

            this._map._container.setAttribute("data-gesture-handling-touch-content", languageContent.touch);
            this._map._container.setAttribute("data-gesture-handling-scroll-content", scrollContent);
        },

        _getUserLanguage: function () {
            var lang = navigator.languages ? navigator.languages[0] : navigator.language || navigator.userLanguage;
            return lang;
        },

        _handleTouch: function (e) {
            //Disregard touch events on the minimap if present
            var ignoreList = ["leaflet-control-minimap", "leaflet-interactive", "leaflet-popup-content", "leaflet-popup-content-wrapper", "leaflet-popup-close-button", "leaflet-control-zoom-in", "leaflet-control-zoom-out"];

            var ignoreElement = false;
            for (var i = 0; i < ignoreList.length; i++) {
                if (L.DomUtil.hasClass(e.target, ignoreList[i])) {
                    ignoreElement = true;
                }
            }

            if (ignoreElement) {
                if (L.DomUtil.hasClass(e.target, "leaflet-interactive") && e.type === "touchmove" && e.touches.length === 1) {
                    L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-touch-warning");
                    this._disableInteractions();
                } else {
                    L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
                }
                return;
            }
            // screenLog(e.type+' '+e.touches.length);
            if (e.type !== "touchmove" && e.type !== "touchstart") {
                L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
                return;
            }
            if (e.touches.length === 1) {
                L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-touch-warning");
                this._disableInteractions();
            } else {
                this._enableInteractions();
                L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
            }
        },

        _isScrolling: false,

        _handleScroll: function (e) {
            if (e.metaKey || e.ctrlKey) {
                e.preventDefault();
                L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-scroll-warning");
                this._map.scrollWheelZoom.enable();
            } else {
                L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-scroll-warning");
                this._map.scrollWheelZoom.disable();

                clearTimeout(this._isScrolling);

                // Set a timeout to run after scrolling ends
                this._isScrolling = setTimeout(function () {
                    // Run the callback
                    var warnings = document.getElementsByClassName("leaflet-gesture-handling-scroll-warning");
                    for (var i = 0; i < warnings.length; i++) {
                        L.DomUtil.removeClass(warnings[i], "leaflet-gesture-handling-scroll-warning");
                    }
                }, this._map.options.gestureHandlingOptions.duration);
            }
        },

        _handleMouseOver: function (e) {
            this._enableInteractions();
        },

        _handleMouseOut: function (e) {
            if (!draggingMap) {
                this._disableInteractions();
            }
        }

    });

    L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);

    exports.GestureHandling = GestureHandling;
    exports.default = GestureHandling;

    Object.defineProperty(exports, '__esModule', { value: true });

})));
   /* Ende leaflet-gesture-handling */

(function gsbJavaScriptModules(){    /* Start gsb_autosuggest */
   /* --GSBDocStart
 * @name: @gsb/gsb_autosuggest 
 * @version: 5.1.1 
 * @description: Module for accessible autocompletion in search forms 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule("gsb.AutoSuggest", {
  init: function (el, options, actionUrl) {
    const base = this;
    // eslint-disable-next-line no-param-reassign -- Kompatibilität mit alten Aufruf beihalten
    actionUrl = base.$el.attr('data-autosuggest-form') || actionUrl;

    if (!actionUrl) {
      throw new Error("Das Attribut data-autosuggest-form muss auf dem Basis-Element gesetzt werden");
    }

    base.actionUrl = actionUrl;
    // BoxCounter
    base.boxNumber = ++base.allInstances.boxCount;
    // Such-Textfeld
    const selectors = base.options.selectors;
    base.$input = base.$el.find(selectors.input).first();
    base.$submit = base.$el.find(selectors.submit).first();
    if (base.$submit.length === 0) {
      base.$submit = base.$el.find('input[type=image]:first');
    }
    // Aktuelle Anfrage
    base.reqQuery = false;
    // Anfragen Cachen
    base.queries = [];
    // Aktuelle Position
    base.activeIndex = NaN;

    // AutoSuggest-Box vorbereiten und positionieren
    if (base.options.markup.box) {
      base.$box = $(base.options.markup.box).
      insertAfter(base.$input);
      const description = base.$el.attr('data-autosuggest-box-description');
      if (typeof description !== "undefined") {
        const descId = base.generateID();
        $("<span></span>").
        text(description).
        addClass(base.options.classes.description).
        attr({
          id: descId,
          'aria-hidden': true,
          hidden: 'hidden'
        }).
        insertAfter(base.$input);
        base.$box.attr('aria-describedby', descId);
      } else {
        throw new Error("Attribut data-autosuggest-box-description muss auf dem Basis-Element gesetzt werden");
      }
    } else if (base.options.selectors.box) {
      base.$box = base.$el.find(base.options.selectors.box);
    }
    base.$box.
    attr({
      id: base.$box.attr("id") || `searchAutoSuggestBox${base.boxNumber}`,
      hidden: 'hidden'
    });

    // Browser-Auto-Vervollständigung deaktivieren
    base.$input.attr('autocomplete', 'off');

    base.makeAccessible();
    base.bindEvents();
  },
  allInstances: {
    boxCount: 0
  },
  makeAccessible: function () {
    const base = this;

    base.$input.attr({
      'role': base.$input.attr('role') || 'combobox',
      'aria-haspopup': 'listbox',
      'aria-owns': base.$box.attr('id'),
      'aria-expanded': 'false',
      'aria-autocomplete': 'list',
      'aria-activedescendant': null,
      'aria-controls': base.$box.attr('id')
    });

    base.$labels = $(base.$input.prop('labels')).each(function () {
      const $label = $(this);
      $label.attr('id', $label.attr('id') || base.generateID());
    });
    const labelList = base.$labels.toArray().map(function (label) {
      return $(label).attr('id');
    }).join(' ');

    base.$box.attr({
      role: base.$box.attr('role') || 'listbox',
      'aria-labelledby': labelList || null
    });
  },
  bindEvents: function () {
    const base = this;

    // Tastaturbefehle abfangen
    base.$input.on('keydown', base, base.onKeyDown);

    // Bubbling von Mousedown-Event verhindern (Kompatibilität mit gsb_simple_toggle)
    base.$input.on('mousedown', (ev) => ev.stopPropagation());

    // Bei Eingabe von mehr als zwei Zeichen Liste abrufen
    base.$input.on('keyup', base, base.onKeyUp);

    base.$el.on(`close.${base.eventName}`, base, function (ev) {
      ev.stopPropagation();
      ev.data.showSuggestionBox(false);
    });
    base.$el.on(`open.${base.eventName}`, base, function (ev) {
      ev.stopPropagation();
      ev.data.showSuggestionBox(true);
    });

    base.$el.
    on(`notEnoughCharacters.${base.eventName} noResults.${base.eventName}`, base, function (ev) {
      ev.stopPropagation();
      ev.data.$el.trigger(`close.${base.eventName}`);
    }).
    on(`showResults.${base.eventName}`, base, function (ev) {
      ev.stopPropagation();
      ev.data.$el.trigger(`open.${base.eventName}`);
    });
    base.$el.on(`focusout.${base.eventName}`, base, function (ev) {
      ev.data.$el.trigger(`close.${base.eventName}`);
    });
    base.$box.on('mousedown', function (ev) {
      ev.stopPropagation();
      ev.preventDefault();
    });
  },
  onKeyDown: function (ev) {
    const base = ev.data;
    let trigger = false,
      activeOpt,
      link;
    switch (ev.key) {
      case "Enter":
        trigger = true;
        break;
      case "Down": // IE/Edge
      case "ArrowDown":
        ev.preventDefault();
        base.selectNextSuggestion();
        break;
      case "Up": // IE/Edge
      case "ArrowUp":
        ev.preventDefault();
        base.selectPrevSuggestion();
        break;
      case "Esc": // IE/Edge
      case "Escape":
        base.showSuggestionBox(false);
        break;
      default:break;}

    if (trigger) {
      activeOpt = base.$box.find('[role=option]').eq(base.activeIndex);
      if (activeOpt.is(`.${base.options.classes.hasLink}`)) {
        ev.preventDefault(); //prevent form submission
        //jQuery does not call the native .click() on <a> elements
        link = activeOpt.find('a')[0];
        if (link && typeof link.click === "function") {
          link.click();
        }
      } else {
        base.triggerSubmit(activeOpt);
      }
    }
  },
  onKeyUp: function (ev) {
    const base = ev.data;
    let go = true;
    switch (ev.key) {
      case "Enter":
        return;
      case "Esc": // IE/Edge
      case "Escape":
        return;
      case "Down": // IE/Edge
      case "ArrowDown":
      case "Up": // IE/Edge
      case "ArrowUp":
        go = !base.$box.is(':visible');
        break;
      default:break;}


    if (go) {
      if (base.$input.val().length >= base.options.minInputLength) {
        base.query(base.$input.val());
      } else {
        base.$el.trigger(`notEnoughCharacters.${base.eventName}`);
      }
    }
  },
  query: function (value) {
    const base = this;
    base.reqQuery = value;
    if (typeof base.queries[base.reqQuery] === "undefined") {
      $.ajax({
        url: base.actionUrl,
        dataType: 'json',
        data: {
          'userQuery': value
        },
        error: function (jqXHR, textStatus, errorThrown) {
          // eslint-disable-next-line no-console -- Explizite Fehlerausgabe
          console.error(`AutoSuggest.base.query() > error=AJAX Fehler beim Abruf der JSON-Resource ${base.actionUrl}: ${textStatus} :: ${errorThrown}`);
        },
        success: function (data) {
          base.queries[value] = data;
          if (base.reqQuery === value) {
            base.showSuggestions(data);
          }
        }
      });
    } else {
      base.showSuggestions(base.queries[base.reqQuery]);
    }
  },
  showSuggestions: function (data) {
    const base = this;
    let count = 0;
    const createSublist = Boolean(base.options.markup.typedOption);
    base.$box.empty();
    Object.keys(data).forEach(function (typeName) {
      const typeLabel = base.options.typeLabels[typeName],
        typedData = data[typeName] || [];
      let optionContainer,
        optionLabel,
        typedOption,
        dummy;
      if (typeLabel && typedData.length) {
        if (createSublist) {
          dummy = $("<div/>");
          typedOption = $(base.options.markup.typedOption).appendTo(dummy);
          optionLabel = dummy.find(base.options.selectors.typeLabel).
          attr({
            "id": optionLabel ? optionLabel.attr("id") || base.generateID() : base.generateID(),
            "data-gsb-suggestion-type": typeName
          }).
          text(typeLabel);
          optionContainer = dummy.find(base.options.selectors.typedContainer).
          attr({
            'aria-labelledby': optionLabel.attr('id') || null,
            'data-gsb-suggestion-type': typeName
          });

          typedOption.appendTo(base.$box);
        } else {
          optionContainer = base.$el.find(base.options.selectors.typedContainer).
          filter(`[data-gsb-suggestion-type="${typeName}"]`);
          if (data[typeName].length) {
            optionContainer.empty();
          }
        }
      }
      if (!optionContainer || !optionContainer.length) {
        optionContainer = base.$box;
      }
      data[typeName].forEach(function (suggestion, index) {
        let option;
        if (suggestion) {
          count++;
          option = $(base.options.markup.option);
          option.html(base.options.markup.optionInner.call(base, suggestion, base.reqQuery));
          option.attr({
            "data-input": suggestion.name,
            id: option.attr("id") || base.generateID(),
            role: "option"
          });

          if (suggestion.link) {
            option.addClass('has-link');
            option.wrapInner($("<a/>").attr({
              href: suggestion.link,
              tabindex: -1
            }));
          }
          option.on('click', base, base.onSuggestionClick);
          option.appendTo(optionContainer);
        }
      });
    });
    if (count > 0) {
      base.$el.trigger(`showResults.${base.eventName}`);
    } else {
      base.$el.trigger(`noResults.${base.eventName}`);
    }
  },
  onSuggestionClick: function (ev) {
    const base = ev.data,
      opt = $(ev.currentTarget);
    if (!opt.is(`.${base.options.classes.hasLink}`)) {
      ev.preventDefault(); // if old markup is used (not recommended)
      base.triggerSubmit(opt);
    }
  },
  showSuggestionBox: function (show) {
    const base = this;

    if (show) {
      if (!base.specialTrigger(`beforeShow.${base.eventName}`)) {
        return;
      }
      base.$input.attr("aria-expanded", "true");
      base.$box.add(base.$el.find(base.options.selectors.description)).
      attr({
        hidden: null,
        'aria-hidden': false
      });
    } else {
      if (!base.specialTrigger(`beforeHide.${base.eventName}`)) {
        return;
      }
      base.$input.attr("aria-expanded", "false");
      base.$box.add(base.$el.find(base.options.selectors.description)).
      attr({
        hidden: 'hidden',
        'aria-hidden': true
      });
    }

    base.activeIndex = NaN;
    base.$input.attr("aria-activedescendant", null);
  },
  selectNextSuggestion: function () {
    const base = this,
      n = base.$box.find('[role=option]').length; // the number of suggestions
    if (n > 0) {
      if (isNaN(base.activeIndex) || base.activeIndex >= n - 1) {
        base.activeIndex = 0;
      } else if (base.activeIndex < n - 1) {
        base.activeIndex++;
      }
      base.selectSuggestion();
    }
  },
  selectPrevSuggestion: function () {
    const base = this,
      n = base.$box.find('[role=option]').length;
    if (n > 0) {
      if (isNaN(base.activeIndex) || base.activeIndex <= 0) {
        base.activeIndex = n - 1;
      } else if (base.activeIndex > 0) {
        base.activeIndex--;
      }
      base.selectSuggestion();
    }
  },
  selectSuggestion: function () {
    const base = this,
      suggestions = base.$box.find('[role=option]'),
      activeSuggestion = suggestions.eq(base.activeIndex);
    suggestions.
    removeClass('active').
    attr('aria-selected', 'false');
    activeSuggestion.
    addClass('active').
    attr('aria-selected', 'true');
    base.$input.attr({
      'aria-activedescendant': activeSuggestion.attr('id')
    });

    if (!base.isInViewport(activeSuggestion)) {
      $(activeSuggestion)[0].scrollIntoView({ behavior: 'smooth', block: 'nearest' });
    }
  },
  isInViewport: function (element) {
    let isInViewport;
    const elementHeight = $(element).outerHeight();
    const elementTop = $(element).offset().top;
    const elementBottom = elementTop + elementHeight;
    const viewportHeight = $(window).height();
    const viewportTop = $(window).scrollTop();
    const viewportBottom = viewportTop + viewportHeight;
    if (elementHeight >= viewportHeight) {
      isInViewport = elementBottom - 1 / 2 * elementHeight < viewportBottom && elementTop + 1 / 2 * elementHeight > viewportTop;
    } else {
      isInViewport = elementBottom < viewportBottom && elementTop > viewportTop;
    }
    return isInViewport;
  },
  triggerSubmit: function (activeSuggestion) {
    const base = this;
    if (activeSuggestion && activeSuggestion.length > 0) {
      base.$input.val(activeSuggestion.first().attr('data-input'));
      base.$submit.click();
    }
  },
  // triggers event on base.$el
  // returns false if event is cancelled
  specialTrigger: function (evStr, ev) {
    const base = this;
    let namespaces = evStr.split('.');
    const type = namespaces.shift();
    namespaces = namespaces.sort();
    // eslint-disable-next-line new-cap -- Event ist Teil von jQuery
    const event = $.Event(type, {
      namespace: namespaces.join('.'),
      relatedEvent: ev || null
    });
    base.$el.trigger(event, base);
    return !event.isDefaultPrevented();
  },
  defaultOptions: {
    minInputLength: 2,
    typeLabels: {},
    selectors: {
      box: null,
      description: '.js-autosuggest-description',
      input: "input[type=text], input[type=search]",
      submit: "input[type=submit], button[type=submit]",
      typeLabel: ".c-autosuggest__headline",
      typedContainer: ".c-autosuggest__sublist"
    },
    markup: {
      box: "<ul class='c-autosuggest__list'></ul>",
      option: "<li class='c-autosuggest__item'></li>",
      optionInner: function (suggestion) {
        return suggestion.name;
      },
      typedOption:
      "<li class='c-autosuggest__item'><h3 class='c-autosuggest__headline'></h3><ul class='c-autosuggest__sublist'></ul></li>"
    },
    classes: {
      description: 'c-autosuggest__description js-autosuggest-description',
      hasLink: 'has-link'
    }
  }
});
   /* Ende gsb_autosuggest */
   /* Start gsb_banner */
   /* --GSBDocStart
 * @name: @gsb/gsb_banner 
 * @version: 4.2.2 
 * @description: Dieses Modul ermöglicht die Darstellung einer Information in Form eines Popup-Banner, welches sich animiert ein- und ausgeblendet. Dieser Banner stellt eine Überschrift, einen Linktext sowie ein Bild,die aus einem Textbaustein (TextFragment) ausgelesen werden, dar. Beim erstmaligen Aufrufen der Seite mit konfiguriertem Banner wird dieser animiert im unteren Bildschirmbereich eingeblendet. 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.banner', {
  init: function () {
    const base = this;
    gsb.log('gsb_banner.init()');

    base.options.trackingModules = $.extend(true, {
      matomo: {
        consent: base.callConsentCallbacks,
        reject: base.callRejectCallbacks
      }
    }, base.options.trackingModules);

    if (base.options.trackingEnabled && !base.shouldCreateBanner()) {
      base.callRejectCallbacks();
      base.$el.remove();
      return;
    }

    if (base.options.trackingEnabled) {
      base.addTrackingFormListeners();
      if (Cookies.get(base.options.trackingCookieName)) {
        base.callConsentCallbacks();
      }
    }

    base.createBanner(false);

    base.$el.gsb_responsiveListener(base);

    if (base.options.restrictAccess && base.options.trackingEnabled) {
      base.setupLightbox();
    }
  },
  shouldCreateBanner: function () {
    const base = this,
      cookiesEnabled = base.areCookiesEnabled(),
      doNotTrack = base.options.respectDoNotTrack && navigator.doNotTrack === "1";
    return cookiesEnabled && !doNotTrack;
  },
  areCookiesEnabled: function () {
    // TODO: Deliberate whether Modernizr should be used
    /*! adapted from https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cookies.js,
     * Modernizr 3.11.0 | Copyright © 2021 The Modernizr Team | License MIT
     */
    var enabled = false;
    try {
      // create cookie
      document.cookie = 'cookietest=1';
      enabled = document.cookie.indexOf('cookietest=') !== -1;
      // remove cookie
      document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT';
      return enabled;
    }
    catch (e) {
      return false;
    }
  },
  callRejectCallbacks: function () {
    const base = this;
    if (typeof matomoRejectFunction !== "undefined") {
      matomoRejectFunction(base);
    }
    gsb.log('matomoReject called');
  },
  callConsentCallbacks: function () {
    const base = this;
    if (typeof matomoConsentFunction !== "undefined") {
      matomoConsentFunction(base);
    }
    gsb.log('matomoConsent called');
  },
  onResize: function (ev) {
    const base = ev.data;
  },
  addTrackingFormListeners: function () {
    const base = this,
      container = $('#matomoTracking'),
      enable = container.find('[name=matomoTracking][value=true]'),
      disable = container.find('[name=matomoTracking][value=false]');
    if (Cookies.get(base.options.trackingCookieName)) {
      enable.prop('checked', true);
    } else {
      disable.prop('checked', true);
    }
    enable.on('click', base, base.optionalCookiesConsent);
    disable.on('click', base, base.optionalCookiesReject);
  },
  setupLightbox: function () {
    const base = this,
      configUrl = base.$el.attr('data-gsb-tracking-config') || base.options.trackingConfigUrl;
    if (typeof configUrl !== "string") {
      base.makeRestricting();
    } else {
      $.ajax({
        url: configUrl,
        complete: base.mergeConfigAndInitializeLightbox,
        context: base
      });
    }
  },
  mergeConfigAndInitializeLightbox: function (jqXHR) {
    const base = this,
      data = jqXHR.responseJSON;
    if (data) {
      $.extend(true, base.options.trackingMarkup, data.trackingMarkup);
      $.extend(true, base.options.trackingSelectors, data.trackingSelectors);
      $.extend(true, base.options.trackingModules, data.trackingModules);
      base.options.trackingList = data.trackingList || base.options.trackingList;
    }
    base.makeRestricting();
  },
  makeRestricting: function () {
    const base = this,
      structure = $(base.options.trackingMarkup.structure),
      container = structure.find(base.options.trackingSelectors.container),
      trackingList = base.options.trackingList || [],
      trackingModules = base.options.trackingModules || {};

    base.$el.
    css("height", "auto").
    addClass(base.options.trackingClasses.restrictive);

    base.$el.contents().remove();

    container.append(base.buildModules(trackingList));
    container.append(base.buildButtons(trackingModules.buttons));

    base.$el.append(structure);

    base.$el.gsb_lightbox({
      selectors: {
        toggleHidden: base.options.pageElementsToHide
      },
      opener: $(),
      magnificOptions: {
        items: {
          src: base.$el,
          type: "inline"
        },
        closeOnBgClick: false,
        enableEscapeKey: false,
        showCloseBtn: false,
        callbacks: {
          open: function () {
            $('body').
            addClass(base.options.bodyVisibleClass).
            removeClass(base.options.bodyHiddenClass);
          },
          close: function () {
            $('body').
            addClass(base.options.bodyHiddenClass).
            removeClass(base.options.bodyVisibleClass);
          }
        } }
    }).off('click.magnificPopup'); // like lightbox in gallery mode, remove handler that cancels all click events

    if (!base.options.lightboxHidden && (!base.options.cookieName || !Cookies.get(base.options.cookieName))) {
      base.$el.magnificPopup('open');
    }

    base.$el.
    on('rejectAll.' + base.eventName, base, base.unsetAllManagedCookies).
    on('rejectAll.' + base.eventName, base, base.uncheckAll);
    $(document).on('cookieUpdate.gsb', base, base.onCookieUpdate);
    $(window).on("resize", base, base.onResize);
  },
  onCookieUpdate: function (ev) {
    const base = ev.data,
      detail = ev.detail,
      cookieName = detail && detail.cookieName,
      isNotRemoval = Boolean(detail && detail.removed),
      isNotSelfReport = Boolean(detail) && detail.moduleName !== base.moduleName,
      trackingModules = base.options.trackingModules || {},
      moduleList = Object.keys(trackingModules);
    if (isNotSelfReport && typeof cookieName === "string") {
      moduleList.forEach(function (id) {
        const module = trackingModules[id],
          binaryCookie = module.binaryCookie;
        let input;
        if (cookieName === binaryCookie) {
          input = base.$el.find(base.options.trackingSelectors.controlElement).filter(`input[name=${id}]`);
          if (isNotRemoval === input.prop('checked')) {
            input.trigger('click');
          }
        }
      });
    }
  },
  buildModules: function (moduleList) {
    const base = this,
      sections = [],
      trackingModules = base.options.trackingModules || {};

    moduleList.forEach(function (item) {
      let id = item.id,
        module = trackingModules[id],
        section = base.createSection(id);
      if (module && id !== "buttons") {
        module.id = id;
        module.subModules = item.subModules;
        sections.push(section[0]);
        if (module.build) {
          module.build.call(base, module, section);
        } else if (module.type === 'html' && module.markup) {
          base.insertMarkup(module, section);
        } else if (module.type === 'structured') {
          base.buildStructured(module, section);
        } else {
          sections.pop();
        }
      }
    });

    return $(sections);
  },
  createSection: function (id) {
    const base = this;
    return $('<div/>').
    addClass(base.options.trackingClasses.section).
    attr('data-gsb-tracking-section', id);
  },
  insertMarkup: function (module, section) {
    const base = this;
    return $(module.markup).appendTo(section);
  },
  buildButtons: function (module, section) {
    const base = this,
      buttonContent = $(base.options.trackingMarkup.buttons),
      confirmSelection = buttonContent.find(base.options.trackingSelectors.confirmSelection),
      consentToAll = buttonContent.find(base.options.trackingSelectors.consentToAll),
      rejectAll = buttonContent.find(base.options.trackingSelectors.rejectAll);
    confirmSelection.
    on('click', base, base.applyChoice).
    on('click', base, base.confirmModules);
    consentToAll.
    on('click', base, base.applyChoice).
    on('click', base, base.checkAll).
    on('click', base, base.setAllManagedCookies);
    rejectAll.
    on('click', base, base.applyChoice).
    on('click', base, base.uncheckAll).
    on('click', base, base.unsetAllManagedCookies);

    return base.createSection('buttons').append(buttonContent);
  },
  checkAll: function (ev) {
    const base = ev ? ev.data : this;

    base.$el.find(base.options.trackingSelectors.controlElement).
    attr("checked", true).
    prop("checked", true).
    trigger('change');
  },
  uncheckAll: function (ev) {
    const base = ev ? ev.data : this;

    base.$el.find(base.options.trackingSelectors.controlElement).
    filter((i, el) => !el.disabled).
    attr("checked", null).
    prop("checked", false).
    trigger('change');
  },
  getTrackingListFlat: function () {
    const base = this,
      trackingList = base.options.trackingList || [];

    return trackingList.reduce(function (list, item) {
      if (!item || !item.subModules || !item.subModules.length) {
        return list.concat(item);
      } else {
        return list.concat(item.subModules);
      }
    }, []);
  },
  confirmModules: function (ev) {
    const base = ev.data,
      trackingModules = base.options.trackingModules || {};

    base.getTrackingListFlat().forEach(function (item) {
      let id = item.id,
        module = trackingModules[id],
        //input = base.$el.find(`input[name=${id}]`),
        input = base.$el.find(base.options.trackingSelectors.controlElement).filter(`input[name=${id}]`),
        moduleConsent = input.length && input.prop('checked'),
        moduleReject = input.length && !input.prop('checked'),
        binaryCookie = module && module.binaryCookie;
      if (module) {
        if (module.required || moduleConsent) {
          gsb.debug(`${base.moduleName}: user action (module ${id}) - consent`);
          if (typeof binaryCookie === "string") {
            if (typeof module.consent !== "function" || module.consent.call(base, module) !== false) {
              base.setBinaryCookie(binaryCookie, module);
            }
          }
        } else if (moduleReject) {
          gsb.debug(`${base.moduleName}: user action (module ${id}) - reject`);
          if (typeof binaryCookie === "string") {
            if (typeof module.reject !== "function" || module.reject.call(base, module) !== false) {
              base.unsetBinaryCookie(binaryCookie, module);
            }
          }
        }
      }
    });
  },
  setAllManagedCookies: function (ev) {
    const base = ev ? ev.data : this,
      trackingModules = base.options.trackingModules || {};

    base.getTrackingListFlat().forEach(function (item) {
      let id = item.id,
        module = trackingModules[id];
      if (module && typeof module.binaryCookie === "string") {
        if (typeof module.consent !== "function" || module.consent.call(base, module) !== false) {
          base.setBinaryCookie(module.binaryCookie, module);
        }
      }
    });
  },
  unsetAllManagedCookies: function (ev) {
    const base = ev ? ev.data : this,
      trackingModules = base.options.trackingModules || {};

    base.getTrackingListFlat().forEach(function (item) {
      let id = item.id,
        module = trackingModules[id];
      if (module && typeof module.binaryCookie === "string") {
        if (typeof module.reject !== "function" || module.reject.call(base, module) !== false) {
          base.unsetBinaryCookie(module.binaryCookie, module);
        }
      }
    });
  },
  setBinaryCookie: function (binaryCookieName, module) {
    const base = this,
      cookieValue = String(true),
      cookieLifeTimeInDays = module && module.cookieLifeTimeInDays || base.options.trackingCookieLifeTimeInDays;
    try {
      Cookies.set(binaryCookieName, cookieValue, {
        expires: cookieLifeTimeInDays,
        path: '/'
      });
      $(document).trigger($.Event('cookieUpdate.gsb', {
        detail: {
          cookieName: binaryCookieName,
          moduleName: base.moduleName,
          value: cookieValue,
          removed: false
        }
      }));
    } catch (e) {
      gsb.error("Fehler beim Setzen eines Cookies", e);
    }
  },
  unsetBinaryCookie: function (binaryCookieName, module) {
    const base = this;
    try {
      Cookies.remove(binaryCookieName);
      $(document).trigger($.Event('cookieUpdate.gsb', {
        detail: {
          cookieName: binaryCookieName,
          moduleName: base.moduleName,
          value: null,
          removed: true
        }
      }));
    } catch (e) {
      gsb.error("Fehler beim Löschen eines Cookies", e);
    }
  },
  buildStructured: function (module, section) {
    const base = this,
      hasSubModules = module.subModules && module.subModules.length,
      structure = module.structure,
      title = $(structure.title),
      headingId = title.attr('id') || base.generateID(),
      details = $(structure.details),
      detailsContainer = $('<div/>'),
      detailsId = base.generateID(),
      accordionContainer = $('<div/>');
    let container = $(structure.container).appendTo(section);

    if (!container.length) {
      container = section;
    }

    title.
    addClass(base.options.trackingClasses.sectionTitle).
    attr({
      id: headingId
    });
    if (title.length === 1 && (details.length > 0 || hasSubModules)) {
      detailsContainer.attr('id', detailsId);
      accordionContainer.append(title);
      detailsContainer.append(details);
      if (hasSubModules) {
        detailsContainer.append(base.buildModules(module.subModules));
      }
      accordionContainer.append(detailsContainer);
      container.append(accordionContainer);

      if (module.alwaysShowDetails === false) {
        accordionContainer.gsb_toggle({
          tab: false,
          accordion: true,
          heading: `#${headingId}`, //workaround(gsb_toggle) - jQuery's on() method accepts only strings as delegate targets
          elements: detailsContainer,
          onRefresh: function onRefresh() {
            this.initialize();
            this.refreshAccordion();
          },
          responsive: []
        });
      }
    } else {
      container.append(title);
      container.append(details);
    }

    if (!hasSubModules) {
      container.append(base.createSectionToggle(module, headingId, details.length ? detailsId : null));
    }
  },
  createSectionToggle: function (module, labelId, detailsId) {
    const base = this,
      moduleId = module.id,
      controlId = base.generateID(),
      control = $('<input/>'),
      label = $('<label/>').addClass(base.options.trackingClasses.controlLabel),
      controlContainer = $("<div/>"),
      required = Boolean(module.required),
      alreadyActive = module.binaryCookie ? Cookies.get(module.binaryCookie) : false,
      shouldCheck = required || alreadyActive,
      textModuleOff = module.labels && module.labels.moduleOff ? module.labels.moduleOff : base.options.labels.moduleOff,
      textModuleOn = module.labels && module.labels.moduleOn ? module.labels.moduleOn : base.options.labels.moduleOn;
    control.
    addClass(base.options.trackingClasses.controlElement).
    attr({
      id: controlId,
      name: moduleId,
      type: 'checkbox',
      checked: shouldCheck ? 'checked' : null,
      disabled: required ? 'disabled' : null,
      'aria-describedby': detailsId,
      'aria-labelledby': labelId
    }).
    prop('checked', shouldCheck).
    on('change', function (ev) {
      label.text(control.prop('checked') ? textModuleOn : textModuleOff);
    }).
    trigger('change');
    label.
    attr('for', controlId);
    return controlContainer.append(control).append(label);
  },
  show: function () {
    const base = this,
      animationSpeed = base.options.animationSpeed;

    gsb.log('show banner position=' + base.options.position);
    if (base.options.positionRelative) {
      base.showPositionRelative();
    } else if (base.options.animation) {
      if (base.options.position === 'top') {
        base.$el.animate({ top: 0 }, animationSpeed);
      } else {
        base.$el.animate({ bottom: 0 }, animationSpeed);
      }
    } else {
      base.$el.css(base.options.position, 0);
    }
    base.$el.promise().done(function () {
      $('body').
      addClass(base.options.bodyVisibleClass).
      removeClass(base.options.bodyHiddenClass);
    });

    if (base.options.restrictAccess) {
      base.$el.finish();
    }
  },
  showPositionRelative: function () {
    const base = this;
    if (base.options.position === 'top') {
      base.$el.addClass(base.options.positionRelativeClass);
      var $navSkipList = $(base.options.navSkipListSelector);
      if ($navSkipList.length > 0) {
        $navSkipList.after(base.$el);
      } else {
        gsb.warn('Das Cookiebanner wird vor dem <header>-Element eingebunden, weil \'' + base.options.navSkipListSelector + '\' nicht gefunden werden konnte.');
        $('header').before(base.$el);
      }
    } else {
      $(base.options.newBannerParentSelector).after(base.$el);
      $('.' + base.options.positionRelativePlaceholderClass).remove();
      $(base.options.newBannerParentSelector).after($('<div>').addClass(base.options.positionRelativePlaceholderClass).css('height', base.bannerHeight));
    }
    if (base.options.animation) {
      base.$el.
      finish().
      css({
        paddingTop: 0,
        paddingBottom: 0,
        height: 0
      }).
      animate({
        height: base.bannerHeight - base.options.topOffset,
        paddingTop: base.bannerPadding.top,
        paddingBottom: base.bannerPadding.bottom
      }, {
        duration: base.options.animationSpeed,
        complete: function () {
          base.$el.css('height', '');
        }
      });
    }
  },
  hide: function (ignoreAnimation) {
    const base = this;

    if (base.bannerHeight && base.options.animation && !ignoreAnimation) {
      if (base.options.position === 'top') {
        if (base.options.positionRelative) {
          base.$el.animate({ height: 0, paddingTop: 0, paddingBottom: 0 }, base.options.animationSpeed, function () {
            base.$el.css('display', 'none');
          });
        } else {
          base.$el.animate({ top: -base.bannerHeight }, base.options.animationSpeed, function () {
            base.$el.css('display', 'none');
          });
        }
      } else {
        base.$el.animate({ bottom: -base.bannerHeight }, base.options.animationSpeed, function () {
          base.$el.css('display', 'none');
          $('.' + base.options.positionRelativePlaceholderClass).remove();
        });
      }
    } else {
      base.$el.css('display', 'none');
    }
    base.$el.promise().done(function () {
      $('body').
      addClass(base.options.bodyHiddenClass).
      removeClass(base.options.bodyVisibleClass);
    });

    if (base.options.restrictAccess) {
      base.$el.finish();
    }
  },
  createBanner: function (triggeredByResponsiveListener) {
    const base = this;
    let button = base.$el.find(base.options.closeButton).first();

    if (!triggeredByResponsiveListener) {
      if (base.options.trackingEnabled) {
        if (!base.options.restrictAccess) {
          base.modifyButton(button);
          base.insertRejectButton(button);
        }
      } else {
        button.on('click', base, base.applyChoice);
      }
    }

    if (!base.options.restrictAccess) {
      base.handleAnimation(triggeredByResponsiveListener);
    }
  },
  modifyButton: function (button) {
    const base = this,
      buttonText = base.options.restrictAccess ? base.options.labels.confirmSelection : base.options.labels.consent;
    button.parent().
    addClass(base.options.matomoButtonAddClassParent).
    removeClass(base.options.matomoButtonRemoveClassParent);

    button.
    text(buttonText).
    on('click', base, base.applyChoice).
    on('click', base, base.optionalCookiesConsent);
  },
  insertRejectButton: function (button) {
    const base = this,
      rejectButton = button.clone().insertAfter(button);
    rejectButton.
    text(base.options.labels.reject).
    on('click', base, base.applyChoice).
    on('click', base, base.optionalCookiesReject);
  },
  applyChoice: function (ev) {
    const base = ev.data;
    gsb.log('gsb_banner.click() > confirm');
    ev.preventDefault();
    ev.stopPropagation();

    if (base.options.restrictAccess) {
      $.magnificPopup.close();
    } else {
      // hide banner with or without animation
      base.hide();
    }
    base.setCookieClosed();
  },
  handleAnimation: function (triggeredByResponsiveListener) {
    const base = this;
    base.prepareState(triggeredByResponsiveListener);
    // hide banner
    base.$el.css(base.options.position, base.options.positionRelative ? 0 : -base.bannerHeight);
    // if no cookie
    if (!base.options.cookieName) {
      base.show();
    } else if (!Cookies.get(base.options.cookieName)) {
      gsb.log('gsb_banner.createBanner() > no cookie');
      // display banner with or without animation
      base.show();
    } else {
      gsb.log('gsb_banner.createBanner() > valid cookie > hide banner');
      // hide banner without animation
      base.hide(true);
    }
  },
  setCookieClosed: function () {
    const base = this,
      cookieName = base.options.cookieName;
    if (typeof cookieName === "string") {
      gsb.debug(`${base.moduleName}: setting cookie '${cookieName}' to 'closed'`);
      // set cookie with expiredate
      Cookies.set(cookieName, 'closed', {
        expires: base.options.bannerCookieLifeTimeInDays,
        path: '/'
      });
    } else {
      gsb.error(`${base.moduleName}: cookieName is not a string. Banner will be shown on reload. This is only acceptable for debugging purposes.`);
    }
  },
  prepareState: function prepareState(reset) {
    const base = this;
    if (reset) {
      base.$el.css({
        paddingTop: '',
        paddingBottom: '',
        height: ''
      });
    }
    base.bannerHeight = !reset && base.bannerHeight && base.options.position === 'top' ? base.bannerHeight : base.$el.outerHeight() + base.options.topOffset;
    base.bannerPadding = !reset && base.bannerPadding ? base.bannerPadding : {
      top: base.$el.css('padding-top'),
      bottom: base.$el.css('padding-bottom')
    };
  },
  optionalCookiesConsent: function (ev) {
    let base = ev ? ev.data : this;
    const consent = base.$el.find(`[name=${base.options.trackingCookieName}]`).prop("checked");
    const optOut = $('[name=matomoTracking][value=true]').prop("checked");
    base.setCookieClosed();
    if (base.options.restrictAccess && consent || !base.options.restrictAccess || optOut) {
      base.callConsentCallbacks();
      Cookies.set(base.options.trackingCookieName, true, {
        expires: base.options.trackingCookieLifeTimeInDays,
        path: '/'
      });
    }
  },
  optionalCookiesReject: function (ev) {
    let base = ev ? ev.data : this;
    base.setCookieClosed();
    base.callRejectCallbacks();
    Cookies.remove(base.options.trackingCookieName);
  },
  generateID: function () {
    return gsb.aria.prototype.generateID();
  },
  defaultOptions: {
    animation: false,
    animationSpeed: 1800,
    position: 'bottom',
    topOffset: 20,
    closeButton: '.close',
    bodyVisibleClass: 'banner-visible',
    bodyHiddenClass: 'banner-hidden',
    newBannerParentSelector: "footer",
    positionRelativeClass: 'cookiebanner__relative',
    positionRelativePlaceholderClass: 'cookiebanner__placeholder',
    cookieName: 'gsbbanner',
    trackingCookieName: 'matomoTracking',
    bannerCookieLifeTimeInDays: 30,
    respondToEvents: true,
    positionRelative: true, // make room for the cookiebanner in the dom to not overlay content
    navSkipListSelector: 'ul.navSkip', // used if positionRelative is true
    trackingEnabled: false, // if false, restrictAccess will not be applied
    matomoButtonAddClassParent: 'button-row',
    matomoButtonRemoveClassParent: 'all',
    restrictAccess: false, // start banner in a lightbox, disable all other elements
    lightboxHidden: false,
    pageElementsToHide: '.wrapperInner, .previewhint, .c-preview-hint',
    trackingCookieLifeTimeInDays: 30,
    respectDoNotTrack: false,
    labels: {
      consent: typeof TRACKING_CONSENT !== "undefined" ? TRACKING_CONSENT : 'Consent',
      reject: typeof TRACKING_DISSENT !== "undefined" ? TRACKING_DISSENT : 'Reject',
      confirmSelection: typeof TRACKING_CONFIRM !== "undefined" ? TRACKING_CONFIRM : 'Auswahl bestätigen',
      moduleOn: typeof TRACKING_MODULE_ON !== "undefined" ? TRACKING_MODULE_ON : 'ausschalten',
      moduleOff: typeof TRACKING_MODULE_OFF !== "undefined" ? TRACKING_MODULE_OFF : 'einschalten'
    },
    onRefresh: function onRefresh() {
      this.createBanner(true);
    },
    trackingConfigUrl: null,
    trackingMarkup: {
      structure: '' +
      `<div class="cookiebannerbox">
          <div class="row">
            <div class="column small-12 js-banner__container"></div>
          </div>
        </div>`,
      buttons: '' +
      `<div class="shrink text-right">
          <p class="button-row">
            <button type="button" class="c-button close confirmSelection js-banner-button-confirm-selection">Auswahl bestätigen</button><button type="button" class="c-button close rejectAll js-banner-button-reject-all">Ohne Einwilligung weiter</button><button type="button" class="c-button close consentToAll js-banner-button-consent-to-all">Alle auswählen</button>
          </p>
        </div>`
    },
    trackingSelectors: {
      confirmSelection: '.js-banner-button-confirm-selection',
      consentToAll: '.js-banner-button-consent-to-all',
      container: '.js-banner__container',
      controlElement: '.js-banner-control__element',
      rejectAll: '.js-banner-button-reject-all'
    },
    trackingClasses: {
      controlElement: 'cookiebanner-control__element js-banner-control__element',
      controlLabel: 'cookiebanner-control__label',
      restrictive: 'cookiebanner__restrictive',
      section: 'cookiebanner-section',
      sectionTitle: 'cookiebanner-section__title'
    },
    trackingList: [{
      id: 'preamble'
    }, {
      id: 'necessary'
    }, {
      id: 'matomo'
    }],
    trackingModules: {
      preamble: {
        type: 'html',
        markup: '' +
        `<h1>Hinweis zur Verwendung von Cookies</h1>
           <p>Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden,
              dass wir Cookies verwenden. Weitere Informationen zum Datenschutz erhalten Sie über den folgenden Link:
              <a class="RichTextIntLink NavNode" href="/datenschutz" title="Datenschutz">Datenschutz</a>
           </p>`
      },
      necessary: {
        type: 'structured',
        required: true,
        alwaysShowDetails: true,
        structure: {
          title: `<h2>Notwendige Cookies</h2>`,
          details: `<p>Lorem Ipsum dolor sit amet</p>`
        },
        labels: {
          moduleOff: 'kann nicht deaktiviert werden',
          moduleOn: 'immer aktiv'
        }
      },
      matomo: {
        type: 'structured',
        binaryCookie: 'matomoTracking',
        alwaysShowDetails: true,
        structure: {
          title: `<h2>${typeof TRACKING_OPTIONAL !== "undefined" ? TRACKING_OPTIONAL : 'Statistik'}</h2>`,
          details: `<p>${typeof TRACKING_HINT !== "undefined" ? TRACKING_HINT : 'Lorem ipsum Lorem ipsum <a href="#">dolor</a> Lorem ipsum Lorem ipsum Lorem ipsum'}</p>`
        },
        labels: {
          moduleOff: 'Statistik-Tracker einschalten',
          moduleOn: 'Statistik-Tracker ausschalten'
        }
      }
    }
  }
});
   /* Ende gsb_banner */
   /* Start gsb_breadcrumb_expander */
   /**
 * @name gsb_breadcrumb_expander
 * @version 1.0.0
 * @see {@link http://semver.org|Semantic Versioning}
 * @author skowatz
 *
 * @desc Modulbeschreibung
 * Versteckt ab einer gewisscen Anzahl alle Breadcrumb-Einträge bis auf die letzten beiden und fügt einen Button hinzu,
 * der die ausgeblendeten Elemente wieder anzeigt und sich selbst entfernt.
 * Die Elemente wieder auszublenden ist nicht vorgesehen.
 *
 * @requires  {@link external:jQuery}
 *
 * @example
 * Beispielaufruf
 * $('.js-breadcrumbs').gsb_breadcrumb_expander();
 */"use strict";
;(function ($) {
  "use strict";
  if (!$.gsb) {
    $.gsb = {};
  }

  $.gsb.breadcrumb_expander = function breadcrumb_expander(el, options) {
    let base = Object.create(breadcrumb_expander.prototype);
    base.$el = $(el);
    base.el = el;
    base.moduleName = "gsb.breadcrumb_expander";
    base.$el.data(base.moduleName, base);
    base.options = $.extend(true, {}, $.gsb.breadcrumb_expander.defaultOptions, options);

    base.init();
  };

  $.gsb.breadcrumb_expander.prototype = {
    init: function () {
      let base = this;
      let list = base.$el.find(base.options.selectors.list);

      if (list.children().length > base.options.numberOfInitialVisibleItems + 1) {
        base.hideItems(list);
        base.addExpandButton(list);
        base.registerClickListener();
      }

    },

    /**
     * Registriert einen Event-Handler, der auf Klick des expandButton lauscht
     */
    registerClickListener: function () {
      const base = this;
      base.$el.find($(`.` + base.options.expandButton.jsClass).click(base, base.onClick));
    },

    /**
     * Entfernt die isHidden-Klasse bei allen Listenelementen und entfernt den Button
     * @param event Event
     * @param base Base
     */
    onClick: function (event) {let base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : event.data;
      base.showItems();
      base.removeExpandButton();
    },

    /**
     * Setzt die isHidden-Klasse an alle Listenelemente nach den ersten numberOfInitialVisibleItems
     * list Listenelement
     */
    hideItems: function hideItems(list) {
      const base = this;
      const listItems = list.children();
      let initialVisible = base.options.numberOfInitialVisibleItems;
      if (listItems.last().hasClass('is-hidden')) {
        initialVisible++;
      }
      listItems.slice(0, listItems.length - initialVisible).addClass(base.options.classes.isHidden);
      listItems.first().removeClass(base.options.classes.isHidden);
    },

    /**
     * Entfernt die isHidden-Klasse von allen Listenelementen
     * list Listenelement
     */
    showItems: function showItems() {
      const base = this;
      base.$el.find(base.options.selectors.list).children().removeClass(base.options.classes.isHidden);
      base.$el.find(base.options.selectors.list).children().eq(2).find('a').focus();
    },

    /**
     * Fügt den expand-Button hinzu
     * list Listenelement
     */
    addExpandButton: function addExpandButton(list) {
      const base = this;
      let buttonContent = base.options.expandButton.text;
      let button = `<button type="button" class="` + base.options.expandButton.jsClass + ` ` + base.options.expandButton.cClass + `" title="` + base.options.expandTitle + `" aria-label="` + base.options.expandAuralText + `" aria-expanded="false">` + buttonContent + `</button>`;
      let listEntry = `<li class="` + base.options.classes.listElement + ` ` + base.options.classes.jsClassListItem + `">` + button + `</li>`;
      list.children(`:first`).after(listEntry);
    },

    /**
     * Entfernt den expand-Button
     */
    removeExpandButton: function removeExpandButton() {
      const base = this;
      base.$el.find($(`.` + base.options.classes.jsClassListItem).remove());
    }
  };

  $.gsb.breadcrumb_expander.defaultOptions = {
    //module options
    classes: {
      isHidden: 'is-hidden',
      listElement: 'c-breadcrumbs__item c-breadcrumbs__item--button', //Class on the <li> (for styling)
      jsClassListItem: 'js-breadcrumbs__expand-item' //Class on the <li> (for scripting)
    },
    selectors: {
      list: '.js-breadcrumbs__list'
    },
    expandTitle: typeof EXPAND !== "undefined" ? EXPAND : 'Ansicht erweitern',
    expandAuralText: typeof EXPAND_AURAL !== "undefined" ? EXPAND_AURAL : 'Ansicht erweitern',
    numberOfInitialVisibleItems: 2,
    expandButton: {
      jsClass: 'js-breadcrumbs__button',
      cClass: 'c-breadcrumbs__button',
      text: '&hellip;'
    }
  };

  $.fn.gsb_breadcrumb_expander = function (options) {
    return this.each(function () {
      $.gsb.breadcrumb_expander(this, options);
    });
  };
})(jQuery);
   /* Ende gsb_breadcrumb_expander */
   /* Start gsb_dynamicLoader */
   'use strict';

/**
 * Lädt Inhalte bei Nutzung eines Buttons nach.
 * Basiert lose auf gsb_dynamiclist-loader 6.0.1.
 * @author tweber
 */
gsb.makeGSBModule('gsb.dynamicLoader', {

  /**
   * Initialisiert das Modul.
   */
  init: function () {
    const base = this;
    gsb.log('gsb_dynamicLoader.init()');

    base.contentURI = base.$el.find(base.options.selectors.button).data(base.options.data);
    base.$el.find(base.options.selectors.button).click(function () {
      base.loadSource();
    });
  },

  /**
   * Lädt eine Seite mit weiteren anzuzeigenden Inhalten und startet den Update-Prozess.
   */
  loadSource: function (ev) {
    const base = ev ? ev.data : this;
    gsb.log('Lade nächste Seite über URI %s für %o', base.contentURI, base.$el);

    $.ajax({
      url: base.contentURI,
      context: base
    }).done(base.updatePage);
  },

  /**
   * Aktualisiert die Seite anhand der übergebenen Antwort.
   * Innerhalb der Antwort werden einzufügende Elemente anhand der Option dynamicListElementSelector ermittelt.
   * @param response die nachgeladene Seite
   */
  updatePage: function (response) {
    const base = this,
      $response = $(response),
      $elementsToAppend = $response.find(base.options.selectors.loadedContent).children(),
      $targetElement = base.$el.find(base.options.selectors.target).last();
    base.$el.trigger('beforeUpdate.dynamicLoader.gsb', { base, $elementsToAppend });
    if ($elementsToAppend.length && $targetElement.length) {
      $targetElement.append($elementsToAppend);
      base.setFocus($elementsToAppend);
      base.removeButtonWrapper();
      base.$el.trigger('afterUpdate.dynamicLoader.gsb', { base, $elementsToAppend });
    } else {
      gsb.error('Beim Anzeigen der Inhalte konnten entweder keine Inhalte oder kein Wrapper ermittelt werden');
    }
  },

  /**
   * Setzt den Fokus entweder auf das erste Fokus-Element im nachgeladenen Inhalt
   * oder falls kein Fokus-Element nachgeladen wurde an das Fokus-Element, welches am nächsten ist.
   * @param $elementsToAppend der nachgeladene Inhalt
   */
  setFocus: function ($elementsToAppend) {
    const base = this;
    if ($elementsToAppend.find(base.options.focusElement).length > 0) {
      $elementsToAppend.find(base.options.focusElement).addBack(base.options.focusElement).first().trigger('focus');
    } else {
      $elementsToAppend.closest(base.options.focusElement);
    }
  },

  /**
   * Entfernt den Nachlade-Button.
   */
  removeButtonWrapper: function () {
    const base = this;
    base.$el.find(base.options.selectors.buttonWrapper).remove();
  },

  defaultOptions: {
    data: 'dynamic-loader-content-src', // URI der Seite auf der die nachzuladenden Inhalte bereitliegen.
    focusElement: 'a', // Welches Element soll nach dem Laden fokussiert werden?
    selectors: {
      target: '.js-dynamic-loader-target', // In welchem Element sollen die Inhalte hinten eingefügt werden?
      button: '.js-dynamic-loader-button', // Button-Klasse - Klick auf dieses Element startet das Nachladen.
      buttonWrapper: '.js-dynamic-loader-button-wrapper', // Wrapper-Element des Buttons - für das Entfernen nötig.
      loadedContent: '.js-dynamic-loader-content' // Element auf der nachgeladenenen Seite, welches die neuen Inhalte bereitstellt.
    }
  }
});
   /* Ende gsb_dynamicLoader */
   /* Start gsb_fancy_selects */
   /* --GSBDocStart
 * @name: @gsb/gsb_fancy_selects 
 * @version: 4.1.3 
 * @description: Erzeugt für jedes enthaltene `<select>` ein Widget, welches dieses `<select>` steuert. 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule("gsb.fancy_selects", {
  init: function () {
    if (this.arePreconditionsMet()) {
      this.transformSelects();
      this.bindSelectEvents();
      this.bindListEvents();
      this.makeFancy();
      this.makeAccessible();
    }
  },
  arePreconditionsMet() {
    var base = this;
    var conditionsMet = true;
    var multiselectElements = [];
    var optgroupElements = [];
    var messageText;

    base.$el.find(this.options.selectors.select).each(function (i, select) {
      var $select = $(select);
      if ($select.is('[multiple], [aria-multiselectable]') || $select.attr('size') > 1) {
        multiselectElements.push(select);
      }
      if ($select.find('optgroup').length) {
        optgroupElements.push(select);
      }
    });

    if (multiselectElements.length) {
      conditionsMet = false;
      messageText = `${base.moduleName}: Mindestens ein verarbeitetes <select> sieht eine Mehrfachauswahl vor. `;
      messageText += "Diese Eigenschaft wird nicht unterstützt. Die Initialisierung des Moduls wird abgebrochen. ";
      messageText += "Um diesen Fehler zu beheben, muss entweder die Option selectors.select angepasst werden oder ";
      messageText += "die Attribute 'multiple', 'size' und 'aria-multiselectable' von den <select>s entfernt werden.";
      console.error(messageText, multiselectElements);
    }

    if (optgroupElements.length) {
      conditionsMet = false;
      messageText = `${base.moduleName}: Mindestens ein verarbeitetes <select> enthält ein <optgroup> Element. `;
      messageText += "Dieses Element wird nicht unterstützt. Die Initialisierung des Moduls wird abgebrochen. ";
      messageText += "Um diesen Fehler zu beheben, muss entweder die Option selectors.select angepasst werden oder ";
      messageText += "die <optgroup> Elemente entfernt werden.";
      console.error(messageText, optgroupElements);
    }

    return conditionsMet;
  },
  makeAccessible: function () {
    var base = this;
    base.uis.forEach(function (ui) {
      var listId = base.generateID(),
        activeDescendant = ui.opts.filter('[aria-selected=true]');

      ui.opts.each(function () {
        $(this).attr('id', base.generateID());
      });
      ui.errMsg.each(function () {
        $(this).attr('id', $(this).attr('id') || base.generateID());
      });
      $(ui.select.prop('labels')).each(function () {
        $(this).attr('id', $(this).attr('id') || base.generateID());
      });

      if (ui.select.attr('aria-label')) {
        base.addLabelTo(ui.select, ui.select.attr('aria-label'));
        ui.select.attr('aria-label', null);
      }

      ui.list.attr({
        role: "listbox",
        id: listId,
        'aria-labelledby': base.getLabelIDs(ui, null) || null,
        'aria-describedby': base.getDescriptionIDs(ui) || null
      });
      ui.heading.attr({
        role: 'combobox',
        'aria-owns': listId,
        'aria-controls': listId,
        'aria-labelledby': base.getLabelIDs(ui, null) || null,
        'aria-describedby': base.getDescriptionIDs(ui) || null,
        'aria-haspopup': 'listbox',
        'aria-activedescendant': activeDescendant.attr('id') || '',
        'aria-required': typeof ui.select.attr('required') !== "undefined" || Boolean(ui.select.attr('aria-required')),
        'aria-expanded': 'false',
        'title': ui.select.attr('title') || null
      });
    });
    base.$el.trigger('initialized.' + base.eventName);
  },
  addLabelTo: function (controlElem, labelText) {
    var base = this,
      id = base.generateID(),
      labelledby = controlElem.attr('aria-labelledby'),
      ariaLabels = !labelledby ? [] : labelledby.trim().split(/\s+/),
      newlyCreatedLabel;

    newlyCreatedLabel = $("<span/>").
    attr({
      id: id,
      hidden: 'hidden'
    }).
    text(labelText);
    ariaLabels.push(id);

    controlElem.
    attr('aria-labelledby', ariaLabels.join(' ')).
    before(newlyCreatedLabel);
  },
  getLabelIDs: function (ui, activeDescendant) {
    var base = this,
      ids = {},
      labels = $(ui.select.prop('labels')),
      ariaLabels = ui.select.attr('aria-labelledby') || '';
    [].forEach.call(labels.add(activeDescendant), function (label) {
      var labelId = $(label).attr('id');
      if (labelId) {
        ids[labelId.trim()] = true;
      }
    });
    ariaLabels.split('\s+').forEach(function (id) {
      if (id) {
        ids[id] = true;
      }
    });
    return Object.keys(ids).join(' ');
  },
  getDescriptionIDs: function (ui) {
    var base = this,
      ids = {},
      ariaDescriptions = ui.select.attr('aria-describedby') || '';
    ariaDescriptions.split(/\s+/g).forEach(function (id) {
      if (id) {
        ids[id] = true;
      }
    });
    ui.errMsg.filter(':visible').map(function (i, msg) {
      var id = $(msg).attr('id') || base.generateID();
      ids[id] = true;
    });
    return Object.keys(ids).join(' ');
  },
  transformSelects: function () {
    var base = this;
    base.selects = base.$el.find('select');
    base.uis = $.map(base.selects, function (sel) {
      var select = $(sel),
        labels = $(sel.labels),
        originalSelectId = select.attr('id'),
        newSelectId = 'replacedSelect_' + originalSelectId,
        wrapper,heading,list,ui,
        i,count;
      select.
      attr('id', newSelectId).
      addClass(base.options.classes.replacedSelect);
      wrapper = $(base.options.selectors.wrapper, base.el).insertAfter(select);
      list = wrapper.find(base.options.selectors.list);
      count = select.find('option').length;
      for (i = 0; i < count; i++) {
        list.append(base.options.markup.listItem);
      }

      heading = wrapper.find(base.options.selectors.heading);
      ui = {
        select: select,
        wrapper: wrapper,
        heading: heading.attr('id', originalSelectId),
        list: list,
        opts: list.find('li'),
        errMsg: select.siblings(base.options.selectors.errorMessage)
      };
      labels.each(function (i, label) {
        $(label).attr('for', newSelectId);
      });

      base.transformOptions(ui);
      base.updateValidityStatus(ui);
      return ui;
    });
  },
  transformOptions: function (ui) {
    var base = this,
      select = ui.select,
      options = select.find('option'),
      selectedIndex = select.prop('selectedIndex'),
      selectedOption = options.eq(selectedIndex > -1 ? selectedIndex : NaN),
      heading = ui.heading,
      list = ui.list;
    heading.text(selectedOption.text());
    options.each(function (i) {
      var opt = $(this),
        isSelected = opt.is(selectedOption);
      ui.opts.eq(i).
      attr('role', "option").
      attr('aria-disabled', opt.attr('disabled') ? "true" : "false").
      attr('aria-selected', isSelected ? "true" : "false").
      attr('data-value', opt.val()).
      text(opt.text());
    });
  },
  bindListEvents: function () {
    var base = this;
    base.uis.forEach(function (ui) {
      ui.wrapper.
      on('keydown', { base: base, ui: ui }, base.arrowNavigation).
      on('keydown', { base: base, ui: ui }, base.closeOnEscape);
      ui.list.
      on('mousedown', base.preventFocusOut).
      on('mouseup', { base: base, ui: ui }, base.directSelect);
    });
  },
  closeOnEscape: function (ev) {
    if (ev.key === "Escape" || ev.key === "Esc") {
      ev.preventDefault();
      $(this).trigger('close.simple_toggle');
    }
  },
  arrowNavigation: function (ev) {
    var base = ev.data && ev.data.base,
      ui = ev.data && ev.data.ui,
      activeOption = ui.opts.filter('[aria-selected=true]'),
      activeIndex = ui.opts.index(activeOption),
      option;
    switch (ev.key) {
      case "Down":
      case "ArrowDown":
        ui.wrapper.trigger('open.simple_toggle');
        option = base.findOption(ui, activeIndex, 'next');
        break;
      case "Up":
      case "ArrowUp":
        ui.wrapper.trigger('open.simple_toggle');
        option = base.findOption(ui, activeIndex, 'prev');
        break;
      default:
        return;}

    if (option && option.length && !option.is(activeOption)) {
      base.selectOption(ui, option);
    }
    ev.preventDefault();
    ev.stopPropagation();
  },
  findOption: function (ui, activeIndex, criterion) {
    var base = this,
      opts = ui.opts,
      opt,
      i,l;
    if (!opts.not('[aria-disabled=true]').length) {
      return $();
    }
    for (i = 1, l = opts.length; i <= l; i++) {
      if (criterion === 'next') {
        opt = opts.eq((activeIndex + i) % l);
      } else if (criterion === 'prev') {
        opt = opts.eq(activeIndex - i);
      }
      if (opt.not('[aria-disabled=true]').length) {
        return opt;
      }
    }
    return $();
  },
  selectOption: function (ui, opt) {
    var base = this,
      option = $(opt),
      optionId = option.attr('id');
    ui.select.
    val(option.attr('data-value')).
    trigger('change');
    base.transformOptions(ui);
    base.scrollBoxTo(ui, option);
    ui.heading.
    attr('aria-activedescendant', optionId).
    focus();
  },
  scrollBoxTo: function (ui, option) {
    const base = this;
    if (ui.list.length && option.length) {
      base.scrollIntoViewOneLevel(ui.list[0], option[0]);
    }
  },
  scrollIntoViewOneLevel: function (scrollContainer, scrollChild) {
    const containerRect = scrollContainer.getBoundingClientRect();
    const childRect = scrollChild.getBoundingClientRect();

    const bottomDiff = childRect.bottom - containerRect.bottom;
    const topDiff = containerRect.top - childRect.top;

    if (bottomDiff > 0) {// child is hidden below container
      scrollContainer.scrollBy(0, bottomDiff);
    }
    if (topDiff > 0) {// child is hidden above container
      scrollContainer.scrollBy(0, -topDiff);
    }
  },
  directSelect: function (ev) {
    var base = ev.data.base,
      ui = ev.data.ui,
      opt = $(ev.target);
    if (opt.is(':not([aria-disabled=true])')) {
      base.selectOption(ui, opt);
    }
  },
  makeFancy: function () {
    var base = this;

    base.uis.forEach(function (ui) {
      ui.wrapper.
      gsb_simple_toggle({
        closer: '',
        opener: ui.heading,
        item: ui.list,
        showClass: 'is-expanded',
        hideClass: 'is-collapsed'
      }).
      on('focusout', base.onFocusOut)
      //as the "parent" widget, we don't want any of these to bubble
      .on('close.simple_toggle.gsb open.simple_toggle.gsb toggle.simple_toggle.gsb', base, base.preventBubbling);
      ui.opts.
      on('mouseup', base.triggerCloseOpt);
      ui.heading.addClass(base.options.classes.isFancy);
    });
  },
  onFocusOut: function (ev) {
    var wrapper = $(this),
      rel = ev.relatedTarget;
    if (!rel || !wrapper.find(rel).length) {
      wrapper.trigger('close.simple_toggle');
    }
  },
  preventBubbling: function (ev) {
    ev.stopPropagation();
  },
  preventFocusOut: function (ev) {
    ev.preventDefault();
  },
  triggerCloseOpt: function (ev) {
    var opt = $(this);
    if (opt.is(':not([aria-disabled=true])')) {
      opt.trigger('close.simple_toggle');
    }
  },
  bindSelectEvents: function () {
    var base = this;
    base.uis.forEach(function (ui) {
      ui.select.on('invalid change', { base: base, ui: ui }, base.validate);
    });
  },
  validate: function (ev) {
    var base = ev.data.base,
      ui = ev.data.ui,
      select = ui.select[0];
    base.updateValidityStatus(ui);
    if (!select.validity.valid) {
      setTimeout(function () {
        var activeElement = $(document.activeElement),
          isActiveElementAfterSelect = select.compareDocumentPosition(activeElement[0]) === Node.DOCUMENT_POSITION_FOLLOWING,
          isActiveElementFancy = activeElement.hasClass(base.options.classes.isFancy),
          isActiveElementSubmit = activeElement.is('[type=submit]');
        if (isActiveElementSubmit || !isActiveElementFancy && isActiveElementAfterSelect) {
          ui.heading.focus();
        }
      }, 0);
    }
  },
  updateValidityStatus: function (ui) {
    var base = this,
      select = ui.select[0],
      errMsgs = ui.select.siblings(base.options.selectors.errorMessage),
      hasStickyErrorMessage;
    if (select.validity.valid) {
      hasStickyErrorMessage = Boolean(errMsgs.filter(base.options.selectors.stickyErrorMessage).length);
      ui.heading.attr('aria-invalid', hasStickyErrorMessage ? null : false);
      errMsgs.not(base.options.selectors.stickyErrorMessage).attr('aria-hidden', true);
    } else {
      ui.heading.attr('aria-invalid', true);
      errMsgs.not(base.options.selectors.stickyErrorMessage).attr('aria-hidden', false);
    }
    ui.heading.attr('aria-describedby', base.getDescriptionIDs(ui) || null);
  },
  defaultOptions: {
    cycle: true,
    selectors: {
      select: 'select',
      wrapper: //Markup der neuen fancy Selectbox
      '<div class=\'c-fancy-selects__select\'>' +
      '<p class=\'c-fancy-selects__heading\' tabindex=\'0\'></p>' +
      '<ul class=\'c-fancy-selects__list\'></ul>' +
      '</div>',
      heading: '.c-fancy-selects__heading', // Selektor des Kopfelementes, in dem der aktuell ausgewählte Eintrag angezeigt wird
      list: '.c-fancy-selects__list', // Selektor der Liste mit Einträgen
      errorMessage: '.formError, .js-clientsidevalidation-errmsg', // Selektor der Fehlermeldungen
      stickyErrorMessage: '.formError' // Selektor der Fehlermeldungen, bei denen aria-hidden Attribut nicht gesetzt wird
    },
    markup: {
      listItem: "<li class='c-fancy-selects__item'/>"
    },
    classes: {
      isFancy: 'js-is-fancy',
      replacedSelect: 'c-fancy-selects__replaced-select'
    }
  }
});
   /* Ende gsb_fancy_selects */
   /* Start gsb_flip_card */
   /* --GSBDocStart
 * @name: @gsb/gsb_flip_card 
 * @version: 1.0.0 
 * @description: A module that handles focus and toggle for flip card components. 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.flip_card', {
  init: function () {
    const base = this;
    base.allInstances.instCount++;
    base.instNS = '.inst' + base.allInstances.instCount + base.eventName;
    base.$back = base.$el.find(base.options.selectors.back);
    base.$buttons = base.$el.find(base.options.selectors.buttons);
    base.$front = base.$el.find(base.options.selectors.front);

    base.toggleKeyboardFocus(base.$back);
    base.setAriaHidden([base.$front, base.$back], base.$front);
    base.$front.focus();
    base.setTabindex(base.$front, '0');
    base.setTabindex(base.$back, '-1');

    base.$buttons.on('click', base, base.toggleCard);
  },

  /**
   * Takes an Array and an Element and sets all Elements of the Array but the given Element aria-hidden.
   * Sets the aria-hidden attribute of the given Element if contained in the Array to false.
   *
   * @param {[jQuery]} list - Array of jQuery Elements.
   * @param {jQuery} notHiddenElement - jQuery Element that should be visible.
   */
  setAriaHidden: function (list, notHiddenElement) {
    list.forEach(($element) => {
      if ($element !== notHiddenElement) {
        $element.attr('aria-hidden', 'true');
      } else {
        $element.attr('aria-hidden', 'false');
      }
    });
  },

  setTabindex: function (item, tabindex) {
    $(item).attr('tabindex', tabindex);
  },

  /**
   * Controls the flipping mechanism, initializes values if needed to flip the card. Should be called by the buttons dedicated to activate
   * the flipping mechanism.
   */
  toggleCard: function (event) {
    const base = event.data;
    // Initializes tabindex for front and back side if not set yet. Necessary so they can receive focus later.
    if (!base.$back.is('[tabindex]')) {
      base.setTabindex(base.$back, '-1');
      base.setTabindex(base.$front, '0');
    } else if (!base.$front.is('[tabindex]')) {
      base.setTabindex(base.$back, '0');
      base.setTabindex(base.$front, '-1');
    }

    // We assume one class is initially already defined, so one side is visible.
    base.$el.toggleClass(base.options.classes.flipped);

    // Set focus to the now shown side of the card. Hide the other side as soon as it is safe.
    if (!base.$el.hasClass(base.options.classes.flipped)) {//Case the front side is to be shown.
      base.setAriaHidden([base.$front, base.$back], base.$front);
      base.setTabindex(base.$front, '0');
      base.setTabindex(base.$back, '-1');
      base.$front.focus();
    } else {//Case the back side is to be shown
      base.setAriaHidden([base.$front, base.$back], base.$back);
      base.setTabindex(base.$front, '-1');
      base.setTabindex(base.$back, '0');
      base.$back.focus();
    }
    // Make sure invisible controls cannot receive focus.
    base.toggleKeyboardFocus(base.$back.add(base.$front));
  },

  /**
   * Changes the Tab-Index of natively focusable elements, to make them either focusable again or not focusable
   * in respect to whether or not they are on the side that is shown or not.
   *
   * @param {object} $target - Flip card sides.
   *
   **/
  toggleKeyboardFocus: function ($target) {
    const base = this;
    const toggleBackup = 'data-tabindex',
      toggleMark = 'data-toggled',
      rules = base.options.selectors.focusable;

    let limitedRules = rules.map((rule) => rule + `:not([${toggleMark}]):not([disabled]):not([aria-disabled="true"])`);

    limitedRules.forEach((rule) => {
      if ($target === undefined) {
        $target = base.$el;
      }

      //For each not disabled, not already toggled element in base.options.focusableElements
      $target.find(rule).each(function () {
        const $el = $(this);
        let tabindexBackup;

        // Only process if the element hasn't been toggled yet.
        if (!$el.is(`[${toggleMark}]`)) {
          // Will hold this element's original tabindex.

          // If the element's original tabindex hasn't been saved as a backup, do so.
          if (!$el.is(`[${toggleBackup}]`)) {
            if ($el.is(`[tabindex]`)) {
              $el.attr(toggleBackup, $el.attr('tabindex'));
            } else {
              $el.attr(toggleBackup, 0);
            }
          }

          tabindexBackup = $el.attr(toggleBackup);
          if ($el.attr('tabindex') !== '-1' && tabindexBackup !== '-1') {
            $el.attr('tabindex', '-1');
          } else {
            $el.attr('tabindex', tabindexBackup);
          }
          $el.attr(toggleMark, '1');
        }
      });
    });

    rules.forEach((item) => {
      base.$el.find(item).each(function () {
        this.removeAttribute(toggleMark);
      });
    });
  },

  allInstances: {
    instCount: 0
  },

  defaultOptions: {
    classes: {
      flipped: 'is-flipped'
    },
    selectors: {
      back: '.js-flip-card-back',
      buttons: '.js-flip-card-button', //Buttons that shall activate the flip toggle.
      front: '.js-flip-card-front',
      // Selectors for elements within the front and back side of the card of which this module should make sure they are not
      // focusable and tabbable after flipping.
      focusable: [
      '[tabindex]',
      'a[href]',
      'button',
      'input',
      'select',
      'textArea']

    }
  }
});
   /* Ende gsb_flip_card */
   /* Start gsb_generate_jumpnav */
   /**
 * @name gsb_generate_jumpnav
 * @version 1.2.0
 * @see {@link http://semver.org|Semantic Versioning}
 * @author skowatz
 *
 * @desc Modulbeschreibung
 * Generiert per XHR-Aufruf die Sprungnavigation, basierend auf den konfigurierten Sprungzielen
 *
 * @requires  {@link external:jQuery}
 *
 * @example
 * Beispielaufruf
 * $('.js-jumpnav-container').gsb_generate_jumpnav();
 */"use strict";
;(function ($) {
  "use strict";
  if (!$.gsb) {
    $.gsb = {};
  }

  $.gsb.generate_jumpnav = function generate_jumpnav(el, options) {
    let base = Object.create(generate_jumpnav.prototype);
    base.$el = $(el);
    base.el = el;
    base.moduleName = "gsb.generate_jumpnav";
    base.$el.data(base.moduleName, base);
    base.options = $.extend(true, {}, $.gsb.generate_jumpnav.defaultOptions, options);

    base.init();
    base.$el.gsb_responsiveListener(base);
  };

  $.gsb.generate_jumpnav.prototype = {
    init: function () {
      let base = this;
      let $headlines = $(base.options.selectors.targetContainer).find(base.options.selectors.targets).not(base.options.selectors.ignoreHeadlines);

      if ($headlines.length > 0) {
        base.setIdsToHeadlines($headlines);

        $.ajax({
          url: xhr_jumpnav_template
        }).done(function (template) {
          let $finalHtml = $($.parseHTML(template));
          const baseHref = $finalHtml.attr(base.options.hrefAttribute) ? $finalHtml.attr(base.options.hrefAttribute) : window.location.pathname + window.location.search;
          $finalHtml = $finalHtml.removeAttr(base.options.hrefAttribute).unwrap();
          gsb.log(baseHref);
          let $listItem = $finalHtml.find(base.options.selectors.listItem);
          $listItem.remove();

          let finalList = base.generateList($headlines, $listItem, baseHref);

          $finalHtml.find(base.options.selectors.list).html(finalList);

          base.$el.html($finalHtml);
          base.$el.trigger('init.generate_jumpnav.gsb');
          if (base.options.callback) {
            base.options.callback();
          }
        });
      }
    },

    /**
     * Setzt nummerierte IDs an die Objekte in dem übergebenen Array
     * @param $headlines Die Überschriften, an die die IDs gesetzt werden
     */
    setIdsToHeadlines: function setIdsToHeadlines($headlines) {
      const base = this;
      $headlines.each(function (index) {
        $(this).attr(`id`, base.options.idPrefix + (index + 1));
      });
    },

    /**
     * Generiert die Liste, indem über die Sprungziele iteriert wird und daraus die Links zusammengebaut werden
     * @param $targets Hierüber wird iteriert, es muss eine ID und sprechender Text-Inhalt vorhanden sein
     * @param $template Das Element, welches geklont und modifiziert wird
     * @param baseHref Der Link zur aktuellen Seite, wird benötigt, da wir <base href> nutzen
     * @returns Array, welches alle generierten Elemente beinhaltet, zum Einfügen in den DOM
     */
    generateList: function generateList($targets, $template, baseHref) {
      const base = this;
      let list = [];

      $targets.each(function (index, target) {
        let $currentListItem = $template.clone();

        //add headline text
        if ($(target).find('.data-alt').length > 0) {
          $currentListItem.find(base.options.selectors.text).html($(target).find('.data-alt').html());
          $(target).find('.data-alt').addClass('aural').attr('aria-hidden', 'true');
        } else {
          $currentListItem.find(base.options.selectors.text).html($(target).text());
        }

        //check if headline has carryOver class
        if ($(target).hasClass(base.options.classes.carryOver)) {
          //set carryOverClass to base.options.selectors.text
          $currentListItem.find(base.options.selectors.text).addClass(base.options.classes.carryOver);
        }

        //add level as class
        $currentListItem.addClass("is-" + $(target).prop('nodeName').toLowerCase());

        if ($(target).hasClass("c-related__headline")) {
          $currentListItem.addClass("is-related");
        }

        //add id to href
        $currentListItem.find(base.options.selectors.text).closest('a').attr('href', baseHref + '#' + $(target).attr('id'));
        base.addScrollHandler($currentListItem, $(target).attr('id'));

        //add listItem to object array
        list.push($currentListItem);

        $currentListItem = null; //reset
      });

      return list;
    },

    /**
     *  Fügt einen Scrollhandler hinzu, der die Einträge der Liste farbig markiert, wenn sich der entsprechene Bereich im Viewport befindet.
     */
    addScrollHandler: function addScrollHandler(currentListItem, id) {
      var sectionTop, sectionBottom;
      const base = this;
      const viewportOffset = 200;
      var idNumber = id.replace(base.options.idPrefix, '');

      var $anchorItem = $('.content').find('#' + id);
      idNumber++;
      var $nextAnchorItem = $('.content').find('#' + base.options.idPrefix + idNumber);

      if ($anchorItem.length !== 0) {
        sectionTop = $anchorItem.offset().top;
      }
      if ($nextAnchorItem.length !== 0) {
        sectionBottom = $nextAnchorItem.offset().top - 1;
      } else {
        sectionBottom = $('.content').offset().top + $('.content').outerHeight();
      }

      $(window).on('scroll', base, function () {
        if ($(window).scrollTop() + viewportOffset > sectionTop && $(window).scrollTop() + viewportOffset <= sectionBottom) {
          currentListItem.find('a').addClass('is-active');
        } else {
          currentListItem.find('a').removeClass('is-active');
        }

        var $activeItem = base.$el.find('.is-active').closest(base.options.selectors.listItem);
        var $list = base.$el.find(base.options.selectors.list);

        if (base.$el.find('.is-active').length > 0 && $list.height() > 0) {
          if ($activeItem.position().top > $list.height() / 2 + 50) {
            $list.scrollTop($list.scrollTop() + $activeItem.outerHeight() / 2);
          } else if ($activeItem.position().top < $list.height() / 2 - 50) {
            $list.scrollTop($list.scrollTop() - $activeItem.outerHeight() / 2);
          }
        }
      });
    }
  };

  $.gsb.generate_jumpnav.defaultOptions = {
    //module options
    idPrefix: 'vt-sprg-', //dieses Präfix wird vor die Nummerierung gehängt und als ID und href zum springen genutzt
    hrefAttribute: 'data-href', //das Attribut, an dem der Link zur aktuellen Seite hängt (muss in der XHR sein)
    classes: {
      carryOver: '' //diese Klasse wird von den selectors.targets an den entsprechenden selectors.text übernommen
    },
    selectors: {
      targetContainer: '.main', //wo wird nach Sprungzielen gesucht
      targets: 'h2', //welche Elemente werden zu Sprungzielen
      ignoreHeadlines: '.aural, .js-jumpnav__toggle', //welche durch den targets-Selektor gewählten Elemente sollen ignoriert werden
      navContainer: '.js-jumpnav-container', //wo wird die Sprungnavigation hinein generiert (muss initial im HTML sein)
      list: '.js-jumpnav__item', //wo werden die Listeneinträge hinein generiert (muss in der XHR sein)
      listItem: '.js-jumpnav__list-item', //welches Element dient als Listenpunkt-Vorlage (muss in der XHR sein)
      text: '.js-jumpnav__text' //wo wird der Sprungtitel hinein generiert (Textlicher Inhalt der targets)
    },
    callback: null,
    respondToEvents: true,
    onRefresh: function () {
      $('.js-sticky-bar-toc.active-control').click();
      $('.js-sticky-toc').hide();
    },
    responsive: [{
      breakpoint: 1023,
      onRefresh: function () {
        $('.js-sticky-toc').show();
      }
    }]
  };

  $.fn.gsb_generate_jumpnav = function (options) {
    return this.each(function () {
      $.gsb.generate_jumpnav(this, options);
    });
  };
})(jQuery);
   /* Ende gsb_generate_jumpnav */
   /* Start gsb_imageSourceLightbox */
   /**
 * @name gsb_imageSourceLightbox
 * @version 1.0.0
 * @see {@link http://semver.org|Semantic Versioning}
 * @author rkrusenb
 *
 * @desc Modulbeschreibung (TODO)
 *
 * @requires  {@link external:jQuery}
 * @requires  {@link external:Foundation.util.imageLoader}
 *
 * @example
 * // lightbox: Bildnachweis
 * $('.js-bildnachweis-lightbox').gsb_imageSourceLightbox({
 *   images: 'main img:visible'
 * });
 */"use strict";
;(function ($) {
  "use strict";
  if (!$.gsb) {
    $.gsb = {};
  }

  $.gsb.imageSourceLightbox = function imageSourceLightbox(el, options) {
    let base = Object.create(imageSourceLightbox.prototype);
    base.$el = $(el);
    base.el = el;
    base.moduleName = "gsb.imageSourceLightbox";
    base.$el.data(base.moduleName, base);
    base.options = $.extend(true, {}, $.gsb.imageSourceLightbox.defaultOptions, options);

    base.init();
  };

  $.gsb.imageSourceLightbox.prototype = {
    init: function () {
      let base = this,
        ignoredImages = $(base.options.selectors.ignoredImages, base.el),
        nachweisImages = $(base.options.images, base.el).not(ignoredImages);

      //consider deleting this after initial testing
      gsb.log("gsb_imageSourceLightbox::init");

      base.opener = base.$el.find(base.options.selectors.opener);
      base.content = base.$el.find(base.options.selectors.content);
      base.nachweisContainer = base.content.find(base.options.selectors.nachweisContainer);
      base.nachweisTemplate = base.nachweisContainer.html();

      base.opener.gsb_lightbox({
        magnificOptions: {
          type: 'inline',
          items: [{
            src: base.content
          }]
        }
      }).on('click', base, base.updateContent);

      Foundation.onImagesLoaded(nachweisImages, function () {
        base.updateContent();
      });

      base.content.addClass('mfp-hide');
    },
    updateContent: function (ev) {
      let base = ev ? ev.data : this,
        ignoredImages = $(base.options.selectors.ignoredImages, base.el),
        nachweisImages = $(base.options.images, base.el).not(ignoredImages),
        nachweisContainer = base.nachweisContainer,
        nachweisTemplate = base.nachweisTemplate;
      if (nachweisImages.length > 0) {
        base.opener.show();
        nachweisContainer.empty();
        nachweisImages.each(function () {
          let image = $(this).clone(true),
            imageSource = image.attr(base.options.attributes.imageSource),
            imageTitle = image.attr(base.options.attributes.imageTitle),
            nachweisElem;
          if (imageSource !== undefined) {
            nachweisElem = $(nachweisTemplate);
            nachweisElem.find(base.options.selectors.sourceContainer).html(imageSource);
            if (imageTitle !== undefined) {
              nachweisElem.find(base.options.selectors.titleContainer).html(imageTitle);
            }
            nachweisElem.find(base.options.selectors.imageContainer).append(image);
            nachweisContainer.append(nachweisElem);
          }
        });
      }
    }
  };

  $.gsb.imageSourceLightbox.defaultOptions = {
    images: 'img',
    attributes: {
      imageSource: 'data-source',
      imageTitle: 'data-title'
    },
    selectors: {
      opener: '.js-lightbox-credits-opener',
      content: '.js-lightbox-credits-content',
      ignoredImages: '.js-lightbox-credits-ignore',
      imageContainer: '.js-lightbox-credits-image-container',
      nachweisContainer: '.js-lightbox-credits-list',
      sourceContainer: '.js-lightbox-credits-source-container',
      titleContainer: '.js-lightbox-credits-title-container'
    }
  };

  $.fn.gsb_imageSourceLightbox = function (options) {
    return this.each(function () {
      $.gsb.imageSourceLightbox(this, options);
    });
  };
})(jQuery);
   /* Ende gsb_imageSourceLightbox */
   /* Start gsb_lightbox */
   /* --GSBDocStart
 * @name: @gsb/gsb_lightbox 
 * @version: 5.1.0 
 * @description: GSB-Wrapper-Plugin fuer magnific popup 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.lightbox', {
  init: function (el, userOptions) {
    var base = this,
      url = base.$el.data('lightbox-href');
    base.options.reallyMagnificOptions = $.extend(true, {}, base.defaultMagnificOptions, base.options.magnificOptions);
    $.extend(true, base.options.reallyMagnificOptions, {
      disableOn: function disableOn() {
        return !base.disabled;
      },
      callbacks: {
        change: function setMfpToThis() {
          base.mfp = this;
        }
      }
    });
    if (base.options.lightboxType === 'single') {
      base.createSingle(url);
    } else if (base.options.lightboxType === 'multiple') {
      base.createMultiple(url);
    }

    base.makeAccessible();
  },
  makeAccessible: function () {
    var base = this;
    base.$el.off('mfpOpen mfpClose', base.openCloseToggle).
    on('mfpOpen', base, base.openCloseToggle).
    on('mfpClose', base, base.openCloseToggle);
  },
  openCloseToggle: function (ev) {
    var base = ev.data;
    $(base.options.selectors.toggleHidden).
    attr('aria-hidden', ev.type === 'mfpOpen' ? 'true' : 'false');
  },
  createSingle: function (url) {
    var base = this;
    if (url) {
      base.options.reallyMagnificOptions.type = 'inline';
    } else if (base.$el.parents(base.options.element).length) {
      base.options.reallyMagnificOptions.type = 'image';
    }
    if (url) {
      $.ajax({
        url: url,
        success: base.successCallbackSingle,
        context: base
      });
    } else {
      base.initializeSingle(base.$el);
    }
  },
  successCallbackSingle: function (data) {
    var base = this,
      $container;

    if (!base.options.alwaysReparseHtml) {
      $container = $('<div></div>').html(data);
      base.options.reallyMagnificOptions.items = [{ src: $container, type: 'inline' }];
    } else {
      base.options.reallyMagnificOptions.items = [{ src: data, type: 'inline' }];
    }
    base.initializeSingle($container || data);
  },

  initializeSingle: function (containerOrData) {
    var base = this;
    gsb.requireGSBComponent('bundle_multimedia', $(containerOrData).find('audio, video')).
    always(function () {
      base.initialize();
    });
  },

  initialize: function () {
    var base = this;

    // base.options.magnificOptions is intended to be the ultimate override; it *will* break things if improperly configured
    $.extend(true, base.options.reallyMagnificOptions, base.options.magnificOptions);

    base.$el.magnificPopup(base.options.reallyMagnificOptions);
    if (base.options.lightboxType === 'multiple') {
      base.$el.
      off('click').
      on('mfpOpen', base, base.galleryOpen);
    }
    base.addCommonEventListeners();
  },
  createMultiple: function (url) {
    var base = this;
    if (url) {
      $.ajax({
        url: url,
        success: base.successCallbackGallery,
        context: base
      });
    } else {
      base.$el.on('init.slideshow.gsb', base, base.onSlideshowInitGallery);
    }
    base.$el.on('init.slideshow.gsb', base, base.onSlideshowInitOpeners);
  },
  successCallbackGallery(data) {
    var base = this,
      container = $('<div/>').html(data);

    gsb.requireGSBComponent('bundle_multimedia', container.find('audio, video')).
    always(function () {
      base.makeGallery(container);
    });
  },
  onSlideshowInitGallery: function (ev) {
    var base = ev.data;
    base.makeGallery(this);
  },
  onSlideshowInitOpeners: function (ev) {
    var base = ev.data;
    base.$el.find(base.options.opener).each(function (index) {
      var opener = $(this),
        openerData = $.extend(true, opener.data('gsb.lightboxopener'), { index: index });
      opener.
      data('gsb.lightboxopener', openerData).
      on('click', base, base.openerClickHandler).
      on('keydown', base, base.simulateClick);
    });
  },
  openerClickHandler: function (ev) {
    var base = ev.data;
    if (!base.disabled) {
      ev.preventDefault();
      base.$el.data('magnificPopup').index = $(this).data('gsb.lightboxopener').index;
    }
    base.$el.magnificPopup('open');
  },
  simulateClick: function (ev) {
    var base = ev.data;
    if (ev.key === 'Enter') {
      $(this).click();
    }
  },
  makeGallery: function (container) {
    var base = this,
      options = base.options,
      items;

    items = $.map($(container).find(options.element), function (item) {
      return {
        src: $(item).clone().find('.loupe').remove().end().removeClass('slick-slide').removeAttr('style'),
        type: 'inline'
      };
    });
    options.reallyMagnificOptions.items = items;
    $.extend(true, options.reallyMagnificOptions, {
      gallery: {
        enabled: true
      }
    });

    base.initialize();
  },
  galleryOpen: function (ev) {
    var base = ev ? ev.data : this,
      mfp = base.mfp,
      options = base.options;
    mfp.prev = function () {
      if (options.cycle || mfp.index !== 0) {
        $.magnificPopup.proto.prev.call(mfp);
      }
    };
    mfp.next = function () {
      if (options.cycle || mfp.index !== mfp.items.length - 1) {
        $.magnificPopup.proto.next.call(mfp);
      }
    };
    base.checkArrowState();
    base.initHammer();
    base.preloadImages();
  },
  preloadImages: function () {
    var base = this,
      mfp = base.mfp;
    if (base.options.preloadImages) {
      mfp.items.forEach(function (el) {
        var src = el.src && el.src.jquery ? el.src : null;
        if (!src) {
          return;
        }
        src.find('img').each(function () {
          var $img = $(this),
            src = $img.attr('src'),
            altSrc = $img.attr('data-src');
          if (src === undefined && altSrc !== undefined) {
            $img.attr('src', altSrc);
          }
        });
      });
    }
  },
  initHammer: function () {
    var base = this,
      mfp = base.mfp;
    if (typeof mfp.contentContainer.hammer === 'function' && !mfp.wrap.data('gsb.swipe')) {
      mfp.contentContainer.hammer({
        drag_block_horizontal: true,
        stop_browser_behavior: { touchAction: 'auto' },
        swipe_velocity: 0.3
      }).on('swiperight', function () {
        mfp.prev();
      }).on('swipeleft', function () {
        mfp.next();
      }).data('gsb.swipe', {});
    }
  },
  checkArrowState: function (ev) {
    var base = ev ? ev.data : this,
      mfp = base.mfp,
      options = base.options;
    if (!options.cycle && mfp.arrowLeft && mfp.arrowRight) {
      if (mfp.index === 0) {
        mfp.arrowLeft.
        attr('aria-disabled', true).
        attr('tabindex', '-1').
        find('img').
        attr('src', options.imagePrevInactive);
      } else {
        mfp.arrowLeft.
        attr('aria-disabled', false).
        attr('tabindex', '0').
        find('img').attr('src', options.imagePrev);
      }
      if (mfp.index === mfp.items.length - 1) {
        mfp.arrowRight.
        attr('aria-disabled', true).
        attr('tabindex', '-1').
        find('img').
        attr('src', options.imageNextInactive);
      } else {
        mfp.arrowRight.
        attr('aria-disabled', false).
        attr('tabindex', '0').
        find('img').attr('src', options.imageNext);
      }
    }
  },
  addCommonEventListeners: function () {
    var base = this;
    base.$el.on('mfpParseAjax', base, base.addRootElementIfNecessary);
    base.$el.on('mfpAfterChange mfpAjaxContentAdded', base, base.onUpdateContent);
    base.$el.on('mfpOpen', base, base.reappendArrowsIfNecessary);
  },
  addRootElementIfNecessary: function (ev, mfpResponse) {
    var base = ev.data,
      rootNodes = $(mfpResponse.data),
      rootElements = rootNodes.filter('*'),
      newRoot = $('<div></div>').addClass('js-lightbox-newroot');
    if (rootElements.length > 1) {
      mfpResponse.data = newRoot.append(rootNodes)[0].outerHTML;
    }
  },
  onUpdateContent: function (ev) {
    var base = ev.data,
      mfp = base.mfp,
      contentContainer = $(mfp.contentContainer),
      closeButton = contentContainer.find('.mfp-close'),
      closeButtonWasFocused = false,
      contentLabel = contentContainer.find(base.options.selectors.contentLabel).first(),
      labelId = contentLabel.attr('id');
    base.checkArrowState();
    if (!closeButton.hasClass('has-been-moved')) {
      closeButtonWasFocused = closeButton.is(document.activeElement);
      closeButton.prependTo(mfp.content).addClass('has-been-moved');
      if (closeButtonWasFocused) {
        closeButton.trigger('focus');
      }
    }
    contentLabel.attr('id', labelId || base.generateID());
    contentContainer.
    attr({
      role: 'dialog',
      'aria-modal': true,
      'aria-labelledby': contentLabel.attr('id') || null
    }).
    find('video, audio').each(function (_, el) {
      var data = $(el).data('gsb.Multimedia');
      contentContainer.addClass(base.options.classes.mfpContentMultimedia);
      if (!data) {
        data = $(el).gsb_Multimedia(base.options.gsbMultimediaOptions).data('gsb.Multimedia');
      }
      if (!data.workaround && typeof data.triggerRefresh === 'function') {
        data.workaround = true;
        data.triggerRefresh(); //no idea why this fixes it, but nothing else will
      }
    }).
    end().
    find('img').each(function () {
      var $img = $(this),
        src = $img.attr('src'),
        altSrc = $img.attr('data-src');
      if (src === undefined && altSrc !== undefined) {
        $img.attr('src', altSrc);
      }
    });
  },
  reappendArrowsIfNecessary: function (ev) {
    var base = ev ? ev.data : this,
      mfp = base.mfp;
    // re-appends controls inside the main container
    if (mfp.contentContainer && mfp.arrowLeft && mfp.arrowRight) {
      mfp.contentContainer.append(mfp.arrowLeft.add(mfp.arrowRight));
    }
  },
  closeLightbox: function () {
    var base = this;
    base.$el.magnificPopup('close');
  },
  disable: function () {
    var base = this;
    base.disabled = true;
  },
  enable: function () {
    var base = this;
    base.disabled = false;
  },
  defaultMagnificOptions: {
    //general label options
    gallery: {
      //gallery label options
      tPrev: typeof BACK === 'undefined' ? 'Vorheriges (linke Pfeiltaste)' : BACK, // Alt text on left arrow
      tNext: typeof NEXT === 'undefined' ? 'Nächstes (rechte Pfeiltaste)' : NEXT, // Alt text on right arrow
      tCounter: typeof LIGHTBOX_X_OF_Y === 'undefined' ? '%curr% von %total%' : LIGHTBOX_X_OF_Y, // Markup for "1 of 7" counter
      arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"><img alt="%title%"/></button>'
    },
    tClose: typeof CLOSE === 'undefined' ? 'Schließen (Esc)' : CLOSE,
    //main options
    type: 'ajax',
    closeOnContentClick: false,
    closeBtnInside: true,
    closeMarkup: '<button class="mfp-close">%title%</button>',
    focus: '.mfp-close',
    image: {
      verticalFit: true,
      titleSrc: function titleSrc() {
        return $(this.currItem && this.currItem.el).find('img').attr('alt');
      }
    },
    ajax: {
      settings: {}
    },
    callbacks: null // dont use this. use events instead
  },


  defaultOptions: {
    selectors: {
      contentLabel: 'h1, h2, h3, h4, h5, h6',
      toggleHidden: '.wrapperDivisions' // used to set aria-hidden attribute
    },
    classes: {
      mfpContentMultimedia: 'multimedia' // will be added do the mfp-content Element if the content contains audio or video
    },
    lightboxType: 'single', // this is NOT the same as e.g. magnificOptions.type,
    alwaysReparseHtml: false, // if lightboxType === 'single', always create lightbox content fresh from ajax response (i.e. item is a string, not a DOM element)
    cycle: false,
    element: '.picture',
    opener: '.loupe',
    imagePrev: '', // MUST be specified if lightboxType = 'multiple'
    imageNext: '', // MUST be specified if lightboxType = 'multiple'
    preloadImages: true, // setting this to false only works if the corresponding jsp template is changed accordingly,
    magnificOptions: {}, // try to avoid using this
    gsbMultimediaOptions: {}
  }
});
   /* Ende gsb_lightbox */
   /* Start gsb_responsivetables */
   /* --GSBDocStart
 * @name: @gsb/gsb_responsivetables 
 * @version: 4.0.2 
 * @description: Vielfältig einsetzbare Ein- und Ausblendefunktion 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.responsiveTables', {
  init: function () {
    const base = this;
    gsb.log('gsb_responsivetables.init()');

    base.responsiveTables = base.$el.find('table').map(function () {
      const $table = $(this).wrap('<div class="' + base.options.classes.responsiveTable + '"></div>');
      const $respTable = $table.parent();
      if (base.options.way === 'scroll') {
        $respTable.wrap('<div class="' + base.options.classes.responsiveTableWrapper + '"></div>');
        const $respWrapper = $respTable.parent();
        $respTable.on('scroll.responsivetables.gsb', base, base.handleScroll); // adding scroll listener to responsiveTable
        base.initClasses($respWrapper, $table, base.options.copyClassesFromTableToWrapper);
      }
      base.initClasses($respTable, $table, base.options.copyClassesFromTableToInnerDiv);
      return $respTable[0];
    });
    base.lastResize = Date.now() - base.options.throttle;
    base.onResize();
    $(window).on('resize', base, base.onResize);
  },

  initClasses: function ($element, $table, option) {
    if (option) {
      if (option.include) {
        $element.addClass(option.include);
      }
      if (option.inherit) {
        $element.addClass($table.attr('class'));
      }
      if (option.exclude) {
        $element.removeClass(option.exclude);
      }
    }
  },

  onResize: function (ev) {
    const base = ev ? ev.data : this;
    if (Date.now() >= base.lastResize + base.options.throttle) {
      base.responsiveTables.trigger('scroll.responsivetables.gsb');
      base.lastResize = Date.now();
    }
  },

  // adds classes to <div class="responsiveTableWrapper"></div>
  handleScroll: function (ev) {
    const base = ev.data;
    const respElem = this;
    const $respWrapper = $(respElem).parent();
    const scrollRight = respElem.scrollWidth - respElem.clientWidth - respElem.scrollLeft;
    if (respElem.scrollLeft > 0) {
      $respWrapper.addClass(base.options.classes.scrollLeft);
    } else {
      $respWrapper.removeClass(base.options.classes.scrollLeft);
    }
    if (scrollRight > 0) {
      $respWrapper.addClass(base.options.classes.scrollRight);
    } else {
      $respWrapper.removeClass(base.options.classes.scrollRight);
    }
  },

  defaultOptions: {
    way: 'scroll',
    throttle: 50,
    copyClassesFromTableToInnerDiv: {
      exclude: '',
      include: '',
      inherit: false
    },
    copyClassesFromTableToWrapper: {
      exclude: '',
      include: '',
      inherit: false
    },
    classes: {
      scrollLeft: 'is-scroll-left',
      scrollRight: 'is-scroll-right',
      responsiveTable: 'responsiveTable',
      responsiveTableWrapper: 'responsiveTableWrapper'
    }
  }
});
   /* Ende gsb_responsivetables */
   /* Start gsb_scroll_control */
   /* --GSBDocStart
 * @name: @gsb/gsb_scroll_control 
 * @version: 1.1.0 
 * @description: A module that handles scrolling for anchor-links on click and on pageload  
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.scroll_control', {

  init: function () {
    const base = this;
    if (base.options.scrollOnPageLoad) {
      base.scrollOnPageLoad();
    }
    if (base.options.scrollOnAnchorLinkClick) {
      base.$el.find(base.options.selectors.anchorLinks).on('click', base, base.scrollOnAnchorLinkClick);
    }
  },

  /**
   * Function that triggers on page load and scrolls to the element with the id given in the link, if the url contains
   * an element id.
   **/
  scrollOnPageLoad: function () {
    const base = this;
    if (window.location.hash) {
      const $elementToScrollTo = $(window.location.hash).not(base.options.selectors.excludeFromScrollOnPageLoad);
      if ($elementToScrollTo.length) {
        if (history.scrollRestoration) {
          history.scrollRestoration = 'manual';
        }
        setTimeout(function () {
          base.animatedScroll($elementToScrollTo);
        },
        // if cookiebanner is visible
        $(base.options.selectors.cookiebanner).is(':visible') ? base.options.cookiebannerAnimationDuration + 50 : 0);
      }
    }
  },

  /**
   * Function that that is registered to the click event of selected anchor-links.
   *
   * @param {event} e - Event that is fired on click of an anchor link.
   *
   **/
  scrollOnAnchorLinkClick: function (e) {
    const base = e.data;
    if (this.origin === window.location.origin && this.pathname === window.location.pathname && this.search === window.location.search) {
      e.preventDefault();
      const hash = $(e.currentTarget).attr('href');
      history.pushState({}, '', hash);
      const id = hash.substring(hash.indexOf('#'));
      const $elementToScrollTo = $(id);
      base.animatedScroll($elementToScrollTo);
    }
  },

  /**
   * Calculates the height of all overlays, adds them and returns the result.
   *
   * @return {number} height - Height of overlays in pixel.
   *
   **/
  getOverlaysHeight: function () {
    const base = this;
    let height = 0;
    $(base.options.selectors.overlays).each(function (index, element) {
      height = height + $(element).outerHeight(true);
    });
    return height;
  },

  /**
   * Scrolls to the Element $elementToScrollTo including the given offset in options.scrollOffset
   *
   * @param {object} $target - Element that should be scrolled into view.
   *
   **/
  animatedScroll: function ($elementToScrollTo) {
    const base = this;
    const scrollOffset = base.options.scrollOffset;
    let offset = 0;

    if (typeof scrollOffset === 'number') {
      offset = scrollOffset || 0;
    } else if (typeof scrollOffset === 'function') {
      offset = scrollOffset.call(base, $elementToScrollTo) || 0;
    }

    if ($elementToScrollTo.length > 0) {
      base.$el.css('scroll-behavior', 'auto'); // jquery animiertes Scrollen funktioniert nicht korrekt mit scroll-behavior: 'smooth'
      let overlaysHeight = base.getOverlaysHeight() + offset;
      base.$el.clearQueue().stop().animate({
        scrollTop: $elementToScrollTo.offset().top - overlaysHeight
      }, base.options.scrollAnimationDuration, 'linear',

      function () {//erster Callback nach erster Scroll Animation
        // ensure that the last scroll event (used by e.g. gsb_shrinkheader) from the previous scrolling animation has been fired and the overlaysHeight has been properly updated
        requestAnimationFrame(function () {
          overlaysHeight = base.getOverlaysHeight() + offset;
          base.$el.clearQueue().stop().animate({
            // Rescroll um Overlay Änderungen abzufangen
            scrollTop: $elementToScrollTo.offset().top - overlaysHeight
          }, base.options.scrollAnimationDuration / 2, 'linear', function () {
            requestAnimationFrame(function () {// zweiter Callback nach zweiter Scroll Animation
              base.$el.css('scroll-behavior', ''); // Scroll Verhalten Manipulation entfernen
              if (!$elementToScrollTo.is($('[tabindex]'))) {
                $elementToScrollTo.attr('tabindex', -1); // tabindex="-1" hinzufügen um das Element per Javascript fokussierbar zu machen, falls es nicht bereits einen tabindex hat
              }
              $elementToScrollTo[0].focus({ preventScroll: true }); // nicht per Browser scrollen, da wir bereits mit JavaScript an die korrekte Stelle gescrollt haben
            });
          });
        });
      });
    }
  },

  defaultOptions: {
    cookiebannerAnimationDuration: 1800, // same as gsb_banner animationSpeed
    scrollAnimationDuration: 200,
    scrollOnPageLoad: true,
    scrollOnAnchorLinkClick: true,
    scrollOffset: function (referenceElement) {
      return 0;
    },
    selectors: {
      anchorLinks: 'a[href*="#"]:not(.tabs-list a,[href="#"])',
      excludeFromScrollOnPageLoad: '.js-accordion-hashControlled .js-accordion-entry',
      cookiebanner: '', // use valid selector if the cookiebanner is displayed at the top of the page, positioned relative, pushing the contents down during the animation.
      overlays: '.js-header.is-sticky'
    }
  }
});
   /* Ende gsb_scroll_control */
   /* Start gsb_shrinkheader */
   /* --GSBDocStart
 * @name: @gsb/gsb_shrinkheader 
 * @version: 4.2.0 
 * @description: Berechnet die Höhe des Headers und setzt, sobald dieser aus dem sichtbaren Bereich verschwindet, eine CSS Klasse and das base-Element. Anhand der Klasse kann der Header dann neu gestyled werden und ggf. andere Bilder/Logos eingeblendet werden. 
 * --GSBDocEnd
*/
'use strict';
gsb.makeGSBModule('gsb.shrinkheader', {
  init: function () {
    const base = this;
    base.$el.gsb_responsiveListener(base);
    base.$el.trigger('init.shrinkheader.gsb');
  },

  /**
   * @method initScrollEvent
   * @desc Initialisierung des Scripts bzw. des Scroll-Events
   */
  initScrollEvent: function () {
    const base = this;
    base.setBaseHeight({});
    base.checkPosition();
    $(window).off('scroll.shrinkheader.gsb').on('scroll.shrinkheader.gsb', function () {
      base.checkPosition();
    });
    $(window).on('resize', base, base.setBaseHeight);

    if (base.options.showOnlyOnScrollUp) {
      const lastScrollTop = 0;
      $(window).off('scroll.showOnlyOnScrollUp.shrinkheader.gsb', base.showOnlyOnScrollUp).
      on('scroll.showOnlyOnScrollUp.shrinkheader.gsb', { base: base, lastScrollTop: lastScrollTop }, base.showOnlyOnScrollUp);
    } else {
      $(window).off('scroll.showOnlyOnScrollUp.shrinkheader.gsb', base.showOnlyOnScrollUp);
      base.$el.removeClass(base.options.classes.scrollDownClass);
    }
  },


  /**
   * Setzt sie base.height neu.
   * Dies ist notwendig für den Fall, wenn die Seite gezoomed wird und sich durch den Zoom die Höhe verändert.
   * @param e
   */
  setBaseHeight: function (e) {
    const base = e.data || this;
    const isShrunk = base.$el.hasClass(base.options.classes.shrinkCssClass);
    if (isShrunk) {// bereits geschrumpft
      // shrinkheader muss kurz voll angezeigt werden, damit die Höhe berechnet werden kann
      base.$el.removeClass(base.options.classes.shrinkCssClass);
      $('body').removeClass(base.options.classes.shrinkBodyClass);

      base.height = base.$el.outerHeight(true); // Höhe entnehmen

      // vorherigen Zustand wieder herstellen
      base.$el.addClass(base.options.classes.shrinkCssClass);
      $('body').addClass(base.options.classes.shrinkBodyClass);
    } else {
      base.height = base.$el.outerHeight(true);
    }
  },

  /**
   * Wenn das angegebene Element nicht sichtbar ist, find das nächst sichtbare.
   * Dies ist ein Fallback für den Fall, wenn die Seite nach dem Laden gezoomed wird, und das Element, welches den Margin bekommen soll nicht mehr sichtbar ist.
   * @param $lastElement
   * @returns {*}
   */
  getFirstVisibleElement: function ($lastElement) {
    const base = this;
    let $nextElement = $lastElement.next();
    if (!$nextElement.is(':visible')) {
      $nextElement = base.getFirstVisibleElement($nextElement);
    }
    return $nextElement;
  },

  /**
   * @method checkPosition
   * @desc Prüft ob die Klasse shrinkCssClass und shrinkBodyClass gesetzt oder entfernt werden muss, fügt am Element elementToAddMarginTo den margin-top hinzu und entfernt, falls konfiguriert, Tabindexe
   */
  checkPosition: function () {
    const base = this;
    base.$el.trigger('beforeCheckPosition.shrinkheader.gsb');
    const distanceY = window.scrollY;
    const isShrunk = base.$el.hasClass(base.options.classes.shrinkCssClass);

    if (!isShrunk) {
      // Im Ausgangszustand ist das Menu nicht zwingend das erste Element im Dom mit einer Höhe, deshalb wird dieser Offset ausgelesen und für spätere Verwendung im verkleinerten Zustand gespeichert.
      base.lastKnownOffset = base.$el.offset().top;
    }
    // Wenn kein Pixelwert in der Option gegeben ist, wird dieser berechnet.
    const shrinkOn = base.options.shrinkOn || base.height + base.lastKnownOffset;

    let $elementToAddMarginTo = $(base.options.selectors.elementToAddMarginTo);
    if (!$elementToAddMarginTo.is(':visible')) {
      // Wenn das Element nicht sichtbar ist, finde das nächste sichtbare Element und nutze dies
      $elementToAddMarginTo = base.getFirstVisibleElement($elementToAddMarginTo);
    }

    if (distanceY > shrinkOn) {
      // Header soll verkleinert dargestellt werden
      if (!isShrunk) {
        $elementToAddMarginTo.css({ marginTop: base.height });
        $('body').addClass(base.options.classes.shrinkBodyClass);
        base.fixA11y(true);
        base.$el.addClass(base.options.classes.shrinkCssClass);
      }
    } else {
      // Header Ausgangszustand
      if (base.$el.hasClass(base.options.classes.shrinkCssClass)) {
        $elementToAddMarginTo.css({ marginTop: '' });
        $('body').removeClass(base.options.classes.shrinkBodyClass);
        base.fixA11y(false);
        base.$el.removeClass(base.options.classes.shrinkCssClass);
      }
    }
    base.$el.trigger('afterCheckPosition.shrinkheader.gsb');
  },

  /**
   * @method fixA11y
   * @desc setzt bei aktivierten shrinkheader den Tabindex bei den selektierten Elementen
   */
  fixA11y: function (shrink) {
    const base = this;
    base.$el.trigger('beforeA11y.shrinkheader.gsb');
    const $elements = $(base.options.selectors.elementsToRemoveFromTabindex);
    if (shrink) {
      $elements.attr('tabindex', -1);
    } else {
      $elements.removeAttr('tabindex');
    }
    base.$el.trigger('afterA11y.shrinkheader.gsb');
  },

  showOnlyOnScrollUp: function (e) {
    const base = e.data.base;
    const scrollTop = $(this).scrollTop();

    if (scrollTop > e.data.lastScrollTop) {
      if (!base.$el.hasClass(base.options.classes.scrollDownClass)) {
        base.$el.addClass(base.options.classes.scrollDownClass);
      }
    } else {
      base.$el.removeClass(base.options.classes.scrollDownClass);
    }

    e.data.lastScrollTop = scrollTop;

    if (scrollTop <= 0) {
      base.$el.removeClass(base.options.classes.scrollDownClass);
    }
  },

  /**
   * @method removeScrollEvent
   * @desc Entfernt das Scroll-Event scroll.shrinkheader
   */
  removeScrollEvent: function () {
    const base = this;
    if (base.$el.hasClass(base.options.classes.shrinkCssClass)) {
      base.$el.removeClass(base.options.classes.shrinkCssClass);
      base.fixA11y(false);
    }
    $(window).off('scroll.shrinkheader');
  },

  defaultOptions: {
    shrinkOn: null,
    showOnlyOnScrollUp: false,
    classes: {
      shrinkBodyClass: 'header-is-sticky',
      shrinkCssClass: 'is-sticky',
      scrollDownClass: 'is-scrolling-down'
    },
    selectors: {
      elementToAddMarginTo: '.main',
      elementsToRemoveFromTabindex: ''
    },
    respondToEvents: true,
    onRefresh: function () {
      this.initScrollEvent();
    },
    responsive: [
    {
      breakpoint: 1024,
      onRefresh: function () {
        this.removeScrollEvent();
      }
    }]

  }
});
   /* Ende gsb_shrinkheader */
   /* Start gsb_simple_toggle */
   /* --GSBDocStart
 * @name: @gsb/gsb_simple_toggle 
 * @version: 5.0.0 
 * @description: Vielfältig einsetzbare Ein- und Ausblendefunktion 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.simple_toggle', {
  init: function () {
    const base = this;
    base.closer = $(base.options.closer, base.el);
    base.opener = $(base.options.opener, base.el);
    base.items = $(base.options.item, base.el);
    base.isOpen = base.opener.hasClass(base.options.activeClass);
    base.setupOpenerAndItems();
    base.setupEventListeners();
    base.insertCloser();
    base.$el.gsb_responsiveListener(base);
  },

  setupOpenerAndItems: function () {
    const base = this;
    const openerListAttr = typeof base.options.openerListAttr === 'string' ? base.options.openerListAttr : '';
    const useAriaLabelledBy = openerListAttr.toLowerCase() === 'aria-labelledby';
    $().add(base.opener).add(base.items).each(function () {
      $(this).attr('id', $(this).attr('id') || base.generateID());
    });
    base.items.each(function (i, el) {
      const item = $(el);
      item.attr('role', item.attr('role') || 'region');

      if (base.isOpen) {
        $(this).addClass(base.options.showClass);
        $(this).removeClass(base.options.hideClass);
      } else {
        $(this).addClass(base.options.hideClass);
        $(this).removeClass(base.options.showClass);
      }

      if (!useAriaLabelledBy || !item.attr('aria-label')) {
        base.addIdsToAttr(item, openerListAttr, base.opener);
      }
    });

    if (!base.opener.is('button')) {
      base.opener.attr('role', 'button').attr('tabindex', base.opener.attr('tabindex') || 0);
    }
    base.opener.attr(base.options.openerStatusAttr, base.isOpen);
    base.opener.addClass(base.isOpen ? base.options.activeClass : base.options.inactiveClass);
    base.items.attr('aria-hidden', !base.isOpen);
    base.addIdsToAttr(base.opener, base.options.itemListAttr, base.items);

    if (base.opener.length && !$('body').find(base.opener).length) {
      base.$el[base.options.openerInsert](base.opener);
    }
  },

  setupEventListeners: function () {
    const base = this;
    base.$el.on('open.simple_toggle.gsb', base, base.open);
    base.$el.on('toggle.simple_toggle.gsb', base, base.openerHandler);
    base.$el.on('close.simple_toggle.gsb', base, base.close);
    base.closer.on('click keydown', base, base.closerHandler);
    base.opener.on('click keydown', base, base.openerHandler);
    if (base.options.closeOnFocusout) {
      base.opener.add(base.items).on('mousedown focusout', base, base.focusoutHandler);
      base.opener.add(base.items).on('keydown', base, base.escapeHandler);
    }
  },

  insertCloser: function () {
    const base = this;
    if (base.closer.length && !$('body').find(base.closer).length) {
      if (base.items.length < 2) {
        base.items[base.options.closerInsert](base.closer);
      } else if (typeof base.options.closer === 'string') {
        base.items[base.options.closerInsert](base.options.closer);
      } else {
        base.$el[base.options.closerInsert](base.closer);
      }
    }
  },

  addIdsToAttr: function ($elem, attrName, addElems) {
    const val = attrName ? $elem.attr(attrName) : '';
    const oldIds = val ? val.trim().split(/\s+/g) : [];
    const ids = {};
    if (attrName) {
      oldIds.forEach(function (id) {
        ids[id] = true;
      });
      addElems.each(function () {
        ids[$(this).attr('id')] = true;
      });
      $elem.attr(attrName, Object.keys(ids).join(' '));
    }
  },

  openerHandler: function (ev) {
    const base = ev.data;
    if (!ev.key || ev.key === 'Spacebar' || ev.key === ' ' || ev.key === 'Enter') {
      ev.preventDefault();
      if (base.opener.hasClass(base.options.activeClass)) {
        base.close(ev);
      } else {
        base.open(ev);
      }
    }
  },

  closerHandler: function (ev) {
    const base = ev.data;
    if (!ev.key || ev.key === 'Spacebar' || ev.key === ' ' || ev.key === 'Enter') {
      ev.preventDefault();
      base.close(ev);
    }
  },

  focusoutHandler: function (ev) {
    const base = ev ? ev.data : this;
    if (ev.type === 'mousedown') {
      // When the mousedown event occurs a focusout event follows.
      // If the mousedown event occurs on a non-focusable element, the new activeElement will be <body> which is outside the $box.
      ev.preventDefault(); // Kill all focusout events following the mousedown event to avoid closing the toggle item when mousedowning inside.
      // The suppressed possible focus change needs to be handled manually.
      const $closestOpener = $(ev.target).closest(base.opener);
      gsb.debug('target: ', ev.target, ' closestOpener: ', $closestOpener);
      if ($closestOpener.length) {
        // If the clicked Element is focusable but inside the opener
        $closestOpener.trigger('focus'); // Set the focus on the opener
      } else {
        $(ev.target).trigger('focus'); // Set the focus to the element clicked.
      }
      // If the clicked element is focusable, it will trigger a focusout event where the new activeElement is inside opened menu.
      // This will be handled correctly for the focusout event.
      // If the clicked element is not focusable, then the focus will stay where it is and no unwanted focusout event will be triggered.
    } else {
      setTimeout(function () {
        if (!$(document.activeElement).closest(base.items.add(base.opener)).length) {
          // new activeElement is not inside the base.items
          ev.data = base; // reassign base to event.data to prevent mismatch with cascaded simple_toggle which might occur due to the timeout
          base.closerHandler(ev);
        }
      }, 0);
    }
  },

  escapeHandler: function (ev) {
    const base = ev ? ev.data : this;
    switch (ev.key) {
      case 'Esc': // IE/Edge
      case 'Escape': // W3C
        ev.preventDefault();
        if (base.$el.find(base.items).hasClass(base.options.showClass)) {
          base.close(ev);
        }
        break;}

  },

  open: function (ev) {
    const base = ev ? ev.data : this;
    if (ev) {
      ev.preventDefault();
      ev.stopPropagation();
    }
    if (base.specialTrigger('beforeOpen.simple_toggle.gsb', ev)) {
      base.isOpen = true;
      base.opener.
      addClass(base.options.activeClass).
      removeClass(base.options.inactiveClass).
      attr(base.options.openerStatusAttr, 'true');
      base.items.
      addClass(base.options.showClass).
      removeClass(base.options.hideClass).
      attr('aria-hidden', 'false');
      base.specialTrigger('afterOpen.simple_toggle.gsb', ev);
    }
  },

  close: function (ev) {
    const base = ev ? ev.data : this;
    if (ev) {
      ev.preventDefault();
      ev.stopPropagation();
    }
    if (base.specialTrigger('beforeClose.simple_toggle.gsb', ev)) {
      base.isOpen = false;
      base.opener.
      addClass(base.options.inactiveClass).
      removeClass(base.options.activeClass).
      attr(base.options.openerStatusAttr, 'false');
      base.items.
      addClass(base.options.hideClass).
      removeClass(base.options.showClass).
      attr('aria-hidden', 'true');
      base.specialTrigger('afterClose.simple_toggle.gsb', ev);
    }
  },

  specialTrigger: function (evStr, ev) {
    var base = this,
      namespaces = evStr.split('.'),
      type = namespaces.shift(),
      event;
    namespaces = namespaces.sort();
    event = $.Event(type, {
      namespace: namespaces.join('.'),
      relatedEvent: ev || null
    });
    base.$el.trigger(event, base);
    return !event.isDefaultPrevented();
  },

  trim: function (o) {
    return String(o).replace(/^\s+|\s+$/g, '');
  },

  defaultOptions: {
    item: '.js-simple-toggle-item',
    openerListAttr: 'aria-labelledby',
    showClass: 'is-shown',
    hideClass: 'is-hidden',
    opener: '.js-simple-toggle-opener',
    openerInsert: 'prepend',
    openerStatusAttr: 'aria-expanded',
    itemListAttr: 'aria-controls',
    activeClass: 'active-control',
    inactiveClass: 'inactive-control',
    closer: '.js-simple-toggle-closer', //can also be html
    closerInsert: 'append',
    closeOnFocusout: false,
    respondToEvents: true
  }
});
   /* Ende gsb_simple_toggle */
   /* Start gsb_slideshow_dots */
   /* --GSBDocStart
 * @name: @gsb/gsb_slideshow_dots 
 * @version: 1.4.0 
 * @description: [//]: # (Diesen und folgende Kommentare auf keinen Fall löschen!) [//]: # (Nur so akzeptiert license-checker die Lizenz) [//]: # (SEE LICENSE IN LICENSE-INTERNAL.txt) 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.slideshow_dots', {

  init: function () {
    const base = this;
    const allElementsUrl = base.$el.data('href');

    base.prepareReInitEventNamespace();
    if (allElementsUrl) {
      // Slides über XHR
      base.loadSlidesAndInitSlick(allElementsUrl);
    } else {
      // Slides im DOM
      if (base.hasEnoughSlides()) {
        base.needsPlaceholderSlides();
        base.initSlick();
      } else {
        base.afterInit();
      }
    }
  },

  prepareReInitEventNamespace: function () {
    const base = this;
    const selector = base.$el.attr('class').replace(/(^ *| +)/g, '.');
    const instanceIndex = $(selector).index(base.$el);
    base.reInitEventNamespace = selector + '-' + instanceIndex;
  },

  needsPlaceholderSlides: function () {
    const base = this,
      slickOptions = base.options.slickOptions,
      breakpoints = slickOptions && slickOptions.responsive || [],
      $slider = base.$el;

    let slidesToScroll,
      slidesToShow;

    // Finde den aktuellen Breakpoint
    const currentBreakpointValue = Math.max.apply(null, breakpoints.map((e) => {
      if (!slickOptions.mobileFirst) {
        return $(window).width() < e.breakpoint ? e.breakpoint : 0;
      } else {
        return $(window).width() > e.breakpoint ? e.breakpoint : 0;
      }
    }));

    const currentBreakpoint = breakpoints.find((e) => e.breakpoint === currentBreakpointValue);

    if (typeof currentBreakpoint !== 'undefined') {
      slidesToScroll = currentBreakpoint.settings.slidesToScroll;
      slidesToShow = currentBreakpoint.settings.slidesToShow;
    } else if (slickOptions.slidesToShow) {
      slidesToScroll = slickOptions.slidesToScroll;
      slidesToShow = slickOptions.slidesToShow;
    }

    base.$el.find('.js-slide-placeholder').remove();

    if ($slider.find('.js-slide').length > slidesToShow && slidesToScroll > 1) {
      let iPlaceholdersToAdd = slidesToShow - ($slider.find('.js-slide').length - slidesToShow) % slidesToScroll;
      if (iPlaceholdersToAdd !== slidesToShow && iPlaceholdersToAdd > 0) {
        base.addPlaceholderSlides(iPlaceholdersToAdd);
      }
    }
  },

  addPlaceholderSlides: function (iPlaceholdersToAdd) {
    const base = this;
    for (let i = 0; i < iPlaceholdersToAdd; i++) {
      base.$el.append('<div class="js-slide js-slide-placeholder">');
    }
  },

  hasEnoughSlides: function () {
    const base = this,
      slickOptions = base.options.slickOptions,
      breakpoints = slickOptions && slickOptions.responsive;
    // Wenn breakpointabhängige Überprüfung angefordert ist
    if (!base.options.initIfNotEnoughSlides && breakpoints) {
      // Finde den aktuellen Breakpoint
      const currentBreakpointValue = Math.max.apply(null, breakpoints.map((e) => {
        if (!slickOptions.mobileFirst) {
          return $(window).width() < e.breakpoint ? e.breakpoint : 0;
        } else {
          return $(window).width() > e.breakpoint ? e.breakpoint : 0;
        }
      }));

      const currentBreakpoint = breakpoints.find((e) => e.breakpoint === currentBreakpointValue);

      if (typeof currentBreakpoint !== 'undefined') {
        return base.$el.children().length > currentBreakpoint.settings.slidesToShow;
      } else if (slickOptions.slidesToShow) {
        return base.$el.children().length > slickOptions.slidesToShow;
      }
    }
    return base.$el.children().length > 1;
  },


  /**
   * Lädt die anzuzeigenen Slides per XHR aus dem GSB-Content, fügt diese als Children des base.el ein und initialisiert dann slick.
   * @param allElementsUrl
   */
  loadSlidesAndInitSlick: function (allElementsUrl) {
    const base = this;
    $.ajax({
      url: allElementsUrl,
      context: base,
      success: base.onReceiveAllElements
    });
  },

  onReceiveAllElements: function (data) {
    const base = this;
    base.$el.html(data);
    if (base.hasEnoughSlides()) {
      base.needsPlaceholderSlides();
      base.initSlick();
    } else {
      base.afterInit();
    }
  },

  afterInit: function () {
    const base = this;
    base.$el.
    addClass(base.options.classes.initialized).
    trigger('init.simple_slideshow.gsb', base);
  },

  initSlick: function () {
    const base = this;
    let slickOptions = base.options.slickOptions;
    slickOptions = base.handleNavigationArrows(slickOptions);
    slickOptions = base.handleNavigationDots(slickOptions);
    base.backupTabindex();
    base.$el.
    on('beforeChange.slick', base, base.onSlickBeforeChange).
    unbind('afterChange.slick').on('afterChange.slick', base, base.onSlickAfterChange).
    unbind('init.slick').on('init.slick', base, base.onSlickInit).
    unbind('breakpoint.slick').on('breakpoint.slick', base, base.onSlickBreakpoint).
    unbind('destroy.slick').on('destroy.slick', base, base.onSlickDestroy);
    base.slick = base.$el.slick(slickOptions).slick('getSlick');
    base.patchSlickHeightAnimation();
    base.patchSlickGetLeft();
  },


  /**
   * Sorgt für eine bessere Animation der Höhe, wenn adaptiveHeight true gesetzt ist.
   */
  patchSlickHeightAnimation: function () {//monkey-patch height anim in case slidesToShow > 1
    const base = this;
    $.extend(base.slick, {
      getActiveSlidesHeight: function () {
        const _ = this;
        if (base.options.isNavigationSlideshow) {
          _.recalculateActiveSlidesForNavigationSlideshow();
        }
        let activeSlides = _.$slides.filter('.slick-active');
        return Math.max(...activeSlides.map((i, el) => $(el).outerHeight()));
      },
      recalculateActiveSlidesForNavigationSlideshow: function () {
        const _ = this,
          activeSlides = _.$slides.filter('.slick-active');
        if (activeSlides.length < _.options.slidesToShow) {
          _.$slides.slice(-_.options.slidesToShow).addClass('slick-active');
        }
      },
      animateHeight: function () {
        const _ = this;
        if (_.options.adaptiveHeight === true && _.options.vertical === false) {
          _.$list.animate({
            height: _.getActiveSlidesHeight()
          }, _.options.speed);
        }
      },
      setHeight: function () {
        const _ = this;
        if (_.options.adaptiveHeight === true && _.options.vertical === false) {
          _.$list.css('height', _.getActiveSlidesHeight());
        }
      }
    });
  },

  /**
   * Verhindert das "Verschwinden" von Slides, falls slideCount <= slidesToShow
   */
  patchSlickGetLeft: function () {//monkey-patch getLeft in case slideCount <= slidesToShow
    const base = this,
      originalGetLeft = base.slick.getLeft;
    $.extend(base.slick, {
      getLeft: function () {
        const _ = this;
        if (_.slideCount <= _.options.slidesToShow) {
          return 0;
        } else {
          return originalGetLeft.apply(base.slick, arguments);
        }
      }
    });
  },

  patchSlickAccessibility: function (slick) {
    const base = this;
    base.slick = slick;

    $.extend(base.slick, {
      initADA: function () {
        const _ = this;
        const numDotGroups = _.options.infinite ?
        Math.ceil(_.slideCount / _.options.slidesToScroll) :
        Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll) + 1;
        const tabControlIndexes = _.getNavigableIndexes().filter(function (val) {
          return val >= 0 && val < _.slideCount;
        });

        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
          'aria-hidden': 'true'
        });

        if (_.$dots !== null) {
          _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function (i) {
            const slideControlIndex = tabControlIndexes.indexOf(i);

            $(this).attr({
              'role': null,
              'id': 'slick-slide-' + _.instanceUid + '-' + i
            });

            if (slideControlIndex !== -1) {
              base.removeIdFromAttribute(
              $(this),
              'aria-labelledby',
              'slick-slide-control-' + _.instanceUid + '-' + slideControlIndex);

            }
          });

          _.$dots.
          removeAttr('aria-label').
          removeAttr('role');

          _.$dots.find('li').
          removeAttr('role').
          each(function (i) {
            const mappedSlideIndex = tabControlIndexes[i];
            const ariaLabel = (base.options.labels.navPos || '%current / %total').
            replace(/%current/g, i + 1).
            replace(/%total/g, numDotGroups);

            $(this).find('button').first().
            addClass('js-slideshow-dot').
            attr({
              'role': null,
              'id': 'slick-slide-control-' + _.instanceUid + '-' + i,
              'aria-controls': 'slick-slide-' + _.instanceUid + '-' + mappedSlideIndex,
              'aria-label': ariaLabel,
              'aria-current': 'false',
              'tabindex': '-1'
            });
          }).
          eq(Math.ceil(_.currentSlide / _.options.slidesToScroll)).
          find('button').attr({
            'aria-current': 'true',
            'tabindex': '0'
          });
        }

        if (_.options.slidesToScroll === 1) {
          _.initADATabPattern(tabControlIndexes);
        }

        _.activateADA();

        base.accessible();
      },
      initADATabPattern: function (tabControlIndexes) {
        const _ = this;

        if (_.$dots !== null) {
          _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function (i) {
            const slideControlIndex = tabControlIndexes.indexOf(i);

            $(this).attr({
              'role': 'tabpanel'
            });

            if (slideControlIndex !== -1) {
              base.addIdToAttribute(
              $(this),
              'aria-labelledby',
              'slick-slide-control-' + _.instanceUid + '-' + slideControlIndex);

            }
          });

          _.$dots.
          attr('aria-label', base.options.labels.tablist).
          attr('role', 'tablist');

          _.$dots.find('li').
          attr({
            'role': 'presentation'
          }).
          each(function () {
            $(this).find('button').first().
            attr({ 'role': 'tab' });
          });
        }
      },
      activateADA: function () {
        const _ = this;
        const focusable = base.options.selectors.focusable;
        const $activeSlides = _.$slideTrack.find('.slick-active');
        $activeSlides.
        attr({ 'aria-hidden': 'false' }).
        find(focusable).not('[disabled]').not('[aria-disabled="true"]').
        each(function (i, el) {
          $(el).attr('tabindex', $(el).data('tabindex-persistent') || 0);
        });
        if (_.$dots !== null) {
          const $dotCtrls = _.$dots.find('.js-slideshow-dot');
          const activeDotIndex = $dotCtrls.index($dotCtrls.filter('[aria-current=true]'));

          if (activeDotIndex > -1) {
            let $nextDot = $();
            if (activeDotIndex + 1 < $dotCtrls.length) {
              $nextDot = $dotCtrls.eq(activeDotIndex + 1);
            } else if (_.options.infinite) {
              $nextDot = $dotCtrls.eq(0);
            }
            _.$nextArrow.attr('aria-describedby', $nextDot.length ? $nextDot.attr('id') : null);

            let $prevDot = $();
            if (activeDotIndex - 1 > -1) {
              $prevDot = $dotCtrls.eq(activeDotIndex - 1);
            } else if (_.options.infinite) {
              $prevDot = $dotCtrls.eq(-1);
            }
            _.$prevArrow.attr('aria-describedby', $prevDot.length ? $prevDot.attr('id') : null);
          }
        }
      }
    });

    base.removeTabIndexFromSlides();
    base.removeAriaSelectedFromDots();
  },

  addIdToAttribute: function ($elems, attrName, idToAdd) {
    $elems.each(function (i, el) {
      const $el = $(el);
      const ids = {};
      const attrValue = $el.attr(attrName) || '';
      attrValue.trim().split(/\s+/).forEach(function (id) {
        if (id) {
          ids[id] = true;
        }
      });
      ids[idToAdd] = true;
      $el.attr(attrName, Object.keys(ids).join(' '));
    });
  },

  removeIdFromAttribute: function ($elems, attrName, idToRemove) {
    $elems.each(function (i, el) {
      const $el = $(el);
      const ids = {};
      const attrValue = $el.attr(attrName) || '';
      attrValue.trim().split(/\s+/).forEach(function (id) {
        if (id && id !== idToRemove && (!idToRemove.test || !idToRemove.test(id))) {
          ids[id] = true;
        }
      });
      $el.attr(attrName, Object.keys(ids).join(' ') || null);
    });
  },

  /**
   * Versteckt oder zeigt die Navigation an, abhängig davon, ob es ausreichend Slides für eine Slideshow gibt.
   * @param slick das Slick-Objekt
   */
  showHideNavigation: function (slick) {
    const base = this;
    const numOfChildren = base.$el.find('.slick-slide').length || base.$el.children().not(base.options.navigation.selector).length;
    if (!slick.unslicked && slick.options.slidesToShow < numOfChildren) {
      base.$el.find(base.options.navigation.selector).show();
      base.$el.addClass(base.options.classes.hasNavigation);
    } else {
      base.$el.find(base.options.navigation.selector).hide();
      base.$el.removeClass(base.options.classes.hasNavigation);
    }
  },

  /**
   * Initialisiert das "gsb_multimedia"-Modul, falls es in den Slides <video> oder <audio> Elemente gibt.
   */
  initMultimedia: function () {
    const base = this;
    gsb.requireGSBComponent('bundle_multimedia', base.$el.find('audio, video')).
    done(function ($media) {
      $media.gsb_Multimedia(base.options.multimediaOptions);
      // base.$el.find('.js-embed-youtube').gsb_embed_youtube();
    });
  },

  handlePlayButton: function () {
    const base = this;
    const ops = base.options.navigation.autoplay;
    const $parent = base.$el.find(base.options.navigation.selector);

    if (base.options.slickOptions.autoplay && ops.createPlayButton) {
      base.$playButton = $parent.find(ops.playButtonSelector);
      base.$playButton.
      on('click', base, base.togglePlayButtonState).
      on('focusin focusout', (e) => e.stopPropagation());
      $parent.find('button').not(ops.playButtonSelector).
      on('focus', base, base.togglePlayButtonState);
      base.$playButton.addClass('playbutton-playing');
      base.$playButton.parent().removeAttr('hidden');
    } else {
      base.$playButton = $parent.find(ops.playButtonSelector);
      base.$playButton.remove();
    }
  },

  togglePlayButtonState: function (ev) {
    const base = ev.data;
    const ops = base.options.navigation.autoplay;
    const $playButton = base.$playButton;
    const state = $playButton.is('.playbutton-playing') || ev.type === 'focus' ? 'playing' : 'paused';
    const targetState = state === 'playing' ? 'paused' : 'playing';

    $playButton.
    removeClass('playbutton-' + state).
    addClass('playbutton-' + targetState).
    attr('title', ops[targetState].title);
    $playButton.find('img').
    attr('src', ops[targetState].symbol).
    attr('alt', ops[targetState].title);
    base.$el.slick(targetState === 'playing' ? 'slickPlay' : 'slickPause');
  },


  /**
   * Setzt den Tabindex von antabbaren Elementen auf nicht sichtbaren Slides auf -1, damit diese nicht angetabbt werden können.
   * @param slick das Slick-Objekt
   */
  updateTabindex: function (slick) {
    const base = this;
    //Barrierefreiheit/Tabbing workaround
    const focusableItems = base.options.selectors.focusable;
    const buggedItems = base.options.selectors.bugged;
    if (!slick.unslicked) {
      slick.$slides.not('.slick-active').
      find(focusableItems).attr('tabindex', -1).end().
      find(buggedItems).hide();
      slick.$slides.filter('.slick-active').
      find(focusableItems).attr('tabindex', 0).end().
      find(buggedItems).show();
    }
  },

  /**
   * Setzt bzw. entfernt disabled und aria-disabled an die Arrows.
   * @param $arrow Selektor des Arrows
   */
  updateNavigationArrow: function ($arrow) {
    if ($arrow) {
      let $arrowButton = $arrow.is('button') ? $arrow : $arrow.find('button');
      if ($arrow.hasClass('slick-disabled')) {
        $arrowButton.prop('disabled', true);
      } else {
        $arrowButton.removeAttr('disabled');
      }
      $arrow.removeAttr('aria-disabled'); // wird von Slick automatisch gesetzt, aber für uns nicht notwendig, also wird es wieder entfernt um den DOM möglichst sauber zu halten
    }
  },

  /**
   * Workaround für slider die mit einem anderen Slider durch 'asNavFor' kombiniert werden, und mit slidesToShow > 1 konfiguriert sind
   */
  updateNavigationArrowBySlideCount: function ($arrow, setDisabledPredicate) {
    if ($arrow) {
      const $arrowButton = $arrow.is('button') ? $arrow : $arrow.find('button');
      if (setDisabledPredicate) {
        $arrowButton.prop('disabled', true);
      } else {
        $arrowButton.removeAttr('disabled').removeClass('slick-disabled');
      }
      $arrow.removeAttr('aria-disabled');
    }
  },

  /**
   * Führt Manipulationen an den HTML-Attributen der Navigation durch, die für die Barrierefreiheit relevant sind.
   * @param slick das Slick-Objekt
   */
  updateNavigation: function (slick) {
    const base = this;
    base.$el.find('.js-slideshow-pagination').remove();
    if (base.options.isNavigationSlideshow) {
      base.updateNavigationArrowBySlideCount(slick.$prevArrow, slick.currentSlide === 0);
      base.updateNavigationArrowBySlideCount(slick.$nextArrow, slick.currentSlide + 1 === slick.slideCount);
    } else {
      base.updateNavigationArrow(slick.$prevArrow);
      base.updateNavigationArrow(slick.$nextArrow);
    }
  },

  /**
   * Fügt dem Wrapper Klassen hinzu, wenn sich die Slideshow am Anfang oder am Ende befindet.
   * @param slick das Slick-Objekt, das Informationen über den Zustand des Karussells enthält
   * @param nextSlide gibt an, ob ein folgendes Slide existiert
   */
  updateSlideStatus: function (slick, nextSlide) {
    const base = this;
    const isAtStart = nextSlide === 0;
    if (isAtStart) {
      base.$el.closest(base.options.selectors.wrapper).find(base.options.selectors.removedContent).
      addClass(base.options.classes.isAtStart);
    } else {
      base.$el.closest(base.options.selectors.wrapper).find(base.options.selectors.removedContent).
      removeClass(base.options.classes.isAtStart);
    }
  },

  /**
   * Initialisiert die Navigationspfeile. Diese dürfen erst nach einem etwaigen Austausch des HTML ermittelt werden,
   * da sie ggf. mit ersetzt werden. In diesem Fall würden ansonsten die nachgeladene Pfeile nicht initialisiert.
   * @param slickOptions die Optionen, die an Slick übergeben werden
   */
  handleNavigationArrows: function (slickOptions) {
    const base = this;
    const navigationArrowOptions = {
      nextArrow: base.$el.find(base.options.navigation.arrows.selectors.next),
      prevArrow: base.$el.find(base.options.navigation.arrows.selectors.prev)
    };

    return $.extend(slickOptions, navigationArrowOptions);
  },

  updateDotFocus: function () {
    const base = this;
    const dots = base.$el.find('.slick-dots'),
      activeDot = dots.find('.slick-active button'),
      focusedDot = dots.find('button').filter(document.activeElement);
    if (activeDot.length && focusedDot.length && !activeDot.is(focusedDot)) {
      activeDot[0].focus();
    }
  },

  /**
   * Da die Navigation erst durch dieses Modul erstellt und in den DOM eingefügt wird, kann das jQuery-Element, welches der slick-Option
   * 'appendDots' übergeben wird, auch erst jetzt gefunden werden.
   * Also wird diese Option hier durch das jetzt auffindbare jQuery-Element überschrieben.
   * @param slickOptions die Optionen, die an Slick übergeben werden
   */
  handleNavigationDots: function (slickOptions) {
    const base = this;
    slickOptions.appendDots = base.$el.find(base.options.navigation.selector);
    return slickOptions;
  },

  /**
   * non configurable fixes
   */
  accessible: function () {
    const base = this;
    base.accessibilityFix();
    base.cleanUpSlides();
  },

  /**
   * Entfernt den tabindex der Slides.
   */
  removeTabIndexFromSlides: function () {
    const base = this;
    base.$el.find('.slick-slide[tabindex]').removeAttr('tabindex');
  },

  backupTabindex: function () {
    const base = this;
    base.$el.find('[tabindex]').each(function (index, element) {
      $(element).attr('data-tabindex-persistent', $(element).attr('tabindex'));
    });
  },

  removeAriaSelectedFromDots: function () {
    const base = this;
    const slickDotsButtons = base.$el.find('.slick-dots').find('button');
    slickDotsButtons.removeAttr('aria-selected');
  },

  /**
   * Platziert die Navigation über der .slick-list im DOM.
   */
  accessibilityFix: function () {
    const base = this;
    const slickDotsButtons = base.$el.find('.slick-dots').find('button');
    const focusedDot = slickDotsButtons.filter(':focus');
    const activeDot = slickDotsButtons.filter('.slick-active *');

    if (focusedDot.length) {
      if (!focusedDot.is(activeDot)) {
        activeDot.trigger('focus');
      }
    }
    base.fixNavigationDOMPlacement();
    base.updateAriaRoles();
  },

  /**
   * Ergänzt am Wrapper-Element die Role list und an den Slides die Role listitem bzw. Role group
   */
  updateAriaRoles: function () {
    const base = this;

    const numOfChildren = base.$el.find('.slick-slide').length || base.$el.children().not(base.options.navigation.selector).length;
    if (!base.slick.unslicked && base.slick.options.slidesToShow < numOfChildren) {
      base.$el.attr('aria-roledescription', base.$el.attr('data-aria-roledescription'));
      base.$el.attr('role', 'group');
      base.$el.attr('aria-labelledby', base.$el.attr('data-aria-labelledby'));
    } else {
      base.$el.attr('data-aria-roledescription', base.$el.attr('aria-roledescription'));
      base.$el.attr('data-aria-labelledby', base.$el.attr('aria-labelledby'));
      base.$el.removeAttr('aria-roledescription');
      base.$el.removeAttr('role');
      base.$el.removeAttr('aria-labelledby');
    }

    if (base.options.ariaRole === "list") {
      if (base.slick.$slides.length > 1 && base.slick.options.slidesToScroll > 1) {
        base.slick.$slideTrack.attr('role', 'list');
        base.$el.find(base.options.slickOptions.slide).not('.js-slide-placeholder').attr('role', 'listitem');
      } else {
        base.slick.$slideTrack.removeAttr('role');
        base.$el.find(base.options.slickOptions.slide).not('.js-slide-placeholder').each(function (i, el) {
          const $slide = $(el),
            role = $slide.attr('role') || '';
          if (role.trim().toLowerCase() === "listitem") {
            $slide.removeAttr('role');
          }
        });
      }
    }
    base.$el.find('.js-slide-placeholder').attr('aria-hidden', 'true');
  },

  /**
   * Platziert das Navigationelement als erstes Kind des base.$el,
   * damit die semantische Reihenfolge von Navigation und .slick-list BITV-konform ist.
   */
  fixNavigationDOMPlacement: function () {
    const base = this;
    let $navigation = base.$el.find(base.options.navigation.selector);
    if ($navigation.length === 0) {
      $navigation = base.$el.siblings(base.options.navigation.selector);
    }
    if ($navigation.index()) {
      // Navigation muss erstes Kind der Slideshow sein
      $navigation.parent().prepend($navigation);
    }
  },

  /**
   * Säubert die Slides von Anpassungen, falls der Slider 'unslicked' wird.
   * Slick fügt den Slides einige Attribute hinzu, im Falle von 'unslick' entfernt Slick diese nicht wieder.
   */
  cleanUpSlides: function () {
    const base = this,
      slick = base.slick;
    if (slick.unslicked) {
      slick.$slides.removeAttr('style').
      removeAttr('aria-hidden').
      removeAttr('tabindex').
      removeAttr('role').
      removeAttr('id').
      removeAttr('aria-describedby');
      slick.$slides.find(base.options.selectors.focusable).removeAttr('tabindex');
    }
  },

  onSlickInit: function (event, slick) {
    const base = event.data;
    base.patchSlickAccessibility(slick);
    base.showHideNavigation(slick);
    base.handleNavigationArrows(slick.options);
    base.updateNavigation(slick);
    if (base.options.initializeMultimedia) {
      base.initMultimedia();
    }
    base.handlePlayButton(slick);
    base.updateTabindex(slick);
    base.updateAriaRoles(slick);
    base.afterInit();
  },

  onSlickBreakpoint: function (event, slick) {
    const base = event.data;
    base.showHideNavigation(slick);
    slick.$slider.slick('unslick');
    base.needsPlaceholderSlides();
    base.initSlick();
  },

  onSlickBeforeChange: function (event, slick, currentSlide, nextSlide) {
    //ohne diese Anweisung kann die Höhenberechnung fehlschlagen
    //die "falschen" Elemente werden in updateTabindex wieder verborgen
    const base = event.data;
    slick.$slides.find(base.options.selectors.bugged).show();
    if (base.options.setStartClass) {
      base.updateSlideStatus(slick, nextSlide);
    }
  },

  onSlickAfterChange: function (event, slick, currentSlide) {
    const base = event.data;
    base.updateNavigation(slick);
    base.updateTabindex(slick);
    base.updateAriaRoles(slick);
    base.updateDotFocus();
  },

  onSlickDestroy: function (event, slick) {
    const base = event.data;
    if (!base.unslickBreakpoint) {
      // this will only work correctly with just 1 breakpoint that has settings: 'unslick' in the init
      base.unslickBreakpoint = slick.breakpointSettings.findIndex((breakpoint) => breakpoint === 'unslick');
      base.mobileFirst = slick.options.mobileFirst;
    }
    base.removeIdFromAttribute(
    slick.$slides,
    'aria-labelledby',
    /slick-slide-control/);

    $(window).
    off('resize' + base.reInitEventNamespace, base.onSlickDestroyWindowResize).
    on('resize' + base.reInitEventNamespace, base, base.onSlickDestroyWindowResize);
  },

  onSlickDestroyWindowResize: function (event) {
    const base = event.data;
    if (base.mobileFirst) {
      if ($(window).width() <= base.unslickBreakpoint && !base.$el.hasClass('slick-initialized')) {
        base.slick = base.$el.slick(base.options.slickOptions).slick('getSlick');
        $(window).off('resize' + base.reInitEventNamespace, base.onSlickDestroyWindowResize);
      }
    } else {
      if ($(window).width() > base.unslickBreakpoint && !base.$el.hasClass('slick-initialized')) {
        base.slick = base.$el.slick(base.options.slickOptions).slick('getSlick');
        $(window).off('resize' + base.reInitEventNamespace, base.onSlickDestroyWindowResize);
      }
    }
  },

  /**
   * Die Standard-Optionen für das Plugin
   */
  defaultOptions: {
    navigation: {
      selector: '.js-slideshow-navigation', // der Selector für die Navigation
      setStartClass: false,
      arrows: {
        selectors: {
          next: '.js-slideshow-navigation-next', // der Selector für den 'Weiter' Pfeil, muss den Klassen im XHR der Navigation entsprechen
          prev: '.js-slideshow-navigation-prev' // der Selector für den 'Zurück' Pfeil, muss den Klassen im XHR der Navigation entsprechen
        }
      },
      autoplay: {
        createPlayButton: true,
        playButtonSelector: '.js-slideshow-navigation-play',
        playing: {
          title: typeof PAUSE !== 'undefined' ? PAUSE : 'Animation stoppen',
          symbol: typeof PAUSEIMG !== 'undefined' ? PAUSEIMG : '/assets/icons/isb/close.svg'
        },
        paused: {
          title: typeof PLAY !== 'undefined' ? PLAY : 'Animation starten',
          symbol: typeof PLAYIMG !== 'undefined' ? PLAYIMG : '/assets/icons/isb/play.svg'
        }
      }
    },
    selectors: {
      wrapper: '.js-stage-slider', // Ein Ancestor von base.$el, in dem Element .removedContent gefunden werden kann
      removedContent: '.js-stage_slider-headline', // Element, das die Klasse isAtStart bekommt, wenn sich die Slideshow an Anfang befindet.
      focusable: 'a, [tabindex], textarea, input, select, button, video, object',
      bugged: 'video:not(.consent-required video), object' // Vermutung: Sind trotz tabindex === -1 fokussierbar
    },
    classes: {
      initialized: 'is-initialized', // Nötig insb. dann, wenn Slick nicht aufgerufen wird, weil !hasEnoughSlides() gilt
      isAtStart: 'is-shown' // Die Klasse, die dem Element removedContent hinzugefügt wird, wenn sich die Slideshow an Anfang befindet.
    },
    labels: {
      navPos: '%current von %total',
      tablist: typeof SHOW_PAGE !== 'undefined' ? SHOW_PAGE : 'Seite anzeigen'
    },
    slickOptions: {
      // https://github.com/kenwheeler/slick#settings verfügbare Optionen und Defaults
      // appendDots: wird von diesem Modul überschrieben und kann nicht durch die init.js gesetzt werden
      // nextArrow: wird von diesem Modul überschrieben durch options.arrowNavigation.selectors.next und kann nicht durch die init.js gesetzt werden
      // prevArrow: wird von diesem Modul überschrieben durch options.arrowNavigation.selectors.next und kann nicht durch die init.js gesetzt werden
      slide: ':not(.js-slideshow-navigation)', // Da der Navigationcontainer bei der Initialisierung von slick ein Sibling der Slides ist, muss dieser hier explizit ausgenommen werden
      infinite: false
    },

    multimediaOptions: {}, // Optionen für die initialisierung von gsb_multimedia, falls es videos in der slideshow gibt (ungetestet),
    initIfNotEnoughSlides: true,
    initializeMultimedia: true,
    isNavigationSlideshow: false, // Gibt an, ob es sich um eine Thumbnail-Slideshow handelt, die mit asNavFor verknüpft ist (Sonderbehandlung beim Aktivieren/Deaktivieren von Navigation-Arrows und Höhenberechnung)
    ariaRole: ''
  }
});
   /* Ende gsb_slideshow_dots */
   /* Start gsb_slideshow_numbers */
   /* --GSBDocStart
 * @name: @gsb/gsb_slideshow_numbers 
 * @version: 1.1.0 
 * @description: [//]: # (Diesen und folgende Kommentare auf keinen Fall löschen!) [//]: # (Nur so akzeptiert license-checker die Lizenz) [//]: # (SEE LICENSE IN LICENSE-INTERNAL.txt) 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.slideshow_numbers', {

  init: function () {
    const base = this;
    base.prepareReInitEventNamespace();
    const allElementsUrl = base.$el.data('href');
    if (allElementsUrl) {
      // Slides über XHR
      base.loadSlidesAndInitSlick(allElementsUrl);
    } else {
      // Slides im DOM
      if (base.hasEnoughSlides()) {
        base.needsPlaceholderSlides();
        base.initSlick();
      } else {
        base.afterInit();
      }
    }
  },

  prepareReInitEventNamespace: function () {
    const base = this;
    const selector = base.$el.attr('class').replace(/(^ *| +)/g, '.');
    const instanceIndex = $(selector).index(base.$el);
    base.reInitEventNamespace = selector + '-' + instanceIndex;
  },

  needsPlaceholderSlides: function () {
    const base = this,
      slickOptions = base.options.slickOptions,
      breakpoints = slickOptions && slickOptions.responsive;

    var $slider = base.$el,
      slidesToScroll,
      slidesToShow;

    // Finde den aktuellen Breakpoint
    const currentBreakpointValue = Math.max.apply(null, breakpoints.map((e) => {
      if (!slickOptions.mobileFirst) {
        return $(window).width() < e.breakpoint ? e.breakpoint : 0;
      } else {
        return $(window).width() > e.breakpoint ? e.breakpoint : 0;
      }
    }));

    const currentBreakpoint = breakpoints.find((e) => e.breakpoint === currentBreakpointValue);

    if (typeof currentBreakpoint !== 'undefined') {
      slidesToScroll = currentBreakpoint.settings.slidesToScroll;
      slidesToShow = currentBreakpoint.settings.slidesToShow;
    } else if (slickOptions.slidesToShow) {
      slidesToScroll = slickOptions.slidesToScroll;
      slidesToShow = slickOptions.slidesToShow;
    }

    base.$el.find('.js-slide-placeholder').remove();

    if ($slider.find('.js-slide').length > slidesToShow && slidesToScroll > 1) {
      var iPlaceholdersToAdd = slidesToShow - ($slider.find('.js-slide').length - slidesToShow) % slidesToScroll;
      if (iPlaceholdersToAdd !== slidesToShow && iPlaceholdersToAdd > 0) {
        base.addPlaceholderSlides(iPlaceholdersToAdd);
      }
    }
  },

  addPlaceholderSlides: function (iPlaceholdersToAdd) {
    const base = this;
    for (let i = 0; i < iPlaceholdersToAdd; i++) {
      base.$el.append('<div class="js-slide js-slide-placeholder">');
    }
  },

  hasEnoughSlides: function () {
    const base = this,
      slickOptions = base.options.slickOptions,
      breakpoints = slickOptions && slickOptions.responsive;
    // Wenn breakpointabhängige Überprüfung angefordert ist
    if (!base.options.initIfNotEnoughSlides && breakpoints) {
      // Finde den aktuellen Breakpoint
      const currentBreakpointValue = Math.max.apply(null, breakpoints.map((e) => {
        if (!slickOptions.mobileFirst) {
          return $(window).width() < e.breakpoint ? e.breakpoint : 0;
        } else {
          return $(window).width() > e.breakpoint ? e.breakpoint : 0;
        }
      }));

      const currentBreakpoint = breakpoints.find((e) => e.breakpoint === currentBreakpointValue);

      if (typeof currentBreakpoint !== 'undefined') {
        return base.$el.children().length > currentBreakpoint.settings.slidesToShow;
      } else if (slickOptions.slidesToShow) {
        return base.$el.children().length > slickOptions.slidesToShow;
      }
    }
    return base.$el.children().length > 1;
  },


  /**
   * Lädt die anzuzeigenen Slides per XHR aus dem GSB-Content, fügt diese als Children des base.el ein und initialisiert dann slick.
   * @param allElementsUrl
   */
  loadSlidesAndInitSlick: function (allElementsUrl) {
    const base = this;
    $.ajax({
      url: allElementsUrl,
      context: base,
      success: base.onReceiveAllElements });

  },

  onReceiveAllElements: function (data) {
    const base = this;
    base.$el.html(data);
    if (base.hasEnoughSlides()) {
      base.needsPlaceholderSlides();
      base.initSlick();
    } else {
      base.afterInit();
    }
  },

  afterInit: function () {
    const base = this;
    base.$el.
    addClass(base.options.classes.initialized).
    trigger('init.simple_slideshow.gsb', base);
  },

  initSlick: function () {
    const base = this;
    let slickOptions = base.options.slickOptions;
    slickOptions = base.handleNavigationArrows(slickOptions);
    slickOptions = base.handleNavigationDots(slickOptions);
    base.backupTabindex();
    base.$el.on('beforeChange.slick', base, base.onSlickBeforeChange).
    unbind('afterChange.slick').on('afterChange.slick', base, base.onSlickAfterChange).
    unbind('init.slick').on('init.slick', base, base.onSlickInit).
    unbind('breakpoint.slick').on('breakpoint.slick', base, base.onSlickBreakpoint).
    unbind('destroy.slick').on('destroy.slick', base, base.onSlickDestroy);
    base.slick = base.$el.slick(slickOptions).slick('getSlick');
    base.patchSlickHeightAnimation();
    base.patchSlickGetLeft();
  },


  /**
   * Sorgt für eine bessere Animation der Höhe, wenn adaptiveHeight true gesetzt ist.
   */
  patchSlickHeightAnimation: function () {//monkey-patch height anim in case slidesToShow > 1
    const base = this;
    $.extend(base.slick, {
      getActiveSlidesHeight: function () {
        let _ = this;
        if (base.options.isNavigationSlideshow) {
          _.recalculateActiveSlidesForNavigationSlideshow();
        }
        let activeSlides = _.$slides.filter('.slick-active');
        return Math.max(...activeSlides.map((i, el) => $(el).outerHeight()));
      },
      recalculateActiveSlidesForNavigationSlideshow: function () {
        let _ = this,
          activeSlides = _.$slides.filter('.slick-active');
        if (activeSlides.length < _.options.slidesToShow) {
          _.$slides.slice(-_.options.slidesToShow).addClass('slick-active');
        }
      },
      animateHeight: function () {
        let _ = this;
        if (_.options.adaptiveHeight === true && _.options.vertical === false) {
          _.$list.animate({
            height: _.getActiveSlidesHeight()
          }, _.options.speed);
        }
      },
      setHeight: function () {
        let _ = this;
        if (_.options.adaptiveHeight === true && _.options.vertical === false) {
          _.$list.css('height', _.getActiveSlidesHeight());
        }
      } });

  },

  /**
   * Verhindert das "Verschwinden" von Slides, falls slideCount <= slidesToShow
   */
  patchSlickGetLeft: function () {//monkey-patch getLeft in case slideCount <= slidesToShow
    const base = this,
      originalGetLeft = base.slick.getLeft;
    $.extend(base.slick, {
      getLeft: function () {
        let _ = this;
        if (_.slideCount <= _.options.slidesToShow) {
          return 0;
        } else {
          return originalGetLeft.apply(base.slick, arguments);
        }
      } });

  },

  patchSlickAccessibility: function (slick) {
    const base = this;
    base.slick = slick;

    $.extend(base.slick, {
      initADA: function () {
        var _ = this;
        const numDotGroups = _.options.infinite ? Math.ceil(_.slideCount / _.options.slidesToScroll) : Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll) + 1;
        var tabControlIndexes = _.getNavigableIndexes().filter(function (val) {
          return val >= 0 && val < _.slideCount;
        });

        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
          'aria-hidden': 'true'
        });

        if (_.$dots !== null) {
          _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function (i) {
            var slideControlIndex = tabControlIndexes.indexOf(i);
            var ariaAttributeName;

            $(this).attr({
              'role': 'tabpanel',
              'id': 'slick-slide' + _.instanceUid + i });


            if (slideControlIndex !== -1) {
              ariaAttributeName = _.options.slidesToShow > 1 ? 'aria-labelledby' : 'aria-describedby';
              $(this).removeAttr('aria-describedby');
              $(this).attr(ariaAttributeName, 'slick-slide-control' + _.instanceUid + slideControlIndex);
            }
          });

          _.$dots.attr('aria-label', base.options.tablistAriaLabel).attr('role', 'tablist').find('li').each(function (i) {
            var mappedSlideIndex = tabControlIndexes[i];

            $(this).attr({
              'role': 'presentation' });


            $(this).find('button').first().attr({
              'role': 'tab',
              'id': 'slick-slide-control' + _.instanceUid + i,
              'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
              'aria-label': i + 1 + ' / ' + numDotGroups,
              'aria-current': 'false',
              'tabindex': '-1' });

          }).eq(Math.ceil(_.currentSlide / _.options.slidesToScroll)).find('button').attr({
            'aria-current': 'true',
            'tabindex': '0'
          }).end();
        }

        _.activateADA();

        base.accessible();
      },
      activateADA: function () {
        let _ = this;
        const focusable = base.options.selectors.focusable;
        const $activeSlides = _.$slideTrack.find('.slick-active');
        $activeSlides.attr({ 'aria-hidden': 'false' });
        $.each($activeSlides.find(focusable).not('[disabled]').not('[aria-disabled=\'true\']'), (i, e) => {
          $(e).attr('tabindex', !!$(e).data('tabindex-persistent') ? $(e).data('tabindex-persistent') : 0);
        });
      } });


    base.removeTabIndexFromSlides();
    base.removeAriaSelectedFromDots();
  },

  /**
   * Versteckt oder zeigt die Navigation an, abhängig davon, ob es ausreichend Slides für eine Slideshow gibt.
   * @param slick das Slick-Objekt
   */
  showHideNavigation: function (slick) {
    const base = this;
    const numOfChildren = base.$el.find('.slick-slide').length || base.$el.children().not(base.options.navigation.selector).length;
    if (!slick.unslicked && slick.options.slidesToShow < numOfChildren) {
      base.$el.find(base.options.navigation.selector).show();
      base.$el.addClass(base.options.classes.hasNavigation);
    } else {
      base.$el.find(base.options.navigation.selector).hide();
      base.$el.removeClass(base.options.classes.hasNavigation);
    }
  },

  /**
   * Initialisiert das "gsb_multimedia"-Modul, falls es in den Slides <video> oder <audio> Elemente gibt.
   */
  initMultimedia: function () {
    const base = this;
    gsb.requireGSBComponent('bundle_multimedia', base.$el.find('audio, video')).
    done(function ($media) {
      $media.gsb_Multimedia(base.options.multimediaOptions);
      // base.$el.find('.js-embed-youtube').gsb_embed_youtube();
    });
  },

  handlePlayButton: function () {
    const base = this;
    const ops = base.options.navigation.autoplay;

    if (base.options.slickOptions.autoplay && ops.createPlayButton) {
      let $parent = base.$el.find(base.options.navigation.selector);
      base.$playButton = $parent.find(ops.playButtonSelector);
      base.$playButton.on('click', base, base.togglePlayButtonState).on('focusin focusout', (e) => e.stopPropagation());
      $parent.find('button').not(ops.playButtonSelector).on('focus', base, base.togglePlayButtonState);
      base.$playButton.addClass('playbutton-playing');
      base.$playButton.parent().removeAttr('hidden');
    } else {
      let $parent = base.$el.find(base.options.navigation.selector);
      base.$playButton = $parent.find(ops.playButtonSelector);
      base.$playButton.remove();
    }
  },

  togglePlayButtonState: function (ev) {
    const base = ev.data;
    const ops = base.options.navigation.autoplay;
    const $playButton = base.$playButton;
    const state = $playButton.is('.playbutton-playing') || ev.type === 'focus' ? 'playing' : 'paused';
    const targetState = state === 'playing' ? 'paused' : 'playing';

    $playButton.removeClass('playbutton-' + state).addClass('playbutton-' + targetState).attr('title', ops[targetState].title);
    $playButton.find('img').attr('src', ops[targetState].symbol).attr('alt', ops[targetState].title);
    base.$el.slick(targetState === 'playing' ? 'slickPlay' : 'slickPause');
  },


  /**
   * Setzt den Tabindex von antabbaren Elementen auf nicht sichtbaren Slides auf -1, damit diese nicht angetabbt werden können.
   * @param slick das Slick-Objekt
   */
  updateTabindex: function (slick) {
    const base = this;
    //Barrierefreiheit/Tabbing workaround
    const focusableItems = base.options.selectors.focusable;
    const buggedItems = base.options.selectors.bugged;
    if (!slick.unslicked) {
      slick.$slides.not('.slick-active').find(focusableItems).attr('tabindex', -1).end().find(buggedItems).hide();
      slick.$slides.filter('.slick-active').find(focusableItems).attr('tabindex', 0).end().find(buggedItems).show();
    }
  },


  /**
   * Initialisiert die Paginierung
   * @param slick das Slick-Objekt
   */
  updatePagination: function (slick, currentSlide) {
    const base = this;
    if (base.$el.find(base.options.pagination.selector)) {
      const $pagination = base.$el.find(base.options.pagination.selector);
      $pagination.empty();
      let currentPage = Math.floor(currentSlide / slick.options.slidesToScroll) + 1;
      $pagination.append(" " + currentPage + " ");
      $pagination.append($($pagination.attr('data-separator')));
      $pagination.append(" " + (Math.ceil(slick.$slides.length / slick.options.slidesToScroll) - (slick.options.slidesToShow - slick.options.slidesToScroll)) + " ");
    }
  },

  /**
   * Setzt bzw. entfernt disabled und aria-disabled an die Arrows.
   * @param $arrow Selektor des Arrows
   */
  updateNavigationArrow: function ($arrow) {
    if ($arrow) {
      var $arrowButton = $arrow.is('button') ? $arrow : $arrow.find('button');
      if ($arrow.hasClass('slick-disabled')) {
        $arrowButton.prop('disabled', true);
      } else {
        $arrowButton.removeAttr('disabled');
      }
      $arrow.removeAttr('aria-disabled'); // wird von Slick automatisch gesetzt, aber für uns nicht notwendig, also wird es wieder entfernt um den DOM möglichst sauber zu halten
    }
  },

  /**
   * Workaround für slider die mit einem anderen Slider durch 'asNavFor' kombiniert werden, und mit slidesToShow > 1 konfiguriert sind
   */
  updateNavigationArrowBySlideCount: function ($arrow, setDisabledPredicate) {
    if ($arrow) {
      const $arrowButton = $arrow.is('button') ? $arrow : $arrow.find('button');
      if (setDisabledPredicate) {
        $arrowButton.prop('disabled', true);
      } else {
        $arrowButton.removeAttr('disabled').removeClass('slick-disabled');
      }
      $arrow.removeAttr('aria-disabled');
    }
  },

  /**
   * Führt Manipulationen an den HTML-Attributen der Navigation durch, die für die Barrierefreiheit relevant sind.
   * @param slick das Slick-Objekt
   */
  updateNavigation: function (slick) {
    const base = this;
    if (base.options.isNavigationSlideshow) {
      base.updateNavigationArrowBySlideCount(slick.$prevArrow, slick.currentSlide === 0);
      base.updateNavigationArrowBySlideCount(slick.$nextArrow, slick.currentSlide + 1 === slick.slideCount);
    } else {
      base.updateNavigationArrow(slick.$prevArrow);
      base.updateNavigationArrow(slick.$nextArrow);
    }

  },

  /**
   * Fügt dem Wrapper Klassen hinzu, wenn sich die Slideshow am Anfang oder am Ende befindet.
   * @param slick das Slick-Objekt, das Informationen über den Zustand des Karussells enthält
   * @param nextSlide gibt an, ob ein folgendes Slide existiert
   */
  updateSlideStatus: function (slick, nextSlide) {
    const base = this;
    const isAtStart = nextSlide === 0;
    if (isAtStart) {
      base.$el.closest(base.options.selectors.wrapper).find(base.options.selectors.removedContent).addClass(base.options.classes.isAtStart);
    } else {
      base.$el.closest(base.options.selectors.wrapper).find(base.options.selectors.removedContent).removeClass(base.options.classes.isAtStart);
    }
  },

  /**
   * Initialisiert die Navigationspfeile. Diese dürfen erst nach einem etwaigen Austausch des HTML ermittelt werden,
   * da sie ggf. mit ersetzt werden. In diesem Fall würden ansonsten die nachgeladene Pfeile nicht initialisiert.
   * @param slickOptions die Optionen, die an Slick übergeben werden
   */
  handleNavigationArrows: function (slickOptions) {
    const base = this;
    var navigationArrowOptions = {
      nextArrow: base.$el.find(base.options.navigation.arrows.selectors.next),
      prevArrow: base.$el.find(base.options.navigation.arrows.selectors.prev) };

    return $.extend(slickOptions, navigationArrowOptions);
  },

  updateDotFocus: function () {
    const base = this;
    const dots = base.$el.find('.slick-dots'),
      activeDot = dots.find('.slick-active button'),
      focusedDot = dots.find('button').filter(document.activeElement);
    if (activeDot.length && focusedDot.length && !activeDot.is(focusedDot)) {
      activeDot[0].focus();
    }
  },

  /**
   * Da die Navigation erst durch dieses Modul erstellt und in den DOM eingefügt wird, kann das jQuery-Element, welches der slick-Option
   * 'appendDots' übergeben wird, auch erst jetzt gefunden werden.
   * Also wird diese Option hier durch das jetzt auffindbare jQuery-Element überschrieben.
   * @param slickOptions die Optionen, die an Slick übergeben werden
   */
  handleNavigationDots: function (slickOptions) {
    const base = this;
    slickOptions.appendDots = base.$el.find(base.options.navigation.selector);
    return slickOptions;
  },

  /**
   * non configurable fixes
   */
  accessible: function () {
    const base = this;
    base.accessibilityFix();
    base.cleanUpSlides();
  },

  /**
   * Entfernt den tabindex der Slides.
   */
  removeTabIndexFromSlides: function () {
    const base = this;
    base.$el.find('.slick-slide[tabindex]').each(function (index, element) {
      $(element).removeAttr('tabindex');
    });
  },

  backupTabindex: function () {
    const base = this;
    base.$el.find('[tabindex]').each(function (index, element) {
      $(element).attr('data-tabindex-persistent', $(element).attr('tabindex'));
    });
  },

  removeAriaSelectedFromDots: function () {
    const base = this;
    const slickDotsButtons = base.$el.find('.slick-dots').find('button');
    slickDotsButtons.removeAttr('aria-selected');
  },

  /**
   * Platziert die Navigation über der .slick-list im DOM.
   */
  accessibilityFix: function () {
    const base = this;
    const slickDotsButtons = base.$el.find('.slick-dots').find('button');
    const focusedDot = slickDotsButtons.filter(':focus');
    const activeDot = slickDotsButtons.filter('.slick-active *');

    if (focusedDot.length) {
      if (!focusedDot.is(activeDot)) {
        activeDot.trigger('focus');
      }
    }
    base.fixNavigationDOMPlacement();
    base.updateAriaRoles();
  },

  /**
   * Ergänzt am Wrapper-Element die Role list und an den Slides die Role listitem bzw. Role group
   */
  updateAriaRoles: function () {
    const base = this;

    const numOfChildren = base.$el.find('.slick-slide').length || base.$el.children().not(base.options.navigation.selector).length;
    if (!base.slick.unslicked && base.slick.options.slidesToShow < numOfChildren) {
      base.$el.attr('aria-roledescription', base.$el.attr('data-aria-roledescription'));
      base.$el.attr('role', 'group');
      base.$el.attr('aria-labelledby', base.$el.attr('data-aria-labelledby'));

    } else {
      base.$el.attr('data-aria-roledescription', base.$el.attr('aria-roledescription'));
      base.$el.attr('data-aria-labelledby', base.$el.attr('aria-labelledby'));
      base.$el.removeAttr('aria-roledescription');
      base.$el.removeAttr('role');
      base.$el.removeAttr('aria-labelledby');
    }

    if (base.options.ariaRole === "list") {
      if (base.slick.$slides.length > 1 && base.slick.options.slidesToScroll > 1) {
        base.slick.$slideTrack.attr('role', 'list');
        base.$el.find(base.options.slickOptions.slide).not('.js-slide-placeholder').attr('role', 'listitem');
      } else {
        base.slick.$slideTrack.removeAttr('role');
        base.$el.find(base.options.slickOptions.slide).not('.js-slide-placeholder').removeAttr('role');
      }
    }
    base.$el.find('.js-slide-placeholder').attr('aria-hidden', 'true');
  },

  /**
   * Platziert das Navigationelement als erstes Kind des base.$el,
   * damit die semantische Reihenfolge von Navigation und .slick-list BITV-konform ist.
   */
  fixNavigationDOMPlacement: function () {
    const base = this;
    let $navigation = base.$el.find(base.options.navigation.selector);
    if ($navigation.length === 0) {
      $navigation = base.$el.siblings(base.options.navigation.selector);
    }
    if ($navigation.index()) {
      // Navigation muss erstes Kind der Slideshow sein
      $navigation.parent().prepend($navigation);
    }
  },

  /**
   * Säubert die Slides von Anpassungen, falls der Slider 'unslicked' wird.
   * Slick fügt den Slides einige Attribute hinzu, im Falle von 'unslick' entfernt Slick diese nicht wieder.
   */
  cleanUpSlides: function () {
    const base = this,
      slick = base.slick;
    if (slick.unslicked) {
      slick.$slides.removeAttr('style').
      removeAttr('aria-hidden').
      removeAttr('tabindex').
      removeAttr('role').
      removeAttr('id').
      removeAttr('aria-describedby');
      slick.$slides.find(base.options.selectors.focusable).removeAttr('tabindex');
    }
  },

  onSlickInit: function (event, slick) {
    const base = event.data;
    base.patchSlickAccessibility(slick);
    base.showHideNavigation(slick);
    base.handleNavigationArrows(slick.options);
    base.updateNavigation(slick);
    if (base.options.initializeMultimedia) {
      base.initMultimedia();
    }
    base.handlePlayButton(slick);
    base.updatePagination(slick, 0);
    base.updateTabindex(slick);
    base.updateAriaRoles(slick);
    base.afterInit();
  },

  onSlickBreakpoint: function (event, slick) {
    const base = event.data;
    base.showHideNavigation(slick);
    slick.$slider.slick('unslick');
    base.needsPlaceholderSlides();
    base.initSlick();
  },

  onSlickBeforeChange: function (event, slick, currentSlide, nextSlide) {
    //ohne diese Anweisung kann die Höhenberechnung fehlschlagen
    //die "falschen" Elemente werden in updateTabindex wieder verborgen
    const base = event.data;
    slick.$slides.find(base.options.selectors.bugged).show();
    if (base.options.setStartClass) {
      base.updateSlideStatus(slick, nextSlide);
    }
  },

  onSlickAfterChange: function (event, slick, currentSlide) {
    const base = event.data;
    base.updatePagination(slick, currentSlide);
    base.updateNavigation(slick);
    base.updateTabindex(slick);
    base.updateAriaRoles(slick);
    base.updateDotFocus();
  },

  onSlickDestroy: function (event, slick) {
    const base = event.data;
    if (!base.unslickBreakpoint) {
      // this will only work correctly with just 1 breakpoint that has settings: 'unslick' in the init
      base.unslickBreakpoint = slick.breakpointSettings.findIndex((breakpoint) => breakpoint === 'unslick');
      base.mobileFirst = slick.options.mobileFirst;
    }
    $(window).off('resize' + base.reInitEventNamespace, base.onSlickDestroyWindowResize).on('resize' + base.reInitEventNamespace, base, base.onSlickDestroyWindowResize);
  },

  onSlickDestroyWindowResize: function (event) {
    const base = event.data;
    if (base.mobileFirst) {
      if ($(window).width() <= base.unslickBreakpoint && !base.$el.hasClass('slick-initialized')) {
        base.slick = base.$el.slick(base.options.slickOptions).slick('getSlick');
        $(window).off('resize' + base.reInitEventNamespace, base.onSlickDestroyWindowResize);
      }
    } else {
      if ($(window).width() > base.unslickBreakpoint && !base.$el.hasClass('slick-initialized')) {
        base.slick = base.$el.slick(base.options.slickOptions).slick('getSlick');
        $(window).off('resize' + base.reInitEventNamespace, base.onSlickDestroyWindowResize);
      }
    }
  },

  /**
   * Die Standard-Optionen für das Plugin
   */
  defaultOptions: {
    pagination: {
      selector: '.js-slideshow-pagination'
    },
    navigation: {
      selector: '.js-slideshow-navigation', // der Selector für die Navigation
      setStartClass: false,
      arrows: {
        selectors: {
          next: '.js-slideshow-navigation-next', // der Selector für den 'Weiter' Pfeil, muss den Klassen im XHR der Navigation entsprechen
          prev: '.js-slideshow-navigation-prev' // der Selector für den 'Zurück' Pfeil, muss den Klassen im XHR der Navigation entsprechen
        }
      },
      autoplay: {
        createPlayButton: true,
        playButtonSelector: '.js-slideshow-navigation-play',
        playing: {
          title: typeof PAUSE !== 'undefined' ? PAUSE : 'Animation stoppen',
          symbol: typeof PAUSEIMG !== 'undefined' ? PAUSEIMG : '/assets/icons/isb/close.svg'
        },
        paused: {
          title: typeof PLAY !== 'undefined' ? PLAY : 'Animation starten',
          symbol: typeof PLAYIMG !== 'undefined' ? PLAYIMG : '/assets/icons/isb/play.svg'
        }
      }
    },
    selectors: {
      wrapper: '.js-stage-slider', // Ein Ancestor von base.$el, in dem Element .removedContent gefunden werden kann
      removedContent: '.js-stage_slider-headline', // Element, das die Klasse isAtStart bekommt, wenn sich die Slideshow an Anfang befindet.
      focusable: 'a, [tabindex], textarea, input, select, button, video, object',
      bugged: 'video:not(.consent-required video), object' // Vermutung: Sind trotz tabindex === -1 fokussierbar
    },
    classes: {
      initialized: 'js-slideshow-initialized', // Nötig insb. dann, wenn Slick nicht aufgerufen wird, weil !hasEnoughSlides() gilt
      isAtStart: 'is-shown' // Die Klasse, die dem Element removedContent hinzugefügt wird, wenn sich die Slideshow an Anfang befindet.
    },
    slickOptions: {
      // https://github.com/kenwheeler/slick#settings verfügbare Optionen und Defaults
      // appendDots: wird von diesem Modul überschrieben und kann nicht durch die init.js gesetzt werden
      // nextArrow: wird von diesem Modul überschrieben durch options.arrowNavigation.selectors.next und kann nicht durch die init.js gesetzt werden
      // prevArrow: wird von diesem Modul überschrieben durch options.arrowNavigation.selectors.next und kann nicht durch die init.js gesetzt werden
      slide: ':not(.js-slideshow-navigation)', // Da der Navigationcontainer bei der Initialisierung von slick ein Sibling der Slides ist, muss dieser hier explizit ausgenommen werden
      infinite: false },

    multimediaOptions: {}, // Optionen für die initialisierung von gsb_multimedia, falls es videos in der slideshow gibt (ungetestet),
    initIfNotEnoughSlides: true,
    initializeMultimedia: true,
    isNavigationSlideshow: false, // Gibt an, ob es sich um eine Thumbnail-Slideshow handelt, die mit asNavFor verknüpft ist (Sonderbehandlung beim Aktivieren/Deaktivieren von Navigation-Arrows und Höhenberechnung)
    ariaRole: '',

    tablistAriaLabel: typeof SHOW_PAGE !== 'undefined' ? SHOW_PAGE : 'Seite anzeigen' } });
   /* Ende gsb_slideshow_numbers */
   /* Start gsb_tab_content_loader */
   'use strict';

gsb.makeGSBModule('gsb.tab_content_loader', {

  /**
   * Initialisiert das Modul.
   */
  init: function () {
    const base = this;
    gsb.log('gsb_tab_content_loader.init()');

    let $buttons = base.$el.find(base.options.selectors.button);
    $buttons.on('activateTab', function () {
      base.loadSource(this);
    });

    let $headings = base.$el.find(base.options.selectors.heading);
    $headings.on('click', function () {
      base.loadSource(this);
    });

    $buttons.each(function () {
      if ($(this).attr('aria-selected') === 'true') {
        base.loadSource(this);
      }
    });

    $headings.each(function () {
      if ($(this).hasClass('active-control')) {
        base.loadSource(this);
      }
    });
  },

  /**
   * Lädt die Tabinhalte und startet den Update-Prozess.
   */
  loadSource: function (element) {
    const base = this;
    const $element = $(element);
    if ($element.data('is-tab-content-loaded') !== true) {
      const contentUri = $element.data(base.options.data);

      if (contentUri) {
        gsb.log('Lade nächste Seite über URI %s für %o', contentUri, base.$el);
        $.ajax({
          url: contentUri,
          context: base
        }).done(function (response) {
          base.updateTab(response, $element.data('tab-id'));
        });
        $element.attr('data-is-tab-content-loaded', true);
      }
    }
  },

  /**
   * Aktualisiert die Seite anhand der übergebenen Antwort.
   * Innerhalb der Antwort werden einzufügende Elemente anhand der Option dynamicListElementSelector ermittelt.
   * @param response die nachgeladene Seite
   * @param tabId die ID des Ziel-Tabs
   */
  updateTab: function (response, tabId) {
    const base = this,
      $response = $(response),
      $targetElement = base.$el.find(base.options.selectors.target + '[data-tab-id="' + tabId + '"]');
    base.$el.trigger('beforeUpdate.tab_content_loader.gsb', { base, $response });
    if ($response.length && $targetElement.length) {
      $targetElement.find('.js-loading-placeholder').remove();
      $targetElement.append($response);
      $targetElement.trigger('updateTabScripts.tab_content_loader.gsb');
      base.$el.trigger('afterUpdate.tab_content_loader.gsb', { base, $response });
    } else {
      gsb.error('Beim Anzeigen der Inhalte konnten entweder keine Inhalte oder kein Wrapper ermittelt werden');
    }
  },

  defaultOptions: {
    data: 'tab-content-href', // URI der Seite auf der die nachzuladenden Inhalte bereitliegen.
    selectors: {
      target: '.js-tab-content-loader-target', // In welchem Element sollen die Inhalte hinten eingefügt werden?
      button: '.js-tab-content-loader-button', // Button-Klasse - Klick auf dieses Element startet das Nachladen.
      heading: '.js-tab-content-loader-heading' // Heading-Klasse - Klick auf dieses Element startet das Nachladen.
    }
  }
});
   /* Ende gsb_tab_content_loader */
   /* Start gsb_toggle */
   /* --GSBDocStart
 * @name: @gsb/gsb_toggle 
 * @version: 5.7.1 
 * @description: Dieses Modul erstellt in der Default-Konfiguration ein Akkordeon in small und ein Tab-Modul in large 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.toggle', {

  init: function () {
    const base = this;

    base.validateOptions();
    base.activeMode = base.options.mode;

    if (base.options.richtext) {
      base.addRichtextContainer();
    } else {
      if (base.$el.data('href')) {
        $.get(base.$el.data('href'), function (data) {
          base.$el.html(data);
          base.onMarkupComplete();
        });
      } else {
        base.onMarkupComplete();
      }
    }
  },

  validateOptions: function () {
    const base = this,
      breakpointOptions = base.options.responsive || [];

    [base.options].concat(breakpointOptions).forEach((options) => {
      if ('accordion' in options) {
        throw new Error(
        "Die Option 'accordion' ist obsolet." +
        " Stattdessen muss die Option 'mode' mit Wert 'accordion' gesetzt werden." +
        " Diese Option ist auch in Breakpoints erlaubt.");

      }
      if ('tab' in options) {
        throw new Error(
        "Die Option 'tab' ist obsolet." +
        " Stattdessen muss die Option 'mode' mit Wert 'tabs' gesetzt werden." +
        " Diese Option ist auch in Breakpoints erlaubt.");

      }
    });
  },

  findAllUsedModes: function () {
    const base = this,
      modes = {},
      breakpointOptions = base.options.responsive || [];

    [base.options].concat(breakpointOptions).forEach((options) => {
      if (options.mode) {
        modes[options.mode] = true;
      }
    });

    return Object.keys(modes);
  },

  /**
   * @method onMarkupComplete
   * @desc Initialisierung des Scripts
   */
  onMarkupComplete: function () {
    const base = this;

    if (!base.$el.hasClass('gsb-toggle')) {
      if (base.activeMode !== 'none') {
        base.reinitToggle();
      }

      base.$el.gsb_responsiveListener(base);
    }
  },

  reinitToggle: function () {
    const base = this;

    if (!base.$el.hasClass('gsb-toggle')) {
      base.$el.addClass('gsb-toggle');
      base.addClasses();
      base.addClickfunction();
      base.makeAccessible();
      base.accKeyboardCtrl();

      if (base.options.hashControlled) {
        base.addHashHandler();
      }
    }
  },

  switchAccordingToMode: function () {
    const base = this;

    base.$el.attr('data-togglemode', base.options.mode);

    if (base.activeMode === 'none' && base.options.mode !== 'none') {
      base.reinitToggle();
    }
    base.activeMode = base.options.mode;

    if (base.options.autoplay && !base.autoplayInitialized) {
      base.autoplay();
    }

    if (base.options.autoplay) {
      base.autoplayStart();
    } else {
      base.autoplayStop();
    }

    if (base.options.mode === 'accordion') {
      base.switchToAccordion();
    } else if (base.options.mode === 'tabs') {
      base.switchToTabs();
    } else if (base.options.mode === 'none') {
      base.switchToNone();
    }
  },



  /**
   * @method addClasses
   * @desc Zugehörigkeit der Überschriften festlegen
   */
  addClasses: function () {
    var base = this;

    let tabControls = base.$el.find(base.options.tabControls);
    if (tabControls.length) {
      let activeTabControl = tabControls.filter('.active-control');
      let activeTabIndex = $.inArray(activeTabControl[0], tabControls);
      if (activeTabIndex === -1) {
        activeTabIndex = 0;
      }
      tabControls.each(function (index) {
        $(this).addClass(base.options.switchPanelClass + index);

        if (index === activeTabIndex) {
          $(this).addClass('active-control');
        } else {
          $(this).addClass('inactive-control');
        }
      });
      base.$el.find(base.options.elements).each(function (index) {
        $(this).addClass(base.options.switchPanelClass + index);

        if (index === activeTabIndex) {
          $(this).addClass(base.options.panelOpenedClass);
        } else {
          $(this).addClass(base.options.panelClosedClass);
        }
      });
    }

    // Accordion hat bei start geöffnete Elemente
    var hasOpendElements = false;

    if (base.$el.find(base.options.heading).filter('.active-control').length > 0) {
      hasOpendElements = true;
    }

    base.$el.find(base.options.heading).each(function () {
      if (!$(this).is('button') || !$(this).is('a')) {
        if (base.options.accordionPanelHeight) {
          var height = 0;
          $(this).next().find('>').each(function () {
            height += $(this).outerHeight(true);
          });
          $(this).next().height(height);
        }

        if (base.options.allOpen && base.options.mode === 'accordion') {//TODO: Genauer prüfen
          base.show($(this).next());
          $(this).addClass('active-control');
        } else if (hasOpendElements) {
          if (!$(this).hasClass('active-control')) {
            $(this).addClass('inactive-control');
            base.hide($(this).next());
          } else {
            base.show($(this).next());
          }
        } else {
          $(this).addClass('inactive-control');
          base.hide($(this).next());
        }
      }

      base.changeAccordionHeadingTitle($(this));
    });
  },

  /**
   * @method addClickfunction
   * @desc Click Events hinzufügen
   */
  addClickfunction: function () {
    var base = this; // Accordion

    base.$el.on('click.gsb_toggle keydown.gsb_toggle', base.options.heading, function (e) {
      if (e.type === 'click' || e.which === 13) {
        e.preventDefault();
        e.stopPropagation();
        base.clickedElem = $(this);
        base.changeStateAccordion();
        base.clickedElem = null;
      }
    }).find(base.options.accordionElementsStopPropagation).on('click.gsb_toggle keydown.gsb_toggle', function (e) {
      e.stopPropagation();
    });

    base.$el.on('activateTab.gsb_toggle', base.options.tabControls, function () {
      base.clickedElem = $(this);
      base.changeStateTab();
      $(this).focus();
    }); // Autoplay muss deaktiviert sein, da die Events focusin und focusout im Firefox derzeit nocht nicht implementiert
    // sind bzw. noch bugs enthalten

    if (base.options.changeOnHover && !base.options.autoplay) {
      base.$el.on('mouseenter.gsb_toggle touchend.gsb_toggle', base.options.tabControls, function () {
        $(this).trigger('activateTab');
      }).on('click.gsb_toggle', base.options.tabControls, function (e) {
        e.preventDefault();
        e.stopPropagation();
      });
    } else {
      base.$el.on('click.gsb_toggle', base.options.tabControls, function (ev) {
        ev.preventDefault();
        ev.stopPropagation();
        $(this).trigger('activateTab');
      }).on('focusin.gsb_toggle', base.options.tabControls, function (ev, stop) {
        if (ev.relatedTarget && !base.$el.find(ev.relatedTarget).length) {
          ev.stopPropagation();
          $(this).trigger('activateTab');
        }
      });
    }
  },

  addHashHandler: function () {
    var base = this,
      initialHash = location.hash || '#',
      hashedElemIndex;

    if (history.scrollRestoration) {
      history.scrollRestoration = 'manual';
    }

    base.initialTabControl = base.$el.find(base.options.tabControls).filter('.active-control');
    if (!base.initialTabControl.length) {
      base.initialTabControl = base.initialTabControl.end().first();
    }
    base.initialAccordionHeadings = base.$el.find(base.options.heading).filter('.active-control');

    if (initialHash !== '#') {
      hashedElemIndex = base.contentPanels.index(base.contentPanels.filter(initialHash));
      if (hashedElemIndex !== -1) {
        base.initialTabControl = base.tabs.eq(hashedElemIndex);
        base.initialAccordionHeadings = base.headings.eq(hashedElemIndex);
      }
    }

    base.initialStatus = base.initialAccordionHeadings.length ? 'initiallyOpen' : 'closed';
    base.initialHash = initialHash;
    base.lastHash = base.initialHash;
    base.lastStatus = base.initialStatus;
    base.initialState = $.extend({}, history.state, {
      status: base.initialStatus,
      hash: base.initialHash
    });
    history.replaceState(base.initialState, document.title);
    $(window).on('gsb-hash-push.gsb_toggle', function (ev, who, hash, status) {
      if (base !== who && (base.lastStatus !== status || base.lastHash !== hash)) {
        base.onPopState(status);
        base.lastStatus = status;
        base.lastHash = hash;
      }
    }).on('popstate.gsb_toggle', function (ev) {
      var state = history.state,
        status = state && state.status,
        hash = location.hash,
        hashIsValidSelector = hash && hash !== '#',
        contentElement;
      base.clickedElem = null;

      if (hashIsValidSelector) {
        contentElement = base.contentPanels.filter(hash);
        if (contentElement.length) {
          base.show(contentElement);
        }
        if (status === 'closed' || status === 'opened' || status === 'initiallyOpen') {
          status = state.status;
          base.onPopState(status);
          base.lastStatus = status;
          base.lastHash = hash || '#';
        }
      }
    }).on('hashchange.gsb_toggle', function (ev) {
      var url = ev.originalEvent && ev.originalEvent.newURL || '',
        hash = '#' + (url.split('#')[1] || '');

      if (hash !== base.lastHash) {
        let contentElement = base.contentPanels.filter(hash);
        if (contentElement.length) {
          if (hash !== '#' && contentElement.is('[hidden]')) {
            base.changeStateHash(hash, 'opened', true);
            base.onPopState('opened');
            base.lastHash = hash;
          } else if (base.options.mode === 'tabs' || base.options.accordionCloseOther) {
            base.changeStateHash(base.lastHash, 'closed', true);
            base.onPopState('closed');
            base.lastHash = hash;
          }
        }
      }
    });
  },

  getHeadingFromHash: function (hash) {
    var base = this,
      hashIsValidSelector = hash && hash !== '#',
      contentElement = hashIsValidSelector ? base.contentPanels.filter(hash) : $(),
      index = contentElement.prop('gsb_aria_index');
    return index > -1 ? base.headings.eq(index) : $();
  },

  getTabFromHash: function (hash) {
    var base = this,
      hashIsValidSelector = hash && hash !== '#',
      contentElement = hashIsValidSelector ? base.contentPanels.filter(hash) : $(),
      index = contentElement.prop('gsb_aria_index');
    return index > -1 ? base.tabs.eq(index) : $();
  },

  getHashFromLink: function (link) {
    var id = String(link.attr('href')).split('#')[1] || '';
    return '#' + id;
  },

  scrollToElement: function ($elementToScrollTo) {
    const base = this;
    const $html = $('html');
    let offset = 0;

    const scrollOffset = base.options.scrolling.scrollOffset;

    if (typeof scrollOffset === 'number') {
      offset = scrollOffset || 0;
    } else if (typeof scrollOffset === 'function') {
      offset = scrollOffset.call(base, $elementToScrollTo) || 0;
    }

    if ($elementToScrollTo.length > 0) {
      $html.css('scroll-behavior', 'auto'); // jquery animiertes Scrollen funktioniert nicht korrekt mit scroll-behavior: 'smooth'
      let overlaysHeight = base.getOverlaysHeight() + offset;

      $html.clearQueue().stop().animate({
        scrollTop: $elementToScrollTo.offset().top - overlaysHeight
      }, base.options.scrolling.scrollAnimationDuration, 'linear',

      function () {//erster Callback nach erster Scroll Animation
        // ensure that the last scroll event (used by e.g. gsb_shrinkheader) from the previous scrolling animation has been fired and the overlaysHeight has been properly updated
        requestAnimationFrame(function () {
          overlaysHeight = base.getOverlaysHeight() + offset;
          $html.clearQueue().stop().animate({
            // Rescroll um Overlay Änderungen abzufangen
            scrollTop: $elementToScrollTo.offset().top - overlaysHeight
          }, base.options.scrolling.scrollAnimationDuration / 2, 'linear', function () {
            requestAnimationFrame(function () {// zweiter Callback nach zweiter Scroll Animation
              $html.css('scroll-behavior', ''); // Scroll Verhalten Manipulation entfernen
              if (!$elementToScrollTo.is($(base.options.tabbables))) {
                $elementToScrollTo.attr('tabindex', -1); // tabindex="-1" hinzufügen um das Element per Javascript fokussierbar zu machen, falls es nicht bereits einen tabindex hat
              }
              $elementToScrollTo[0].focus({ preventScroll: true }); // nicht per Browser scrollen, da wir bereits mit JavaScript an die korrekte Stelle gescrollt haben
            });
          });
        });
      });
    }
  },

  getOverlaysHeight: function () {
    const base = this;
    let height = 0;
    $(base.options.scrolling.scrollOverlaySelector).each(function (index, element) {
      height = height + $(element).outerHeight();
    });
    return height;
  },


  onPopState: function (status) {
    var base = this,
      clickedElem = base.clickedElem || $(),
      hash,
      prevStatus;
    hash = history.state.hash;
    prevStatus = history.state.status;
    base.popStateTriggered = true;

    if (base.options.mode === 'tabs') {
      if (status === 'opened' && hash !== '#') {
        clickedElem = base.getTabFromHash(hash);
      } else if (status === 'initiallyOpen' || hash === '#') {
        clickedElem = base.initialTabControl;
      }
      /* else {
      //do nothing if status === "closed" && hash !== "#"
      }*/


      if (clickedElem.length) {
        base.clickedElem = clickedElem;
        base.changeStateTab(Boolean(base.$el.find(document.activeElement).length));
      }
    } else if (base.options.mode === 'accordion') {
      if (status === 'initiallyOpen') {
        //only possible on first load
        //TODO: Open ALL initial headings, not just the first
        clickedElem = base.initialAccordionHeadings;
      } else if (status === 'opened') {
        if (prevStatus !== 'initiallyOpen' || !base.hasActiveTab(hash)) {
          clickedElem = base.getHeadingFromHash(hash);
        }
      }

      if (clickedElem.length) {
        base.clickedElem = clickedElem;
        base.changeStateAccordion('opened');
        if (!base.options.scrolling.scrollToControlElementAfterOpen && base.options.hashControlled) {
          // scroll per JS when hashControlled when it is not automatically scrolling after opening
          setTimeout(function () {
            // wait for other accordions to properly close first, if accordionCloseOther is true
            base.scrollToElement(clickedElem.is('button, a') ? clickedElem : clickedElem.find(base.buttons));
          }, base.options.accordionCloseOther ? base.options.accordionAnimationDuration : 0);
        }
      }
    }

    base.popStateTriggered = false;
  },

  changeStateHash: function (newHash, status, replace) {
    var base = this,
      hash = location.hash || '#',
      hashLess = location.href.split('#')[0],
      newStatus,
      globalState;
    // backwards compatibility; not strictly necessary as outside code isn't supposed to call this
    if (typeof newHash !== 'string' && $(newHash).is('[href]')) {
      base.changeStateHash(base.getHashFromLink(newHash), ...[].slice.call(arguments, 1));
      return;
    }

    globalState = $.extend({}, history.state);
    globalState.hash = newHash;
    globalState.status = status;

    if (!base.popStateTriggered && !replace) {
      if (base.options.mode === 'tabs') {
        if (hash !== newHash) {
          history.pushState(globalState, document.title, hashLess + newHash);
          $(window).trigger('gsb-hash-push', [base, newHash, status]);
          base.lastHash = newHash;
          base.lastStatus = status;
        }
      } else if (base.options.mode === 'accordion') {
        if (status === 'closed') {
          history.pushState(globalState, document.title, hashLess + '#');
          $(window).trigger('gsb-hash-push', [base, '#', status]);
          base.lastHash = '#';
          base.lastStatus = status;
        } else {
          history.pushState(globalState, document.title, hashLess + newHash);
          $(window).trigger('gsb-hash-push', [base, newHash, status]);
          base.lastHash = newHash;
          base.lastStatus = status;
        }
      }
    } else if (replace) {
      history.replaceState(globalState, document.title);
    }
  },

  hasActiveTab: function (hash) {
    var base = this,
      tab = base.getTabFromHash(hash);
    return Boolean(tab.filter('.active-control').length);
  },

  /**
   * @method changeStateAccordion
   * @param {Object} elem - Geklicktes Element
   * @desc Passt den title des headingElements je Status an (geöffnet/geschlossen)
   */
  changeAccordionHeadingTitle: function (elem) {
    var base = this;

    if (elem.hasClass('active-control') && base.options.accordionHeadingTitleOpened) {
      elem.attr('title', base.options.accordionHeadingTitleOpened);
    } else if (!elem.hasClass('active-control') && base.options.accordionHeadingTitleClosed) {
      elem.attr('title', base.options.accordionHeadingTitleClosed);
    }
  },

  /**
   * @method changeStateAccordion
   * @desc Open-/Close-States Accordion
   */
  changeStateAccordion: function (targetStatus) {
    var base = this,
      contentElement,
      button,
      singleOpen,
      status;

    if (base.options.accordionElementToOpen) {
      contentElement = $(base.options.accordionElementToOpen);
    } else {
      contentElement = base.clickedElem.next();
    }

    button = base.buttons.eq(contentElement.prop('gsb_aria_index'))[0];
    singleOpen = !base.options.accordionCloseOther;

    if (base.clickedElem.hasClass('inactive-control') || targetStatus === 'opened') {
      if (base.options.accordionCloseOther && !base.options.accordionElementToOpen) {
        var activeControl = base.$el.find(base.options.heading).not(base.clickedElem).filter('.active-control');
        base.animationAccordion(activeControl.next(), 'close', function () {
          if (base.options.scrolling.scrollToControlElementAfterOpen) {
            base.scrollToElement($(button));
          }
        });
        activeControl.removeClass('active-control').addClass('inactive-control');
      }
      if (base.clickedElem.hasClass('inactive-control')) {
        base.clickedElem.removeClass('inactive-control').addClass('active-control');
        base.animationAccordion(contentElement, 'open', function () {
          base.aria.updateAria(button, true, singleOpen);
        });
      }
      if (!base.options.accordionCloseOther && !base.options.accordionElementToOpen) {
        if (base.options.scrolling.scrollToControlElementAfterOpen) {
          base.scrollToElement($(button));
        }
      }

      status = 'opened';
    } else if (!base.options.accordionCloseOther || !base.options.accordionNoClose || targetStatus === 'closed') {
      base.clickedElem.removeClass('active-control').addClass('inactive-control');
      base.animationAccordion(contentElement, 'close', function () {
        base.aria.updateAria(button, false, singleOpen);
      });
      status = 'closed';
    }

    if (base.options.hashControlled) {
      if (contentElement.attr('id')) {
        base.changeStateHash('#' + contentElement.attr('id'), status, false);
      } else {
        console.error(base.module, 'contentElement', contentElement, 'without id inside a hash-controlled Accordion');
      }
    }

    base.changeAccordionHeadingTitle(base.clickedElem);

  },

  /**
   * @method changeStateTab
   * @desc Open-/Close-States Tab
   */
  changeStateTab: function (hasFocus) {
    var base = this,
      panelToOpen = base.$el.find(base.options.tabContainer).find('.' + base.getSwitchPanelClass(base.clickedElem)),
      panelToClose;

    if (base.clickedElem.hasClass('inactive-control')) {
      panelToClose = base.$el.find('.' + base.options.panelOpenedClass);
      base.aria.updateAria(base.clickedElem[0], true, false);
      panelToClose.removeClass(base.options.panelOpenedClass).addClass(base.options.panelClosedClass);
      base.$el.find(base.options.tabControls).filter('.active-control').removeClass('active-control').addClass('inactive-control');
      panelToOpen.removeClass(base.options.panelClosedClass).addClass(base.options.panelOpenedClass);
      base.clickedElem.removeClass('inactive-control').addClass('active-control');
      base.animationTab(panelToClose, panelToOpen);
      if (base.options.hashControlled) {
        base.changeStateHash('#' + panelToOpen.attr('id'), 'opened');
      }
    }

    if (hasFocus) {
      base.clickedElem.focus();
    }
  },

  show: function ($elements) {
    var base = this,
      customShow = base.options.show;

    if (typeof customShow !== 'function') {
      $elements.show();
    } else {
      $elements.toArray().forEach(customShow);
    }
  },

  hide: function ($elements) {
    var base = this,
      customHide = base.options.hide;

    if (typeof customHide !== 'function') {
      $elements.hide();
    } else {
      $elements.toArray().forEach(customHide);
    }
  },

  /**
   * @method animationAccordion
   * @desc Animation für OpenClose des Accordions
   *
   * @param elem {Object} Element welches animiert werden soll
   * @param type Art der Animation - {string} open / close
   */
  animationAccordion: function (elem, type, callback) {
    var base = this;

    if (type === 'open') {
      elem.hide().animate({ height: 'toggle' }, { duration: base.options.accordionAnimationDuration }).promise().done(callback, function () {
        base.show(this);

        if (base.options.accordionElementToOpen) {
          base.addA11y(elem);
        }
        base.$el.trigger('afterAnimationOpen.toggle.gsb', $(elem).prev());
      });
    } else {
      elem.show().animate({ height: 'toggle' }, { duration: base.options.accordionAnimationDuration }).promise().done(callback, function () {
        base.hide(this);
        base.$el.trigger('afterAnimationClose.toggle.gsb', $(elem).prev());
      });
    }
  },

  /**
   * @method animationTab
   * @desc Animation für OpenClose des Tabs
   *
   * @param panelToClose {Object} Element welches animiert werden soll (ausblenden)
   * @param panelToOpen {Object} Element welches animiert werden soll (einblenden)
   */
  animationTab: function (panelToClose, panelToOpen) {
    var base = this;

    if (base.options.animateTab) {
      panelToClose.fadeOut('slow', function () {
        panelToOpen.fadeIn('slow', function () {
          base.show(this);
        });
      });
    } else {
      base.hide(panelToClose);
      base.show(panelToOpen);

      if (typeof base.options.afterChange === 'function') {
        base.options.afterChange.call($(this), base.$el);
      }
    }
  },

  /**
   * @method autoplay
   * @desc Autoplay
   */
  autoplay: function () {
    var base = this;

    if (base.$el.find('> button').length === 0) {
      var button = document.createElement('button');
      button.className = 'paused';
      var image = document.createElement('img');
      image.src = base.options.playButtonImagePlaying;
      image.alt = base.options.playButtonAltTextPlaying; // playbutton = base.$el.append($(button).append(image));
    }

    base.playbutton = base.$el.find('button.paused');
    base.playbutton.on('click autoplayStart', function (e) {
      e.preventDefault();
      e.stopPropagation();

      if (base.playbutton.hasClass('paused')) {
        $(this).removeClass('paused').addClass('played');
        base.autoplayStart();
        base.changeStatePlayPause(base.options.playButtonImagePlaying, base.options.playButtonAltTextPlaying);
        base.isPaused = false;

        if (e.type !== 'autoplayStart') {
          //Damit nach Starten des Autoplays nicht nochmal autoplayStart von mouseleave aufgerufen wir
          base.isClicked = true;
        }
      } else {
        $(this).addClass('paused').removeClass('played');
        base.autoplayStop();
        base.changeStatePlayPause(base.options.playButtonImagePaused, base.options.playButtonAltTextPaused);
        base.isPaused = true;
      }
    });

    // Stop bei Hover
    if (base.options.pauseOnHover) {
      base.$el.on('mouseenter mouseleave', function (e) {
        if (!base.isPaused) {
          if (e.type === 'mouseenter') {
            base.autoplayStop();
          } else {
            if (base.playbutton.hasClass('played') && !base.isClicked) {
              base.autoplayStart();
            }

            base.isClicked = false;
          }
        }
      });
    }

    //play bei start
    if (base.options.playOnLoad) {
      base.playbutton.trigger('autoplayStart');
    }

    base.autoplayInitialized = true;
  },

  /**
   * @method autoplayStart
   * @desc Autoplay start
   */
  autoplayStart: function () {
    var base = this;
    base.rotation = setInterval(function () {
      var tabControls = base.$el.find(base.options.tabControls),
        activeTab = tabControls.find('active-control'),
        activeIndex = tabControls.index(activeTab),
        lastIndex = tabControls.length - 1; //Wenn letzter Tab, wieder beim ersten anfangen

      if (activeIndex >= lastIndex) {
        tabControls.first().click();
      } else {
        tabControls.eq(activeIndex + 1).click();
      }
    }, base.options.autoSpeed);
  },

  /**
   * @method autoplayStop
   * @desc Autoplay stop
   */
  autoplayStop: function () {
    var base = this;
    clearInterval(base.rotation);
  },

  makeAccessible: function () {
    var base = this,
      tabControlContainer,
      tabListHeading,
      tabs,
      headings,
      clonedHeadings,
      buttons,
      contentPanels;

    if (!base.aria) {
      tabControlContainer = base.$el.find(base.options.tabControlContainer);
      tabListHeading = base.$el.find(base.options.tabListHeading);

      if (!tabListHeading.length) {
        tabListHeading = tabControlContainer.prev(base.options.semanticHeading);
      }

      tabs = base.$el.find(base.options.tabControls);
      headings = base.$el.find(base.options.heading);
      contentPanels = base.$el.find(base.options.elements);

      if (base.findAllUsedModes().includes('tabs')) {
        clonedHeadings = headings.filter(base.options.semanticHeading).map(function (i, originalHeading) {
          const clonedHeading = $(document.createElement(originalHeading.tagName));
          clonedHeading.
          html($(originalHeading).html()).
          addClass(base.options.clonedHeadingClass).
          prependTo(contentPanels.eq(i));
          return clonedHeading[0];
        });
      } else {
        clonedHeadings = $();
      }

      buttons = headings.map(function () {
        var heading = $(this),
          links,
          button;

        if (!heading.is('button, a')) {
          links = heading.find('a');
          if (links.length) {
            button = links.first().
            attr('role', 'button');
          } else {
            button = $('<button/>').append(heading.contents());
            heading.append(button);
            heading.attr('data-transformedbytoggle', 'true');
          }
        } else {
          button = heading;
        }

        return button[0];
      });
      base.tabs = tabs;
      base.headings = headings;
      base.clonedHeadings = clonedHeadings;
      base.contentPanels = contentPanels;
      base.buttons = buttons;
      base.aria = gsb.aria(base.el, {}, $.extend({}, base.ariaParams, {
        types: {
          tabListHeading: tabListHeading,
          tabControlContainer: tabControlContainer,
          button: buttons,
          content: contentPanels,
          tab: tabs
        }
      }));

      headings.each(function (i) {
        if ($(this).hasClass('active-control')) {
          base.aria.updateAria(buttons[i], true, true);
          base.show(contentPanels.eq(i));
        }
      });
      tabs.each(function (i) {
        if ($(this).hasClass('active-control')) {
          base.aria.updateAria(tabs[i], true, true);
          base.show(contentPanels.eq(i));
        }
      });

      tabs.parentsUntil(tabControlContainer).attr('role', 'none');
    }
  },

  ariaParams: {
    initial: [{
      _type: 'tabListHeading',
      id: function id(base) {
        return base.generateID();
      }
    }, {
      _type: 'tabControlContainer',
      role: 'tablist',
      'aria-labelledby': function ariaLabelledby(base) {
        if (base.types['tabControlContainer'].eq(0).attr('aria-label')) {
          return null; //delete labelledby
        } else if (base.types['tabControlContainer'].eq(0).attr('aria-labelledby')) {
          return undefined; //do nothing
        } else {
          return base.types['tabListHeading'].eq(0).attr('id') || null;
        }
      }
    }, {
      _type: 'content',
      role: function role(base, index) {
        return base.types['content'].eq(index).attr('role') || 'tabpanel';
      },
      id: function id(base, index) {
        return base.types['content'].eq(index).attr('id') || base.generateID();
      }
    }, {
      _type: 'tab',
      role: 'tab',
      id: function id(base) {
        return base.generateID();
      },
      'aria-controls': function ariaControls(base, index) {
        return base.types['content'].eq(index).attr('id');
      },
      'href': function href(base, index) {
        var tab = base.types['tab'].eq(index),
          contId = base.types['content'].eq(index).attr('id'),
          hashLess = location.href.split('#')[0];
        if (tab.is('a')) {
          return tab.attr('href') || hashLess + '#' + contId;
        } else {
          return null;
        }
      }
    }, {
      _type: 'button',
      id: function id(base) {
        return base.generateID();
      },
      'aria-controls': function ariaControls(base, index) {
        return base.types['content'].eq(index).attr('id');
      }
    }, {
      _type: 'content',
      'aria-labelledby': function ariaLabelledby(base, index) {
        return base.types['tab'].eq(index).attr('id') || base.types['button'].eq(index).attr('id');
      }
    }],
    toggles: {
      tab: {
        'aria-selected': ['true', 'false'],
        tabindex: [0, -1]
      },
      button: {
        'aria-expanded': ['true', 'false']
      },
      content: {
        hidden: [null, 'hidden']
      }
    }
  },

  //focuses next tabbable element outside the widget
  focusNextTabbable: function () {
    var base = this,
      allTabbables = $(base.options.tabbables).not('[tabindex=-1]'),
      lastIndex = allTabbables.length - 1,
      tabbablesInside = base.$el.find(base.options.tabbables).not('[tabindex=-1]'),
      firstIndexOutside = allTabbables.index(tabbablesInside.last()) + 1;
    allTabbables.eq(firstIndexOutside > lastIndex ? 0 : firstIndexOutside).focus();
  },

  //focuses previous tabbable element outside the widget
  focusPrevTabbable: function () {
    var base = this,
      allTabbables = $(base.options.tabbables).not('[tabindex=-1]'),
      tabbablesInside = base.$el.find(base.options.tabbables).not('[tabindex=-1]'),
      firstIndexOutside = allTabbables.index(tabbablesInside.first()) - 1;
    allTabbables.eq(firstIndexOutside < 0 ? -1 : firstIndexOutside).focus();
  },

  activatePrevTab: function () {
    var base = this,
      tabs = base.tabs,
      activeTab = tabs.filter('.active-control'),
      activeIndex = tabs.index(activeTab);

    if (activeIndex - 1 > -1) {
      tabs.eq(activeIndex - 1).trigger('activateTab');
    } else {
      tabs.last().trigger('activateTab');
    }
  },

  activateNextTab: function () {
    var base = this,
      tabs = base.tabs,
      activeTab = tabs.filter('.active-control'),
      activeIndex = tabs.index(activeTab);

    if (activeIndex + 1 < tabs.length) {
      tabs.eq(activeIndex + 1).trigger('activateTab');
    } else {
      tabs.first().trigger('activateTab');
    }
  },

  onKeyTab: function (ev) {
    var base = ev.data;
    base.tabs = base.$el.find(base.options.tabControls);

    switch (ev.key) {
      case 'ArrowLeft':
      case 'Left':
        // IE/Edge
        base.activatePrevTab();
        break;

      case 'ArrowRight':
      case 'Right':
        // IE/Edge
        base.activateNextTab();
        break;

      case 'Home':
        base.tabs.first().trigger('activateTab');
        break;

      case 'End':
        base.tabs.last().trigger('activateTab');
        break;

      default:
        //skip preventDefault etc.
        return;}


    ev.stopPropagation();
    ev.preventDefault();
  },

  tabKeyboardCtrl: function () {
    var base = this,
      eventString = 'keydown.gsb_toggle';
    base.$el.off(eventString, base.onKeyAcc);
    base.$el.on(eventString, base, base.onKeyTab);
  },

  refreshTab: function () {
    throw new Error(
    "refreshTab() ist obsolet." +
    " onRefresh() zu überschreiben ist nicht mehr nötig, um den Typ des Toggles festzulegen." +
    " Dies geschieht jetzt über die Option 'mode' (mit Wert 'tabs' für Tabs)." +
    " Diese Option ist auch in Breakpoints erlaubt.");

  },

  /**
   * @method switchToTabs
   * @desc Switch to tabs mode
   */
  switchToTabs: function () {
    var base = this,
      activeTab;

    base.contentPanels.attr('role', 'tabpanel');
    base.tabKeyboardCtrl();

    if (base.options.hashControlled) {
      base.onPopState('opened');
    } else {
      activeTab = base.tabs.filter('[aria-selected=true]');
      if (activeTab.length) {
        base.clickedElem = activeTab;
        base.changeStateTab();
      }
    }

    base.$el.find(base.options.heading).each(function () {
      $(this).removeAttr('aria-expanded');
    }); // Autoplay muss deaktiviert sein, da die Events focusin und focusout im Firefox derzeit nocht nicht implementiert
    // sind bzw. noch bugs enthalten

    if (base.options.changeOnHover && !base.options.autoplay) {
      base.$el.on('mouseenter focus', base.options.tabControls, function (e) {
        base.clickedElem = $(this);
        base.changeStateTab();
      });
    }

    base.hide(base.$el.find('.' + base.options.panelClosedClass));
    base.show(base.$el.find('.' + base.options.panelOpenedClass));
  },

  focusPrevHeading: function () {
    var base = this,
      buttons = base.buttons,
      activeButton = buttons.filter(document.activeElement),
      activeIndex = buttons.index(activeButton);

    if (activeIndex - 1 > -1) {
      buttons.eq(activeIndex - 1).focus();
    } else {
      buttons.last().focus();
    }
  },

  focusNextHeading: function () {
    var base = this,
      buttons = base.buttons,
      activeButton = buttons.filter(document.activeElement),
      activeIndex = buttons.index(activeButton);

    if (activeIndex + 1 < buttons.length) {
      buttons.eq(activeIndex + 1).focus();
    } else {
      buttons.first().focus();
    }
  },

  onKeyAcc: function (ev) {
    var base = ev.data;

    if (!base.options.accordionDisableKeyboardCtrl) {
      switch (ev.key) {
        case 'ArrowUp':
        case 'Up':
          // IE/Edge
          base.focusPrevHeading();
          break;

        case 'ArrowDown':
        case 'Down':
          // IE/Edge
          base.focusNextHeading();
          break;

        case 'Home':
          base.buttons.first().focus();
          break;

        case 'End':
          base.buttons.last().focus();
          break;

        default:
          //skip preventDefault etc.
          return;}


      ev.preventDefault();
    }
  },

  accKeyboardCtrl: function () {
    var base = this,
      eventString = 'keydown.gsb_toggle';
    base.$el.off(eventString, base.onKeyTab); // remove listener for tabs
    base.$el.off(eventString, base.onKeyAcc); // avoid duplicate listener
    base.$el.on(eventString, base, base.onKeyAcc);
  },

  refreshAccordion: function () {
    throw new Error(
    "refreshAccordion() ist obsolet." +
    " onRefresh() zu überschreiben ist nicht mehr nötig um den Typ des Toggles festzulegen." +
    " Dies geschieht jetzt über die Option 'mode' (mit Wert 'accordion' für Akkordeon)." +
    " Der Default-Modus in allen Größen ist 'accordion'." +
    " Diese Option ist auch in Breakpoints erlaubt.");

  },

  /**
   * @method switchToAccordion
   * @desc  Switch to accordion mode
   */
  switchToAccordion: function () {
    var base = this;

    if (base.contentPanels.is('div') || base.contentPanels.is('span')) {
      base.contentPanels.attr('role', 'region');
    }
    base.accKeyboardCtrl();
    base.$el.find(base.options.elements).each(function () {
      var $elem = $(this);

      if ($elem.is('[hidden]')) {
        $elem.prev('.active-control').removeClass('active-control').addClass('inactive-control');
      } else {
        $elem.prev('.inactive-control').removeClass('inactive-control').addClass('active-control');
      }
    });

    if (base.options.hashControlled) {
      base.onPopState('opened');
    }

    base.$el.find(base.options.heading).each(function () {
      if ($(this).hasClass('inactive-control')) {
        base.hide($(this).next());
      }
    });

    let activeDescendant = base.$el.find(document.activeElement);
    if (activeDescendant.length > 0) {
      base.tabs.each(function (i, el) {
        let tab = $(el);
        if (tab.is(activeDescendant) || tab.find(activeDescendant).length) {
          base.buttons.eq(tab.prop('gsb_aria_index')).focus();
        }
      });
    }
  },

  /**
   * @method changeStatePlayPause
   * @param {string} imgsrc - Imagesource-Link
   * @param {string} alt - Alt-Text des Images
   * @desc Bild tauschen für Play/Pausebutton
   */
  changeStatePlayPause: function (imgsrc, imgalt) {
    var base = this;
    var image = base.playbutton.find('img');
    image.prop('alt', imgalt).prop('src', imgsrc);
  },

  /**
   * @method getSwitchPanelClass
   * @param {Object} elem - geklicktes Element (durchgereicht von changeState oder autoplayStart)
   * @desc Liefert die switch-panel Klasse des geklickten Elements
   */
  getSwitchPanelClass: function (elem) {
    return $.grep(elem.prop('class').split(' '), function (value) {
      return value.indexOf('switch-panel') > -1;
    });
  },

  uninitAccordion: function () {
    throw new Error(
    "uninitAccordion() ist obsolet." +
    " uninitAccordion() aufzurufen ist nicht mehr nötig um den Typ des Toggles festzulegen." +
    " Dies geschieht jetzt über die Option 'mode' (mit Wert 'none' für kein Toggle).");

  },

  /**
   * @method switchToNone
   * @desc Soll den Großteil der DOM-Änderungen durch das Modul rückgängig machen.
   *       Die Klassen active-control und inactive-control sind davon ausgenommen.
   */
  switchToNone: function () {
    var base = this;

    if (base.$el.hasClass('gsb-toggle')) {
      base.$el.removeClass('gsb-toggle');
      base.$el.off('.gsb_toggle'); //entfernt nur namespace='.gsb_toggle' Events

      base.headings.filter(function () {
        return $(this).attr('data-transformedbytoggle') === 'true';
      }).each(function (i) {
        var contents = base.buttons.eq(i).contents();
        $(this).empty().append(contents);
      });
      base.show(base.contentPanels);
      base.contentPanels.removeAttr('hidden role aria-labelledby');
      base.$el.find(base.options.tabControlContainer).removeAttr('role');
      base.tabs.removeAttr('role aria-selected tabindex');
      base.buttons.removeAttr('aria-expanded');
      base.clonedHeadings.remove();
      base.contentPanels.removeClass(base.options.panelOpenedClass + ' ' + base.options.panelClosedClass);
      base.contentPanels.removeClass(function (index, className) {
        return className.match(base.options.switchPanelClass + "\\d*", "g");
      });
      base.aria.$el.data('gsb.aria', null);
      base.aria = null;
    }
  },

  destroyWidget: function () {
    throw new Error(
    "destroyWidget() ist obsolet." +
    " destroyWidget() nicht mehr unterstützt." +
    " Vermutlich genügt es die Option 'mode' (mit Wert 'none' für kein Toggle) zu setzen." +
    " Ein \"echtes\" destroy ist dies jedoch nicht, die Modulinstanz bleibt erhalten.");

  },

  /**
   * @method addA11y
   * @desc  setzt den focus auf das erste fokussierbare Element
   * @param elem {jQuery} Element welches nach fokussierbaren Elementen durchsucht wird. Ist mindestens ein Element vorhanden,
   * wird der Fokus gesetzt
   * @param tabPanel {jQuery} Element auf welches gesprungen werden soll, wenn im TabContainer keiner fokussierbaren Element vorhanden sind
   */
  addA11y: function (elem, tabPanel) {
    var base = this;
    elem = elem || base.$el;
    var focusElements = elem.find('input,textarea,select,a,button').not(':hidden');

    if (focusElements.length) {
      focusElements[0].focus();
      focusElements.last().keydown(function (e) {
      });
    }
  },

  /**
   * @method addRichtextContainer
   * @desc Sucht in base.el nach Elementen mit den Klasse startaccordion, endaccordion und accordionheadline (konfigurierbar)
   * und baut die für gsb_toggle benötigte Struktur um diese Elemente herum.
   *
   * Wenn alle benötigten Elemente eingebaut wurden, ruft sich das Script nochmal selbst auf; dann mit der Option richtext := false
   */
  addRichtextContainer: function () {
    var base = this,
      containers;
    containers = base.$el.find(base.options.richtextStart).map(function () {
      var startAcc = $(this),
        rtAccContainer = $(base.options.richtextAccordionContainer, base.el).insertBefore(startAcc),
        rtTabContainer = $(base.options.richtextTabControlContainer, base.el).insertBefore(startAcc),
        headings,
        wrapper;
      startAcc.
      add(startAcc.nextUntil(base.options.richtextEnd)).
      add(startAcc.nextAll(base.options.richtextEnd).first()).
      appendTo(rtAccContainer);
      headings = rtAccContainer.find(base.options.richtextStart).add(rtAccContainer.find(base.options.richtextControl));
      headings.addClass('heading').each(function (i) {
        var heading = $(this),
          nextHeading = headings.eq(i + 1);
        rtTabContainer.append($(base.options.richtextTabControlContainerItem).append($('<a/>').html(heading.html())));
        if (nextHeading.length) {
          heading.nextUntil(nextHeading).wrapAll('<div/>');
        }
      });
      rtAccContainer.find('.heading').last().nextUntil(base.options.richtextEnd).add(rtAccContainer.find(base.options.richtextEnd)).wrapAll('<div/>');
      wrapper = $(base.options.richtextWrapper, base.el).insertBefore(rtTabContainer);

      let usedModes = base.findAllUsedModes();
      if (usedModes.includes('tabs')) {
        wrapper.append(rtTabContainer);
      } else {
        rtTabContainer.remove();
      }
      if (usedModes.includes('accordion')) {
        wrapper.append(rtAccContainer);
      } else {
        headings.remove();
      }
      return wrapper[0];
    });
    base.$el.removeData('gsb.toggle');
    containers.gsb_toggle($.extend({}, base.options, {
      richtext: false
    }));
  },

  defaultOptions: {
    mode: 'accordion', //Möglichkeiten: accordion, tabs, none
    richtext: false,
    richtextWrapper: '<div class="richtext-accordion"/>',
    richtextStart: '.startaccordion',
    richtextControl: '.accordionheadline',
    richtextEnd: '.endaccordion',
    tabContainer: '> .tabs-container',
    tabControls: '> .tabs-list > li a',
    tabControlContainer: '> .tabs-list',
    richtextTabControlContainer: '<ul class="tabs-list"/>',
    richtextTabControlContainerItem: '<li></li>',
    tabListHeading: '',
    elements: '> .tabs-container > div',
    heading: '> .tabs-container > .heading',
    clonedHeadingClass: 'cloned-heading',
    switchPanelClass: 'switch-panel',
    panelOpenedClass: 'panel-opened',
    panelClosedClass: 'panel-closed',
    richtextAccordionContainer: '<div class="tabs-container"/>',
    semanticHeading: 'h1,h2,h3,h4,h5,h6',
    tabbables: 'a[href], area, input, button, select, textarea, audio, video, [tabindex]',
    accordionAnimationDuration: 400,
    accordionCloseOther: true,
    accordionNoClose: false,
    accordionDisableKeyboardCtrl: false,
    accordionPanelHeight: false,
    accordionElementToOpen: null,
    accordionElementsStopPropagation: '',
    hashControlled: false,
    autoplay: false,
    playButtonImagePaused: null,
    playButtonImagePlaying: null,
    playButtonAltTextPaused: typeof PLAY === 'undefined' ? 'Animation starten' : PLAY,
    playButtonAltTextPlaying: typeof PAUSE === 'undefined' ? 'Animation stoppen' : PAUSE,
    accordionHeadingTitleClosed: null,
    accordionHeadingTitleOpened: null,
    autoSpeed: '5000',
    playOnLoad: false,
    pauseOnHover: true,
    changeOnHover: false,
    allOpen: false,
    animateTab: false,
    respondToEvents: true,
    scrolling: {
      scrollOffset: function (referenceElement) {
        return NaN;
      },
      scrollToControlElementAfterOpen: false,
      scrollAnimationDuration: 300,
      scrollOverlaySelector: '.js-header.is-sticky'
    },
    onRefresh: function () {
      this.switchAccordingToMode();
    },
    responsive: []
  }
});
   /* Ende gsb_toggle */
   /* Start gsb_tooltip */
   /* --GSBDocStart
 * @name: @gsb/gsb_tooltip 
 * @version: 3.0.3 
 * @description: Das Modul fügt um das base-Element einen Wrapper hinzu und hängt dem Element ein `span` Element mit einen Tooltip Text an. Dies geschieht nicht initial, sondern bei der ersten Interaktion. 
 * --GSBDocEnd
*/"use strict";
gsb.makeGSBModule('gsb.tooltip', {

  init: function () {
    const base = this;
    base.allInstances.instCount++;
    base.instNS = '.inst' + base.allInstances.instCount + '.' + base.eventName;
    base.id = base.moduleName.replace('.', '-').replace('_', '-') + '-' + base.allInstances.instCount;
    base.documentEventName = 'touchstart.' + base.eventName + ' mousedown.' + base.eventName + ' keydown.' + base.eventName; // the same for all instances
    base.text = base.$el.attr('title');
    base.$tooltip = null;
    base.longpress = false;
    base.isInsideControl = base.$el.closest(base.options.selectors.controls).length;

    base.$el.on('mouseover', base, base.handleMouseOver);
    base.$el.on('mouseleave', base, base.handleMouseLeave);

    if (base.isInsideControl) {// Abbreviation is inside a control element
      base.$el.on('mousedown touchstart', base, base.handleInteractionStartInsideControl);
      base.$el.on('touchend click', base, base.handleInteractionEndInsideControl);
    } else {// Abbreviation is not inside a control element
      base.$el.on('touchend click', base, base.showTooltip);
    }
  },

  handleInteractionStartInsideControl: function (e) {
    const base = e.data;
    // determine whether the interaction (touch or click) is pressed long enough to open the tooltip and cancel the event to avoid activating the control element
    base.pressTimer = window.setTimeout(function () {
      base.longpress = true;
    }, base.options.longpressDelay);
  },

  handleInteractionEndInsideControl: function (e) {
    const base = e.data;
    if (base.longpress) {// interaction was long enough to open the tooltip
      base.killEvent(e); // do not trigger the control element
      base.showTooltip(e); // but show the tooltip
    } else if ($(e.target).is(base.$tooltip)) {// interaction occured on the already shown tooltip
      base.killEvent(e); // do not trigger the control element in order to be able to select text in tooltip
    }
    clearTimeout(base.pressTimer); // reset pressTimer
    base.longpress = false; // reset longpress state
  },

  killEvent: function (e) {
    // prevent the control element from receiving the event
    const base = e.data;
    e.stopImmediatePropagation();
    e.preventDefault();
    e.stopPropagation();
  },

  handleMouseOver: function (e) {
    // the tooltip is shown by css styles, but needs to be positioned to make sure it is visible inside the viewport
    const base = e.data;
    base.$el.attr('title', ''); // remove title attribute to avoid showing the browser tooltip for the title to avoid overlap with this custom tooltip
    if (!base.$tooltip) {
      base.createTooltip();
    }
    base.$el.closest('.' + base.options.classes.wrapper).addClass(base.options.classes.hover);
    base.setPosition(e);
  },

  handleMouseLeave: function (e) {
    const base = e.data;
    base.$el.attr('title', base.text); // restore the title attribute
    base.$el.closest('.' + base.options.classes.wrapper).removeClass(base.options.classes.hover);
  },

  showTooltip: function (e) {
    const base = e.data;

    if (!base.$tooltip) {
      base.createTooltip();
    }
    base.$tooltip.removeAttr('hidden');

    // set display block explicitly because on touch devices the hover styles need to be display:none;
    // without display:none for the hover style for touch devices the popup will show on touch and cannot be closed by pressing 'escape'
    base.$tooltip.css('display', 'block');

    base.$el.attr('aria-describedBy', base.id);
    base.$el.removeAttr('title');
    base.setPosition(e);

    $(document).on(base.documentEventName, base, base.handleDocumentInteraction);
  },

  handleDocumentInteraction: function (e) {
    const base = e.data;
    // when a tooltip is shown, register a fresh document event listener to be able to close on click, touch and Escape
    const $target = $(e.target);
    if (!$target.is(base.$tooltip) && !$target.is(base.$el)) {// event isn't inside the tooltip
      if (e.type === 'touchstart' || e.type === 'mousedown' || e.keyCode === 27) {// is touchstart, mousedown or Escape key
        $(base.options.selectors.tooltip).each(function (i, tooltip) {
          base.hideTooltip(e, $(tooltip)); // close all tooltips
        });
        $(document).off(base.documentEventName); // remove the document event listener after the tooltips were closed
      }
    }
  },

  hideTooltip: function (e, $tooltip) {
    const base = e.data;
    const $tooltipToHide = $tooltip || base.$tooltip;
    $tooltipToHide.attr('hidden', true);
    base.$el.removeAttr('aria-describedBy');
    base.$el.attr('title', base.text);
    $tooltipToHide.css('display', '');
  },

  createTooltip: function () {
    const base = this;

    // create a wrapper around the abbreviatio and the tooltip and position it relative to able to position the tooltip absolute, relative to the abbreviation
    base.$el.wrap('<span class="' + base.options.classes.wrapper + '" style="position: relative;"></span>');

    const $tooltip = $('<span></span>');
    $tooltip.addClass(base.options.classes.tooltip);
    $tooltip.addClass(base.options.selectors.tooltip.replace('.', ''));
    $tooltip.attr('id', base.id);
    $tooltip.attr('role', 'tooltip');
    $tooltip.text(base.text);
    $tooltip.attr('hidden', true);
    $tooltip.css('left', 0);
    base.$el.after($tooltip);

    if (base.isInsideControl) {
      $tooltip.on('click touchend', base, base.killEvent); // do not trigger the control element
    }
    base.$tooltip = $tooltip;
  },

  setPosition: function (e) {
    const base = e.data;
    const clientWidth = $('body').prop('clientWidth');

    // reset Position so it can be correctly calculated
    base.$tooltip.css('left', 0);
    base.$tooltip.css('top', '');
    base.$tooltip.css('max-width', '');

    const tooltipMarginHorizontal = base.$tooltip.outerWidth(true) - base.$tooltip.outerWidth(false); // margins left and right need to be considered
    base.$tooltip.css('max-width', clientWidth - tooltipMarginHorizontal + 'px');

    const currentRightEdge = base.$tooltip.offset().left + base.$tooltip.outerWidth(true) - tooltipMarginHorizontal / 2; // remove half margin to remove indent

    const inViewportRightEdge = currentRightEdge < clientWidth;
    // if the tooltip fits into the viewport on the same horizontal position as the abbreviation itself, just remove half the margin to avoid indent,
    // else move the position as far left it needs to be so that the right edge of the tooltip (with the margin considered) is on the right edge of the viewport
    const left = inViewportRightEdge ? -tooltipMarginHorizontal / 2 : clientWidth - currentRightEdge;
    base.$tooltip.css('left', left);

    const currentBottom = base.$el.offset().top + base.$el.outerHeight(true) + base.$tooltip.outerHeight(true) - $(window).scrollTop();
    const inViewportBottom = currentBottom < window.innerHeight;
    // if the tooltip fits into the viewport below the abbreviation element, just place it below the abbreviation element,
    // else move the tooltip above the abbreviation element
    const top = inViewportBottom ? base.$el.outerHeight(true) : -base.$tooltip.outerHeight(true);
    base.$tooltip.css('top', top);
  },

  allInstances: {
    instCount: 0
  },

  defaultOptions: {
    longpressDelay: 100, // the delay in milliseconds for how long an interaction must be pressed, in order to open the tooltip inside a control element and not trigger the control element
    selectors: {
      controls: 'a, button', // the elements regarded to be control elements
      tooltip: '.js-tooltip-span' // the selector for the tooltip element
    },
    classes: {
      tooltip: 'c-tooltip', // the class for the tooltip element used for styling
      wrapper: 'c-tooltip-wrapper', // the class for the abbreviation wrapper used for styling
      hover: 'is-hover' // the class for the abbreviation wrapper used to simulate :hover for styling
    }
  }

});
   /* Ende gsb_tooltip */
   /* Start gsb_zoll_treeview */
   'use strict';
gsb.makeGSBModule('gsb.zoll_treeview', {

  TreeNode: class TreeNode {
    constructor(index, level, self, parent, childList, id) {
      this.index = index;
      this.level = level;
      this.self = self;
      this.parent = parent;
      this.childList = childList;
      this.children = [];
      this.siblings = [];
      this.descendants = [];
      this.id = String(id);
    }
    setDescendants(start) {
      let root = !!start ? start : this;
      for (let child of root.children) {
        this.descendants.push(child);
        this.setDescendants(child);
      }
    }
  },

  init: function () {
    const base = this;
    gsb.log('gsb_zoll_treeview.init()');

    base.$toggle = $(base.options.selectors.toggle);
    base.$flyout = base.$el;
    base.$lists = base.$el.find(base.options.selectors.list);
    base.$nodes = base.$el.find(base.options.selectors.node);
    base.$overview = base.$el.find(base.options.selectors.overview);
    base.currentNode = base.$el.data("node-path");

    base.treeNodes = [];
    base.visibleTreeNodes = [];

    base.generateNodesFromHTML();
    base.initializeToggleAndBindEvents();
    base.addBITVAttributes();
    base.initLocateButton();

    base.$toggle.on("afterOpen.simple_toggle.gsb", (e) => {
      if (e.target == e.delegateTarget) {
        setTimeout(() => base.setFocused(base.treeNodes[0]), 200);
      }
    });

    if (base.currentNode != null) {
      var nodesInPath = [];
      nodesInPath.push(base.currentNode);
      if (base.currentNode.toString().includes("-")) {
        nodesInPath = base.currentNode.split("-");
      }

      $(document).on("ajaxComplete.gsb_zoll_treeview", function (event, xhr, settings) {
        if (settings.url.includes(base.options.fetchUrl)) {
          var urlParams = new URLSearchParams(settings.url);
          if (nodesInPath.includes(urlParams.get("id_"))) {
            var node = base.getNodeById(urlParams.get("id_"));
            var children = node.children;
            if (children.some((item) => nodesInPath.includes(item.id))) {
              var childNodeId = nodesInPath[nodesInPath.indexOf(urlParams.get("id_")) + 1];
              var childNode = base.getNodeById(childNodeId);
              $(childNode.self).closest(base.options.selectors.itemToFocus).parent().closest(base.options.selectors.itemToFocus).find(base.options.selectors.node).attr("aria-current", "true");
              $(childNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).trigger("click");

              if (nodesInPath.indexOf(urlParams.get("id_")) + 1 == nodesInPath.length - 1) {
                $(childNode.self).attr("aria-current", "page");
                $(document).off("ajaxComplete.gsb_zoll_treeview");
              }
            }
          }
        }
      });

      if (base.getNodeById(nodesInPath[0]) != null) {
        var nodesInPathNodes = base.getNodeById(nodesInPath[0]).descendants.filter(function (node) {
          return nodesInPath.includes(node.id);
        });

        $(base.getNodeById(nodesInPath[0]).self).attr("aria-current", "true").next().click();
        if (base.getNodeById(nodesInPath[0]).id == nodesInPath[nodesInPath.length - 1]) {
          $(base.getNodeById(nodesInPath[0]).self).attr("aria-current", "page");
        }
        $.each(nodesInPathNodes, function () {
          $(this.self).attr("aria-current", "true").closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).trigger("click");
          if (this == nodesInPathNodes[nodesInPathNodes.length - 1]) {
            $(this.self).attr("aria-current", "page");
          }
        });
      }
    }
  },

  addBITVAttributes: function () {
    const base = this;
    $.each(base.treeNodes, (i, treeNode) => {
      $(treeNode.self).
      attr("role", "treeitem").
      attr("tabindex", "-1").
      on("keydown", (ev) => {
        if (["Space", "Enter", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Home", "End"].indexOf(ev.code) > -1) {
          ev.preventDefault();
        }
      }).
      off("keyup").on("keyup", base, base.bindTabNavigation);

      if (i === 0) {
        $(treeNode.self).
        attr("tabindex", "0").
        on("focus", (ev) => {
          if (!!ev.relatedTarget) {
            base.setFocused(treeNode);
          }
        });
      }
    });
  },


  bindTabNavigation: function (ev) {
    const base = ev ? ev.data : this;
    base.visibleTreeNodes = base.treeNodes.filter((node) => $(node.self).is(":visible")).
    sort(function (a, b) {
      if (a.level > 3 && b.level > 3) {
        return b.level - a.level;
      }
      return a.level - b.level || a.index - b.index;
    });

    switch (ev.key) {
      case 'Down':
      case 'ArrowDown':
        const nextSibling = base.currentlyFocused.siblings.find((e) => e.index === base.currentlyFocused.index + 1);
        if (!!nextSibling && !!$(nextSibling.self).height()) {
          base.setFocused(nextSibling);
        }
        break;
      case 'Up':
      case 'ArrowUp':
        const prevSibling = base.currentlyFocused.siblings.find((e) => e.index === base.currentlyFocused.index - 1);
        if (!!prevSibling && !!$(prevSibling.self).height()) {
          base.setFocused(prevSibling);
        }
        break;
      case 'Right':
      case 'ArrowRight':
        const firstChild = base.currentlyFocused.children[0];
        if ($(base.currentlyFocused.self).is(".active-control")) {
          base.setFocused(firstChild);
        } else if ($(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).is(".inactive-control")) {
          $(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).trigger("click");
          if (base.options.focusChildNodeOnSingleClick) {
            setTimeout(() => base.setFocused(firstChild), 100);
          }
        } else if ($(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).length > 0) {
          $(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).trigger("click.ev");
          if (base.options.focusChildNodeOnSingleClick) {
            setTimeout(() => {
              const firstChild = base.currentlyFocused.children[0];
              base.setFocused(firstChild);
            }, 250);
          }
        }
        break;
      case 'Left':
      case 'ArrowLeft':
        if ($(base.currentlyFocused.self).is(".active-control")) {
          $(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).trigger("click");
        } else if (!!base.currentlyFocused.parent) {
          base.setFocused(base.currentlyFocused.parent);
          if (base.options.focusChildNodeOnSingleClick) {
            $(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).trigger("click");
          }
        }
        break;
      case 'Enter':
      case ' ':
        window.location.href = base.currentlyFocused.self.href;
        break;
      case 'Home':
        base.setFocused(base.visibleTreeNodes[0]);
        break;
      case 'End':
        base.setFocused(base.visibleTreeNodes[base.visibleTreeNodes.length - 1]);
        break;
      default:
        if (ev.key.length === 1 && ev.key.match(/\S/)) {
          const firstMatch = base.visibleTreeNodes.find((e) => $(e.self).text().trim().charAt(0).toLowerCase() === ev.key.toLowerCase());
          base.setFocused(firstMatch);
        }}

  },

  generateNodesFromHTML: function () {
    const base = this;
    const firstLevelNodes = base.$nodes.filter((i, e) => {
      return $(e).closest(base.options.selectors.list).is(base.options.selectors.tree);
    });
    $.each(firstLevelNodes, (i, firstLevelNode) => {
      base.generateNodeRecursively(firstLevelNode, null, i, 1);
    });
    $.each(base.treeNodes, (i, treeNode) => {
      treeNode.setDescendants(null);
    });
  },

  generateNodeRecursively: function (currentHtml, parentTreeNode, index, level) {
    const base = this;
    const id = $(currentHtml).data("node-id");
    const sublist = base.$lists.filter(`#${$(currentHtml).attr("aria-owns")}`);
    const children = base.$nodes.filter((i, e) => {
      return $(e).closest(base.options.selectors.list).is(sublist);
    });
    const node = new base.TreeNode(index, level, currentHtml, parentTreeNode, sublist, id);
    if (typeof base.getNode(currentHtml) !== "undefined") {
      const index = base.treeNodes.indexOf(base.getNode(currentHtml));
      base.treeNodes.splice(index, 1);
    }
    base.treeNodes.push(node);

    level++;
    $.each(children, (i, child) => {
      base.generateNodeRecursively(child, node, i, level);
    });

    if (!!parentTreeNode && parentTreeNode.children.indexOf(node) < 0) {
      parentTreeNode.children.push(node);
    }

    let siblingsToUpdate = base.treeNodes.filter((e) => {
      return e.parent === node.parent && e !== node;
    });
    if (!!siblingsToUpdate) {
      $.each(siblingsToUpdate, (i, sibling) => {
        node.siblings.push(sibling);
        sibling.siblings.push(node);
      });
    }
    if ($(node.self).is("[aria-current]")) {
      base.currentLocationTreeNode = node;
    }
  },

  initializeToggleAndBindEvents: function () {
    const base = this;

    base.$flyout.attr("data-current-level", 1);
    $.each(base.treeNodes, (i, treeNode) => {
      if (treeNode.children.length) {
        // Initialisiere Toggles
        base.initToggleForTreeNode(treeNode);
      } else {
        base.bindReloadEvents(treeNode);
      }
    });
  },

  bindReloadEvents: function (treeNode) {
    const base = this;

    if ($(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).length > 0) {
      $(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).on("click.ev", function (e) {
        e.preventDefault();
        $.ajax({
          url: base.options.fetchUrl,
          type: 'GET',
          data: {
            'id_': $(treeNode.self).data("node-id"),
            'index': $(treeNode.self).closest(".js-flyout-list").attr("id") + "_" + (parseInt($(treeNode.self).parent().index()) + 1),
            'level': treeNode.level + 1
          },
          dataType: 'html',
          success: function (data) {
            $(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).after($(data));
            $(treeNode.self).attr("aria-owns", $(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.list).attr("id"));
            treeNode.childList = $(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).next();
            base.$lists = base.$el.find(base.options.selectors.list);
            base.$nodes = base.$el.find(base.options.selectors.node);
            base.generateNodeRecursively($(treeNode.self), treeNode.parent, treeNode.index, treeNode.level);
            $.each(treeNode.childList.children(), function () {
              treeNode.children.push(base.getNode($(this).find(".js-flyout-link")));
            });
            $(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).off("click.ev");
            base.initToggleForTreeNode(treeNode, true);
            $.each(treeNode.children, (i, treeNode) => {
              base.bindReloadEvents(treeNode);
            });
            base.addBITVAttributes();
          }
        });
      });
    }
  },



  initToggleForTreeNode: function (treeNode, openAfterInit) {
    const base = this;

    $(treeNode.self).gsb_simple_toggle({
      item: treeNode.childList,
      opener: $(treeNode.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner)
    }).on("afterOpen.simple_toggle.gsb", (e) => {
      const openedNode = base.getNode(e.target);
      $.each(openedNode.siblings, (i, sibling) => {
        $(sibling.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).filter(".active-control").trigger("click");
      });
      base.$flyout.attr("data-current-level", base.findHighestOpenedLevel());
      if (openedNode.level === 1) {
        base.$overview.text($(openedNode.self).text());
        base.$overview.attr("href", openedNode.self.href);
      }
      if ($(treeNode.self).closest(base.options.selectors.list).is(base.options.selectors.tree)) {
        $(base.options.selectors.tree).addClass("is-opened");
      }
      $(treeNode.self).removeClass("inactive-control").addClass("active-control");
      if (!base.isInViewport($(treeNode.self))) {
        $(treeNode.self).focus();
      }
    }).on("afterClose.simple_toggle.gsb", (e) => {
      $.each(base.getNode(e.target).descendants, (i, descendant) => {
        $(descendant.self).closest(base.options.selectors.itemToFocus).children(base.options.selectors.navigateToInner).filter(".active-control").trigger("click");
      });
      if ($(treeNode.self).closest(base.options.selectors.list).is(base.options.selectors.tree)) {
        $(base.options.selectors.tree).removeClass("is-opened");
      }
      base.$flyout.attr("data-current-level", base.findHighestOpenedLevel());
      $(treeNode.self).removeClass("active-control").addClass("inactive-control");
    });

    if (openAfterInit) {
      $(treeNode.self).trigger("open.simple_toggle.gsb");
    }
  },

  isInViewport: function (node) {
    var elementTop = node.offset().top,
      viewportTop = $(window).scrollTop() + $('.l-header').outerHeight(),
      viewportBottom = viewportTop + $(window).height();

    return elementTop > viewportTop && elementTop < viewportBottom;
  },

  findHighestOpenedLevel: function () {
    const base = this;
    return base.treeNodes.filter((node) => $(node.self).closest(base.options.selectors.list).length > 0 && $(node.self).closest(base.options.selectors.list).hasClass('is-shown') ||
    $(node.self).closest(base.options.selectors.tree).length > 0 && $(node.self).closest(base.options.selectors.tree).hasClass('is-opened')).
    map((e) => e.level).
    reduce((acc, val) => Math.max(acc, val), 1);
  },

  getNode: function (html) {
    const base = this;
    return base.treeNodes.find((e) => $(html).is(e.self) || $(e.self).find(html).length);
  },

  getNodeById: function (id) {
    const base = this;
    return base.treeNodes.find((e) => id == e.id);
  },

  setFocused: function (treeNode) {
    const base = this;
    if (treeNode) {
      base.currentlyFocused = treeNode;
      $(treeNode.self).focus();
      base.visibleTreeNodes = base.treeNodes.filter((node) => $(node.self).is(":visible"));
      $.each(base.visibleTreeNodes, (i, node) => {
        $(node.self).closest(base.options.selectors.itemToFocus).removeClass(base.options.classes.focused);
      });
      $(base.currentlyFocused.self).closest(base.options.selectors.itemToFocus).addClass(base.options.classes.focused);
    }
  },

  initLocateButton: function () {
    const base = this;
    base.$locateButtonOn = base.$el.find(base.options.selectors.locateButtonOn);
    base.$locateButtonOff = base.$el.find(base.options.selectors.locateButtonOff);
    base.$locateButtonOn.on("mouseup keyup", base, base.setLocationMode);
    base.$locateButtonOff.on("mouseup keyup", base, base.unsetLocationMode);
  },

  setLocationMode: function (ev) {
    const base = ev && ev.data ? ev.data : this;
    if (ev.type === "mouseup" || ev.key === "Enter") {
      let ancestors = [];
      let node = base.currentLocationTreeNode;
      base.setFocused(base.treeNodes[0]);
      while (!!node.parent) {
        node = node.parent;
        ancestors.unshift(node);
      }
      for (let ancestor of ancestors) {
        $(ancestor.self).trigger("open.simple_toggle.gsb");
      }
      setTimeout(() => base.setFocused(base.currentLocationTreeNode), 100);
    }
  },

  unsetLocationMode: function (ev) {
    const base = ev && ev.data ? ev.data : this;
    if (ev.type === "mouseup" || ev.key === "Enter") {
      base.setFocused(base.treeNodes[0]);
      for (let activeNode of base.treeNodes.map((e) => e.self).filter((e) => $(e).is(".active-control"))) {
        $(activeNode).trigger("close.simple_toggle.gsb");
      }
    }
  },

  defaultOptions: {
    fetchUrl: typeof FLYOUT_NAVIGATION_FETCH_URL !== "undefined" ? FLYOUT_NAVIGATION_FETCH_URL : null,
    selectors: {
      toggle: ".js-flyout--nav",
      flyout: ".js-flyout-nav",
      node: ".js-flyout-link",
      list: ".js-flyout-list",
      tree: ".js-flyout-list--main",
      overview: ".js-flyout-overview",
      navigateToInner: ".js-flyout-navigateToInner",
      itemToFocus: ".js-flyout-item",
      locateButtonOn: ".js-flyout-locate--on",
      locateButtonOff: ".js-flyout-locate--off"
    },
    classes: {
      focused: "is-focused"
    },
    focusChildNodeOnSingleClick: true
  }
});
   /* Ende gsb_zoll_treeview */
   /* Start gsb_zoll_map */
   "use strict";$(function () {
  if (!$.gsb) {
    $.gsb = {};
  }
  $.gsb.zoll_map = function (el, options) {
    var options = $.extend({}, $.gsb.zoll_map.defaultOptions, options);
    var lat,
      lng,
      lng_lat,
      lat_utm,
      lng_utm,
      map,
      map_modal,
      markers,
      icon_marker;
    var el_searchResult_li = $(".c-dienststellensuche__searchresult li");
    var el_map = $("#" + options.divId);
    determineGeocoordinates();
    createMap();
    createFullscreenButtonHandler();
    function createMap() {
      lng_lat = L.utm({
        x: lng_utm,
        y: lat_utm,
        zone: 32,
        band: "U"
      });
      lng_lat = lng_lat.latLng();
      lng = lng_lat.lng;
      lat = lng_lat.lat;
      if (isMapVisible()) {
        map = L.map(options.divId, {
          minZoom: 6,
          maxZoom: 18,
          fullscreenControl: true,
          gestureHandling: true,
          gestureHandlingOptions: {
            duration: 2000
          }
        });
        L.control.scale({
          imperial: false
        }).addTo(map);
        addMarker();
        L.tileLayer.wms("//sgx.geodatenzentrum.de/wms_topplus_open", {
          layers: "web",
          format: "image/png",
          attribution:
          '&copy GeoBasis-DE / <a target="_blank" title="' + LEAFLET_BKG_LINK_TITLE + '" href="http://www.bkg.bund.de/">BKG</a> 2021 -  <a target="_blank" title="' + LEAFLET_DATASOURCE_LINK_TITLE + '" href="http://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf">Datenquellen</a>',
          zIndex: 0
        }).addTo(map);
        map.attributionControl.setPrefix('<a href="DE/Service_II/Leaflet-Nutzungshinweise/leaflet_nutzungshinweise_node.html" title="Öffnet neues Fenster: Hinweis zur Nutzung von Leaflet">Leaflet</a>');
      }
      //Suchergebnisdarstellung
      if (isSearchResult()) {
        var searchResult_lng_lat_utm32 = $(
        ".c-dienststellensuche__searchresult .c-dienststellensuche__keywrapper").

        first().
        data("lng-lat-utm32");
        if (typeof searchResult_lng_lat_utm32 !== "undefined") {
          var webmap_lng_lat_utm32 = searchResult_lng_lat_utm32;
          initMapListPanel();
          el_searchResult_li.hide();
          el_searchResult_li.first().show();
        }
      }
    }
    function createFullscreenButtonHandler() {
      console.log("CREATE BUTTON HANDLER");
      //Vollbild-Button
      var buttonFullscreen = $('.c-ds-detailview__webMapFullscreen, .c-dienststellensuche__webMapFullscreen');
      console.log(buttonFullscreen);
      if (buttonFullscreen.length > 0) {
        buttonFullscreen.on('mfpOpen', function () {
          console.log("CONTENT ADDED");
          // Start Default-Event-Handling
          if (this.wrap && this.wrap.find) {
            this.wrap.find('.mfp-close').appendTo(this.contentContainer);
          }
          // Ende Default-Event-Handling
          //Resize Modalfenster
          resizeModalWebMap();
          if (typeof map_modal === "undefined" || $('#modal-map').is(':empty')) {
            //Map erzeugen
            map_modal = L.map("modal-map", {
              fullscreenControl: false,
              gestureHandling: true,
              gestureHandlingOptions: {
                duration: 2000
              }
            });
            L.tileLayer.wms("//sgx.geodatenzentrum.de/wms_topplus_open", {
              layers: "web",
              format: "image/png",
              attribution:
              '&copy GeoBasis-DE / <a href="http://www.bkg.bund.de/">BKG</a> 2021 -  <a href="https://gdz.bkg.bund.de/index.php/default/wms-topplusopen-mit-layer-fur-normalausgabe-und-druck-wms-topplus-open.html">WMS TopPlusOpen</a>',
              zIndex: 0
            }).addTo(map_modal);
            if (isSearchResult()) {
              // Alle Marker aus dem Suchergebnis hinzufügen
              addMarker();
            } else {
              // Einzelnen Marker hinzufügen
              if (typeof lng_utm !== "undefined" && typeof lat_utm !== "undefined") {
                // MarkerLayer erzeugen
                createMarker();
              }
            }
          }
        });
        $(window).resize(function () {
          resizeModalWebMap();
        });
        buttonFullscreen.click(function (event) {
          event.preventDefault();
          //el_map.find('.olMapViewport').hide();
        });
      }
    }
    function determineGeocoordinates() {
      var lng_lat_utm32;
      if (isSearchResult()) {
        lng_lat_utm32 = el_searchResult_li.
        find(".c-dienststellensuche__keywrapper").
        first().
        data("lng-lat-utm32");
      } else {
        lng_lat_utm32 = el_map.data("lng_lat_utm32");
      }
      if (typeof lng_lat_utm32 !== "undefined") {
        lng_utm = lng_lat_utm32.split(",")[0];
        lat_utm = lng_lat_utm32.split(",")[1];
      }
    }
    function isMapVisible() {
      var isMapVisible =
      el_map.length > 0 && !el_map.find(".noResult").length > 0;
      if (isSearchResult()) {
        isMapVisible =
        isMapVisible &&
        $(".c-dienststellensuche__wrapperWebmap").is(":visible");
      }
      return isMapVisible;
    }
    function addMarker() {
      // Marker hinzufügen
      if (typeof lng !== "undefined" && typeof lat !== "undefined") {
        var targetMap = typeof map !== "undefined" ? map : map_modal;
        targetMap.setView(lng_lat, 14);
        // MarkerLayer erzeugen
        //markers = new BKGWebMap.Layer.MarkerLayer("Dienststellen");
        //targetMap.addLayer(markers);
        if (isSearchResult()) {
          // für die Suchergebnisdarstellung alle Marker initialisieren
          var lng_first = lng;
          var lat_first = lat;
          $.when(
          el_searchResult_li.each(function () {
            var searchResult_lng_lat_utm32 = $(this).
            find(".c-dienststellensuche__keywrapper").
            data("lng-lat-utm32");
            icon_marker = $(this).
            find(".c-dienststellensuche__keywrapper").
            data("icon-marker");
            if (typeof searchResult_lng_lat_utm32 !== "undefined") {
              var searchresult_lng_lat = L.utm({
                x: searchResult_lng_lat_utm32.split(",")[0],
                y: searchResult_lng_lat_utm32.split(",")[1],
                zone: 32,
                band: "U"
              });
              searchresult_lng_lat = searchresult_lng_lat.latLng();
              lng = searchresult_lng_lat.lng;
              lat = searchresult_lng_lat.lat;
              const webmap_title = $(this).find("h3").text();
              const webmap_shortTitle = $(this).
              find(".c-dienststellensuche__keywrapper").
              data("short-title");
              createMarker(webmap_title, webmap_shortTitle);
            }
          })).
          then(function () {
            lng = lng_first;
            lat = lat_first;
          });
        } else {
          // für die Einzelansicht nur den Marker an der aktuellen Position initialisieren
          createMarker();
        }
      }
    }
    function initMapListPanel() {
      var searchResultIndex = 0;
      var numSearchResults = el_searchResult_li.length;
      var listPanelContainer = $(".c-dienststellensuche__mapListPanelList");
      el_searchResult_li.each(function () {
        var elementMapListEntry = $("<li/>");
        var elementMapListEntryLink = $("<a/>");
        var linkText = $(this).find("h3").html();
        var lng_lat_utm32 = $(this).
        find(".c-dienststellensuche__keywrapper").
        data("lng-lat-utm32");
        elementMapListEntry.addClass(
        "c-dienststellensuche__mapListPanelElement");

        elementMapListEntry.attr("tabIndex", 0);
        elementMapListEntry.data("searchResultIndex", searchResultIndex);
        elementMapListEntry.data("lng-lat-utm32", lng_lat_utm32);
        elementMapListEntry.on("click keydown", eventHandlerMapListPanelEntry);
        elementMapListEntry.append(elementMapListEntryLink);
        elementMapListEntryLink.html(linkText);
        //Ohne Geokoordinaten(redaktionelle Dienststelle) ist die Aufnahme in das Panel sinnlos
        if (typeof lng_lat_utm32 === "undefined") {

          // nicht hinzufügen
        } else {if (searchResultIndex === 0) {
            elementMapListEntry.addClass("active");
          }
          listPanelContainer.append(elementMapListEntry);
          searchResultIndex++;
        }
        if (!$(".c-dienststellensuche__webMapFullscreen").is(":visible")) {
          if (numSearchResults >= 6) {
            listPanelContainer.addClass("column");
          }
        }
      });
      //zusaetzliche CSS-Klassen fuer zweispaltige Darstellung
      if (!$(".c-dienststellensuche__webMapFullscreen").is(":visible")) {
        if (numSearchResults >= 6) {
          listPanelContainer.addClass("row");
          listPanelContainer.addClass("small-up-2");
        }
      }
    }
    function eventHandlerMapListPanelEntry(e) {
      switch (e.which) {
        case 1: //click
          handleClickEventMapListPanelEntry($(this));
          break;
        case 13: // enter
          handleClickEventMapListPanelEntry($(this));
          break;
        case 38: // up
          e.preventDefault();
          $(this).prev().focus();
          break;
        case 40: // down
          e.preventDefault();
          $(this).next().focus();
          break;
        default:
          return;}

    }
    function handleClickEventMapListPanelEntry(el) {
      $(".c-dienststellensuche__heading--mapListPanel").trigger("click");
      var webmap_lng_lat_utm32 = el.data("lng-lat-utm32");
      var webmap_lng_lat = L.utm({
        x: webmap_lng_lat_utm32.split(",")[0],
        y: webmap_lng_lat_utm32.split(",")[1],
        zone: 32,
        band: "U"
      });
      var webmap_lng_lat = webmap_lng_lat.latLng();
      lng = webmap_lng_lat.lng;
      lat = webmap_lng_lat.lat;
      var targetMap = typeof map !== "undefined" ? map : map_modal;
      if (typeof targetMap !== "undefined") {
        targetMap.setView([lat, lng], 14);
      }
      $(".c-dienststellensuche__mapListPanelElement").
      filter(".active").
      removeClass("active");
      el.addClass("active");
      var clickedSearchResultIndex = el.data("searchResultIndex");
      el_searchResult_li.hide();
      $(el_searchResult_li.get(clickedSearchResultIndex)).show();
    }
    function createMarker(markerTitle, webmap_shortTitle) {
      var targetMap = typeof map !== "undefined" ? map : map_modal;
      if (!isSearchResult()) {
        if (typeof markerTitle === "undefined") {
          markerTitle = el_map.data("title");
        }
        if (typeof markerTitle === "undefined") {
          webmap_shortTitle = el_map.data("shorttitle");
        }
      }
      if (typeof webmap_shortTitle !== "undefined") {
        markerTitle = webmap_shortTitle;
      }
      var icon = L.icon({
        iconUrl: image_url_map_marker,
        iconSize: [50, 70],
        iconAnchor: [20, 45],
        popupAnchor: [3, -40]
      });
      var popup = L.popup().setContent("<p>" + markerTitle + "</p>");
      L.marker([lat, lng], { icon: icon }).
      bindPopup(popup).
      openPopup().
      addTo(targetMap);
    }
    function resizeModalWebMap() {
      console.log("RESIZE");
      var windowHeight = $(window).height();
      var windowWidth = $(window).width();
      var modalHeight = windowHeight * 0.9;
      var modalWidth = windowWidth * 0.9;
      var el_modal_wrapper = $('.c-ds-detailview__modal-wrapper');
      var el_mfp_content = $('.mfp-ajax-holder .mfp-content');
      var el_modal_map = $('#modal-map');
      var arr_elements = [el_modal_wrapper, el_modal_map];
      $(arr_elements).each(function () {
        console.log($(this));
        $(this).css({
          'height': modalHeight + 'px',
          'width': modalWidth + 'px'
        });
      });
      el_mfp_content.css({
        'height': modalHeight + 50 + 'px',
        'width': modalWidth + 1 + 'px'
      });
      el_modal_wrapper.find('.wmLayerSwitcherPanel').css('height', modalHeight + 'px');
    }
    function isSearchResult() {
      return $(".c-dienststellensuche__searchresult").length > 0;
    }
    function isMapVisible() {
      var isMapVisible = el_map.length > 0 && !el_map.find('.noResult').length > 0;
      if (isSearchResult()) {
        isMapVisible = isMapVisible && $('.c-dienststellensuche__wrapperWebmap').is(':visible');
      }
      return isMapVisible;
    }
  };
  $.gsb.zoll_map.defaultOptions = {
    divId: "map",
    defaultMarkerIconUrl:
    "https://sg.geodatenzentrum.de/web_bkg_webmap/theme/default/img/marker.png"
  };
  $.fn.gsb_zoll_map = function (options) {
    return this.each(function () {
      new $.gsb.zoll_map(this, options);
    });
  };
});
   /* Ende gsb_zoll_map */
   /* Start gsb_zoll_und_post_app */
   "use strict";!function (e) {var t = {};function n(r) {if (t[r]) return t[r].exports;var i = t[r] = { i: r, l: !1, exports: {} };return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports;}n.m = e, n.c = t, n.d = function (e, t, r) {n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r });}, n.r = function (e) {"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 });}, n.t = function (e, t) {if (1 & t && (e = n(e)), 8 & t) return e;if (4 & t && "object" == typeof e && e && e.__esModule) return e;var r = Object.create(null);if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var i in e) n.d(r, i, function (t) {return e[t];}.bind(null, i));return r;}, n.n = function (e) {var t = e && e.__esModule ? function () {return e.default;} : function () {return e;};return n.d(t, "a", t), t;}, n.o = function (e, t) {return Object.prototype.hasOwnProperty.call(e, t);}, n.p = "", n(n.s = 88);}([function (e, t, n) {"use strict";e.exports = n(117);}, function (e, t, n) {e.exports = n(133)();}, function (e, t) {e.exports = function (e) {if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.currencyDataType = t.radioButtonPropType = t.specialCategoryDataType = t.categoryDataType = t.countryDataType = t.currencyType = t.calculationConstantsType = t.selectOptionProductDataType = t.productDataType = void 0;var r,i = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},a = n(1),o = (r = a) && r.__esModule ? r : { default: r };var u = t.productDataType = { description: o.default.string.isRequired, descriptionShort: o.default.string.isRequired, euTax: o.default.string.isRequired, excludeFromCalculation: o.default.number.isRequired, maxZollTaxAmount: o.default.string.isRequired, productTags: o.default.arrayOf(o.default.string).isRequired, text: o.default.string.isRequired, zollTax: o.default.string.isRequired },s = (t.selectOptionProductDataType = i({}, u, { category: o.default.exact({ text: o.default.string.isRequired }).isRequired }), t.calculationConstantsType = { minTaxToPayLowerThreshold: o.default.number.isRequired, flatTaxRate: o.default.number.isRequired, flatTaxRateLowerLimit: o.default.number.isRequired, flatTaxRateUpperLimit: o.default.number.isRequired, minTaxToPayThreshold: o.default.number.isRequired, minZollTaxAmount: o.default.number.isRequired, zollTaxLimitNoGift: o.default.number.isRequired }, t.currencyType = { exchangeRate: o.default.string.isRequired, iso2: o.default.string.isRequired, name: o.default.string.isRequired });t.countryDataType = { calcEuTax: o.default.number.isRequired, calcZoll: o.default.number.isRequired, eu: o.default.number.isRequired, imgSrc: o.default.string.isRequired, iso2: o.default.string.isRequired, specialZone: o.default.number.isRequired, subText: o.default.string, text: o.default.string.isRequired }, t.categoryDataType = { description: o.default.string.isRequired, products: o.default.arrayOf(o.default.exact(u)).isRequired, imgSrc: o.default.string, text: o.default.string.isRequired }, t.specialCategoryDataType = { description: o.default.string.isRequired, imgSrc: o.default.string, text: o.default.string.isRequired }, t.radioButtonPropType = { checked: o.default.bool.isRequired, dataParam: o.default.string.isRequired, texts: o.default.exact({ text: o.default.string.isRequired }).isRequired }, t.currencyDataType = i({}, s, { value: o.default.string.isRequired, calculationValue: o.default.number.isRequired, cursorStart: o.default.number, cursorEnd: o.default.number });}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = function (e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}(n(41)),u = l(n(15)),s = l(n(171));function l(e) {return e && e.__esModule ? e : { default: e };}var c = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.iconButtonRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {var e = this.props,t = e.imgSrc,n = e.preventFocus;t && !n && this.iconButtonRef.focus();} }, { key: "shouldComponentUpdate", value: function (e) {return !o.isEqual(this.props, e);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,r = t.functions,a = t.htmlTextWrapping,o = t.id,l = t.imgSrc,c = t.navTargets,f = t.preventAlert,d = t.preventIconDummy,p = t.texts,h = n ? "title " + n : "title";h = l ? h : h.concat(" textOnly");var g = d ? null : i.default.createElement("span", { className: "iconButtonDummy" });return l && (g = i.default.createElement(s.default, { dataParam: c.info, imgSrc: l, functions: r ? { handleClick: r.handlePopupChange } : null, ref: function (t) {e.iconButtonRef = t;}, texts: { altText: p.iconButtonAltText || p.title && p.title.iconButtonAltText } })), i.default.createElement("div", { className: h }, i.default.createElement(u.default, { htmlTextWrapping: a, id: o, preventAlert: f, text: p.text || p.title.text }), g);} }]), t;}(i.default.Component);c.propTypes = { appId: a.default.string, className: a.default.string, htmlTextWrapping: a.default.string.isRequired, functions: a.default.exact({ handlePopupChange: a.default.func, handleScreenChange: a.default.func }), id: a.default.string, imgSrc: a.default.string, navTargets: a.default.exact({ back: a.default.string, infoPopup: a.default.string }), preventAlert: a.default.bool, preventFocus: a.default.bool, preventIconDummy: a.default.bool, texts: a.default.exact({ iconButtonAltText: a.default.string, back: a.default.exact({ text: a.default.string }), text: a.default.string, title: a.default.exact({ text: a.default.string, iconButtonAltText: a.default.string }) }).isRequired }, c.defaultProps = { appId: "", className: "", functions: null, id: "", imgSrc: "", navTargets: {}, preventAlert: !1, preventFocus: !1, preventIconDummy: !1 }, t.default = c;}, function (e, t) {function n() {return e.exports = n = Object.assign ? Object.assign.bind() : function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;}, e.exports.__esModule = !0, e.exports.default = e.exports, n.apply(null, arguments);}e.exports = n, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {var r = n(206);e.exports = function (e, t, n) {return (t = r(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {var r = n(33)("wks"),i = n(27),a = n(8).Symbol,o = "function" == typeof a;(e.exports = function (e) {return r[e] || (r[e] = o && a[e] || (o ? a : i)("Symbol." + e));}).store = r;}, function (e, t) {var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();"number" == typeof __g && (__g = n);}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.BACK = "back", t.CLOSE = "close", t.RESET = "reset";var r = t.INFO_POPUP = "infoPopup",i = (t.POPUP = "popup", t.CATEGORY_POPUP = "categoryPopup", t.SPECIAL_POPUP = "specialPopup");t.CALCULATOR_SCREEN = "calculator", t.CALCULATOR_INFO_POPUP = r + "Calculator", t.CALCULATOR_SELECT_CURRENCY_INFO_POPUP = r + "CalculatorSelectCurrency", t.CALCULATOR_SELECT_PRODUCT_SPECIAL_POPUP = i + "CalculatorSelectProduct", t.CALCULATOR_TOGGLE_GIFT_INFO_POPUP = r + "CalculatorToggleGift", t.CALCULATOR_SELECT_COUNTRY_EU_POPUP = "euPopupCalculatorSelectCountry", t.CATALOG_SCREEN = "catalog", t.CATALOG_SCREEN_VIEW_CATEGORIES = "categories", t.CATALOG_SCREEN_VIEW_PRODUCTS = "products", t.CATALOG_SCREEN_VIEW_SPECIAL_CATEGORIES = "specialCategories", t.MAIN_MENU_SCREEN = "mainMenu";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.htmlparser2 = t.convertNodeToElement = t.processNodes = void 0;var r = n(43);Object.defineProperty(t, "processNodes", { enumerable: !0, get: function () {return u(r).default;} });var i = n(73);Object.defineProperty(t, "convertNodeToElement", { enumerable: !0, get: function () {return u(i).default;} });var a = n(23);Object.defineProperty(t, "htmlparser2", { enumerable: !0, get: function () {return u(a).default;} });var o = u(n(169));function u(e) {return e && e.__esModule ? e : { default: e };}t.default = o.default;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.taxBoxTextsType = t.selectCurrencyScreenReaderTextType = t.infoPopupWithIconTextsType = t.titleWithIconTextsType = t.resultBoxTextsType = void 0;var r,i = n(1),a = (r = i) && r.__esModule ? r : { default: r };t.resultBoxTextsType = { base: a.default.string.isRequired, billValue: a.default.string.isRequired, currencyShort: a.default.string.isRequired, euTax1: a.default.string.isRequired, euTax2: a.default.string.isRequired, flatTax1: a.default.string.isRequired, flatTax2: a.default.string.isRequired, maxZollTaxAmount1: a.default.string.isRequired, maxZollTaxAmount2: a.default.string.isRequired, minTaxToPayThreshold: a.default.string.isRequired, minTaxToPayLowerThreshold: a.default.string.isRequired, notification: a.default.string.isRequired, resultNoTaxes: a.default.string.isRequired, resultNoTaxesGift: a.default.string.isRequired, summary: a.default.string.isRequired, zollTax1: a.default.string.isRequired, zollTax2: a.default.string.isRequired, zollTax3: a.default.string.isRequired, title: a.default.exact({ text: a.default.string.isRequired }).isRequired };var o = t.titleWithIconTextsType = { iconButtonAltText: a.default.string.isRequired, text: a.default.string.isRequired };t.infoPopupWithIconTextsType = { body: a.default.string.isRequired, title: a.default.exact(o).isRequired }, t.selectCurrencyScreenReaderTextType = { selectCurrencyDropdown: a.default.string.isRequired, selectCurrencyInEuro: a.default.string.isRequired, selectCurrencyInput: a.default.string.isRequired, selectCurrencyLabel: a.default.string.isRequired }, t.taxBoxTextsType = { title: a.default.string.isRequired, zollTax: a.default.string.isRequired, euTax: a.default.string.isRequired };}, function (e, t) {e.exports = function (e) {return "object" == typeof e ? null !== e : "function" == typeof e;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.TITLE_TEXT_WRAPPING_H1 = "h1", t.TITLE_TEXT_WRAPPING_H2 = "h2", t.SLIDER_PANEL_TITLE_TEXT_WRAPPING_H2 = "h2", t.NO_SPECIAL_GOODS_ALLOWED_TEXT_WRAPPING_H3 = "h3", t.NO_SPECIAL_GOODS_TEXT_WRAPPING_H3 = "h3", t.SELECT_GOODS_BILLING_AMOUNT_H2 = "h2", t.SHOW_RESULTS_TEXT_BOX_H2 = "h2", t.SELECTED_CRITERIA_LABEL_TEXT_WRAPPING_P = "p", t.LIST_ITEM_TITLE_H3 = "h3";}, function (e, t, n) {e.exports = !n(28)(function () {return 7 != Object.defineProperty({}, "a", { get: function () {return 7;} }).a;});}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(10)),u = s(n(170));function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var f = function (e) {function t() {return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.className,n = e.htmlTextWrapping,r = e.id,a = e.preventAlert,s = e.text,l = e.htmlTextWrappingClassName,c = t ? "textBody " + t : "textBody",f = null,d = "" + n;return l && (d = d + ' class="' + l + '"'), f = r ? 0 !== d.indexOf("h1") || a ? (0, u.default)(d + " id=" + r, s, d) : (0, u.default)(d + ' role="alert" id=' + r, s, d) : 0 !== d.indexOf("h1") || a ? (0, u.default)(d, s) : (0, u.default)(d + ' role="alert"', s, d), i.default.createElement("div", { className: c }, (0, o.default)(f));} }]), t;}(i.default.Component);f.propTypes = { className: a.default.string, htmlTextWrapping: a.default.string, htmlTextWrappingClassName: a.default.string, id: a.default.string, preventAlert: a.default.bool, text: a.default.string.isRequired }, f.defaultProps = { className: "", htmlTextWrapping: "", htmlTextWrappingClassName: "", id: "", preventAlert: !1 }, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(10)),u = n(9);function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.buttonRef = {}, e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "focus", value: function () {this.buttonRef.focus();} }, { key: "_onClick", value: function (e) {var t = this,n = this.props,r = n.appId,i = n.functions,a = e.currentTarget.getAttribute("data-param");a.toLowerCase().indexOf(u.POPUP) > -1 ? i.handlePopupChange(e, a, !0) : i.handleScreenChange(e, function () {t._smoothScroll(window.scrollY, document.getElementsByClassName("l-content")[0].getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height || document.getElementById(r).parentElement.parentElement.getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height);});} }, { key: "_smoothScroll", value: function (e, t) {var n = this,r = e || 0;r < t ? setTimeout(function () {r < t - 10 ? (window.scrollTo(0, r + 10), n._smoothScroll(r + 10, t)) : window.scrollTo(0, t);}, 1) : r > t && setTimeout(function () {r > t + 10 ? (window.scrollTo(0, r - 10), n._smoothScroll(r - 10, t)) : window.scrollTo(0, t);}, 1);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,r = t.dataParam,a = t.reset,u = t.texts,s = u.h ? u.h : "",l = u.text ? u.text : "";return i.default.createElement("button", { className: n, "data-param": r, "data-reset": a, onClick: this._onClick, ref: function (t) {e.buttonRef = t;} }, s ? i.default.createElement("span", { className: "buttonHeader" }, (0, o.default)(s)) : null, (0, o.default)(l));} }]), t;}(i.default.Component);l.propTypes = { appId: a.default.string, className: a.default.string.isRequired, dataParam: a.default.string.isRequired, functions: a.default.oneOfType([a.default.exact({ handlePopupChange: a.default.func.isRequired }), a.default.exact({ handleScreenChange: a.default.func.isRequired })]).isRequired, reset: a.default.bool, texts: a.default.oneOfType([a.default.exact({ h: a.default.string.isRequired }), a.default.exact({ text: a.default.string.isRequired }), a.default.exact({ h: a.default.string.isRequired, text: a.default.string.isRequired })]).isRequired }, l.defaultProps = { appId: "", reset: !1 }, t.default = l;}, function (e, t) {var n = e.exports = { version: "2.6.12" };"number" == typeof __e && (__e = n);}, function (e, t, n) {var r = n(8),i = n(19),a = n(22),o = n(27)("src"),u = n(91),s = ("" + u).split("toString");n(17).inspectSource = function (e) {return u.call(e);}, (e.exports = function (e, t, n, u) {var l = "function" == typeof n;l && (a(n, "name") || i(n, "name", t)), e[t] !== n && (l && (a(n, o) || i(n, o, e[t] ? "" + e[t] : s.join(String(t)))), e === r ? e[t] = n : u ? e[t] ? e[t] = n : i(e, t, n) : (delete e[t], i(e, t, n)));})(Function.prototype, "toString", function () {return "function" == typeof this && this[o] || u.call(this);});}, function (e, t, n) {var r = n(20),i = n(34);e.exports = n(14) ? function (e, t, n) {return r.f(e, t, i(1, n));} : function (e, t, n) {return e[t] = n, e;};}, function (e, t, n) {var r = n(21),i = n(53),a = n(55),o = Object.defineProperty;t.f = n(14) ? Object.defineProperty : function (e, t, n) {if (r(e), t = a(t, !0), r(n), i) try {return o(e, t, n);} catch (e) {}if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");return "value" in n && (e[t] = n.value), e;};}, function (e, t, n) {var r = n(12);e.exports = function (e) {if (!r(e)) throw TypeError(e + " is not an object!");return e;};}, function (e, t) {var n = {}.hasOwnProperty;e.exports = function (e, t) {return n.call(e, t);};}, function (e, t, n) {var r = n(74),i = n(78);function a(t, n) {return delete e.exports[t], e.exports[t] = n, n;}e.exports = { Parser: r, Tokenizer: n(75), ElementType: n(24), DomHandler: i, get FeedHandler() {return a("FeedHandler", n(140));}, get Stream() {return a("Stream", n(151));}, get WritableStream() {return a("WritableStream", n(81));}, get ProxyHandler() {return a("ProxyHandler", n(158));}, get DomUtils() {return a("DomUtils", n(80));}, get CollectingHandler() {return a("CollectingHandler", n(159));}, DefaultHandler: i, get RssHandler() {return a("RssHandler", this.FeedHandler);}, parseDOM: function (e, t) {var n = new i(t);return new r(n, t).end(e), n.dom;}, parseFeed: function (t, n) {var i = new e.exports.FeedHandler(n);return new r(i, n).end(t), i.dom;}, createDomStream: function (e, t, n) {var a = new i(e, t, n);return new r(a, t);}, EVENTS: { attribute: 2, cdatastart: 0, cdataend: 0, text: 1, processinginstruction: 2, comment: 1, commentend: 0, closetag: 1, opentag: 2, opentagname: 1, error: 1, end: 0 } };}, function (e, t) {e.exports = { Text: "text", Directive: "directive", Comment: "comment", Script: "script", Style: "style", Tag: "tag", CDATA: "cdata", Doctype: "doctype", isTag: function (e) {return "tag" === e.type || "script" === e.type || "style" === e.type;} };}, function (e, t, n) {var r = n(172);e.exports = function (e, t) {e.prototype = Object.create(t.prototype), e.prototype.constructor = e, r(e, t);}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t) {e.exports = {};}, function (e, t) {var n = 0,r = Math.random();e.exports = function (e) {return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + r).toString(36));};}, function (e, t) {e.exports = function (e) {try {return !!e();} catch (e) {return !0;}};}, function (e, t, n) {var r = n(93);e.exports = function (e, t, n) {if (r(e), void 0 === t) return e;switch (n) {case 1:return function (n) {return e.call(t, n);};case 2:return function (n, r) {return e.call(t, n, r);};case 3:return function (n, r, i) {return e.call(t, n, r, i);};}return function () {return e.apply(t, arguments);};};}, function (e, t, n) {var r = n(97),i = n(36);e.exports = function (e) {return r(i(e));};}, function (e, t) {"function" == typeof Object.create ? e.exports = function (e, t) {t && (e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }));} : e.exports = function (e, t) {if (t) {e.super_ = t;var n = function () {};n.prototype = t.prototype, e.prototype = new n(), e.prototype.constructor = e;}};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {return e[n].localeCompare(t[n]);};}, function (e, t, n) {var r = n(17),i = n(8),a = i["__core-js_shared__"] || (i["__core-js_shared__"] = {});(e.exports = function (e, t) {return a[e] || (a[e] = void 0 !== t ? t : {});})("versions", []).push({ version: r.version, mode: n(52) ? "pure" : "global", copyright: "© 2020 Denis Pushkarev (zloirock.ru)" });}, function (e, t) {e.exports = function (e, t) {return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t };};}, function (e, t) {var n = Math.ceil,r = Math.floor;e.exports = function (e) {return isNaN(e = +e) ? 0 : (e > 0 ? r : n)(e);};}, function (e, t) {e.exports = function (e) {if (null == e) throw TypeError("Can't call method on  " + e);return e;};}, function (e, t, n) {"use strict";var r = n(52),i = n(57),a = n(18),o = n(19),u = n(26),s = n(94),l = n(39),c = n(101),f = n(7)("iterator"),d = !([].keys && "next" in [].keys()),p = function () {return this;};e.exports = function (e, t, n, h, g, m, v) {s(n, t, h);var b,y,_,x = function (e) {if (!d && e in E) return E[e];switch (e) {case "keys":case "values":return function () {return new n(this, e);};}return function () {return new n(this, e);};},S = t + " Iterator",T = "values" == g,w = !1,E = e.prototype,C = E[f] || E["@@iterator"] || g && E[g],k = C || x(g),P = g ? T ? x("entries") : k : void 0,R = "Array" == t && E.entries || C;if (R && (_ = c(R.call(new e()))) !== Object.prototype && _.next && (l(_, S, !0), r || "function" == typeof _[f] || o(_, f, p)), T && C && "values" !== C.name && (w = !0, k = function () {return C.call(this);}), r && !v || !d && !w && E[f] || o(E, f, k), u[t] = k, u[S] = p, g) if (b = { values: T ? k : x("values"), keys: m ? k : x("keys"), entries: P }, v) for (y in b) y in E || a(E, y, b[y]);else i(i.P + i.F * (d || w), t, b);return b;};}, function (e, t, n) {var r = n(33)("keys"),i = n(27);e.exports = function (e) {return r[e] || (r[e] = i(e));};}, function (e, t, n) {var r = n(20).f,i = n(22),a = n(7)("toStringTag");e.exports = function (e, t, n) {e && !i(e = n ? e : e.prototype, a) && r(e, a, { configurable: !0, value: t });};}, function (e, t, n) {var r = n(12);e.exports = function (e, t) {if (!r(e) || e._t !== t) throw TypeError("Incompatible receiver, " + t + " required!");return e;};}, function (e, t, n) {(function (e, r) {var i;
    /**
     * @license
     * Lodash <https://lodash.com/>
     * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
     * Released under MIT license <https://lodash.com/license>
     * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
     * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
     */(function () {var a = "Expected a function",o = "__lodash_placeholder__",u = [["ary", 128], ["bind", 1], ["bindKey", 2], ["curry", 8], ["curryRight", 16], ["flip", 512], ["partial", 32], ["partialRight", 64], ["rearg", 256]],s = "[object Arguments]",l = "[object Array]",c = "[object Boolean]",f = "[object Date]",d = "[object Error]",p = "[object Function]",h = "[object GeneratorFunction]",g = "[object Map]",m = "[object Number]",v = "[object Object]",b = "[object RegExp]",y = "[object Set]",_ = "[object String]",x = "[object Symbol]",S = "[object WeakMap]",T = "[object ArrayBuffer]",w = "[object DataView]",E = "[object Float32Array]",C = "[object Float64Array]",k = "[object Int8Array]",P = "[object Int16Array]",R = "[object Int32Array]",O = "[object Uint8Array]",A = "[object Uint16Array]",I = "[object Uint32Array]",N = /\b__p \+= '';/g,q = /\b(__p \+=) '' \+/g,L = /(__e\(.*?\)|\b__t\)) \+\n'';/g,z = /&(?:amp|lt|gt|quot|#39);/g,D = /[&<>"']/g,j = RegExp(z.source),B = RegExp(D.source),M = /<%-([\s\S]+?)%>/g,F = /<%([\s\S]+?)%>/g,Z = /<%=([\s\S]+?)%>/g,U = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V = /^\w*$/,W = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,G = /[\\^$.*+?()[\]{}|]/g,H = RegExp(G.source),K = /^\s+/,Y = /\s/,$ = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Q = /\{\n\/\* \[wrapped with (.+)\] \*/,X = /,? & /,J = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee = /[()=,{}\[\]\/\s]/,te = /\\(\\)?/g,ne = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re = /\w*$/,ie = /^[-+]0x[0-9a-f]+$/i,ae = /^0b[01]+$/i,oe = /^\[object .+?Constructor\]$/,ue = /^0o[0-7]+$/i,se = /^(?:0|[1-9]\d*)$/,le = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ce = /($^)/,fe = /['\n\r\u2028\u2029\\]/g,de = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",pe = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he = "[\\ud800-\\udfff]",ge = "[" + pe + "]",me = "[" + de + "]",ve = "\\d+",be = "[\\u2700-\\u27bf]",ye = "[a-z\\xdf-\\xf6\\xf8-\\xff]",_e = "[^\\ud800-\\udfff" + pe + ve + "\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",xe = "\\ud83c[\\udffb-\\udfff]",Se = "[^\\ud800-\\udfff]",Te = "(?:\\ud83c[\\udde6-\\uddff]){2}",we = "[\\ud800-\\udbff][\\udc00-\\udfff]",Ee = "[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ce = "(?:" + ye + "|" + _e + ")",ke = "(?:" + Ee + "|" + _e + ")",Pe = "(?:" + me + "|" + xe + ")" + "?",Re = "[\\ufe0e\\ufe0f]?" + Pe + ("(?:\\u200d(?:" + [Se, Te, we].join("|") + ")[\\ufe0e\\ufe0f]?" + Pe + ")*"),Oe = "(?:" + [be, Te, we].join("|") + ")" + Re,Ae = "(?:" + [Se + me + "?", me, Te, we, he].join("|") + ")",Ie = RegExp("['’]", "g"),Ne = RegExp(me, "g"),qe = RegExp(xe + "(?=" + xe + ")|" + Ae + Re, "g"),Le = RegExp([Ee + "?" + ye + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [ge, Ee, "$"].join("|") + ")", ke + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [ge, Ee + Ce, "$"].join("|") + ")", Ee + "?" + Ce + "+(?:['’](?:d|ll|m|re|s|t|ve))?", Ee + "+(?:['’](?:D|LL|M|RE|S|T|VE))?", "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", ve, Oe].join("|"), "g"),ze = RegExp("[\\u200d\\ud800-\\udfff" + de + "\\ufe0e\\ufe0f]"),De = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,je = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"],Be = -1,Me = {};Me[E] = Me[C] = Me[k] = Me[P] = Me[R] = Me[O] = Me["[object Uint8ClampedArray]"] = Me[A] = Me[I] = !0, Me[s] = Me[l] = Me[T] = Me[c] = Me[w] = Me[f] = Me[d] = Me[p] = Me[g] = Me[m] = Me[v] = Me[b] = Me[y] = Me[_] = Me[S] = !1;var Fe = {};Fe[s] = Fe[l] = Fe[T] = Fe[w] = Fe[c] = Fe[f] = Fe[E] = Fe[C] = Fe[k] = Fe[P] = Fe[R] = Fe[g] = Fe[m] = Fe[v] = Fe[b] = Fe[y] = Fe[_] = Fe[x] = Fe[O] = Fe["[object Uint8ClampedArray]"] = Fe[A] = Fe[I] = !0, Fe[d] = Fe[p] = Fe[S] = !1;var Ze = { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\u2028": "u2028", "\u2029": "u2029" },Ue = parseFloat,Ve = parseInt,We = "object" == typeof e && e && e.Object === Object && e,Ge = "object" == typeof self && self && self.Object === Object && self,He = We || Ge || Function("return this")(),Ke = t && !t.nodeType && t,Ye = Ke && "object" == typeof r && r && !r.nodeType && r,$e = Ye && Ye.exports === Ke,Qe = $e && We.process,Xe = function () {try {var e = Ye && Ye.require && Ye.require("util").types;return e || Qe && Qe.binding && Qe.binding("util");} catch (e) {}}(),Je = Xe && Xe.isArrayBuffer,et = Xe && Xe.isDate,tt = Xe && Xe.isMap,nt = Xe && Xe.isRegExp,rt = Xe && Xe.isSet,it = Xe && Xe.isTypedArray;function at(e, t, n) {switch (n.length) {case 0:return e.call(t);case 1:return e.call(t, n[0]);case 2:return e.call(t, n[0], n[1]);case 3:return e.call(t, n[0], n[1], n[2]);}return e.apply(t, n);}function ot(e, t, n, r) {for (var i = -1, a = null == e ? 0 : e.length; ++i < a;) {var o = e[i];t(r, o, n(o), e);}return r;}function ut(e, t) {for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e););return e;}function st(e, t) {for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e););return e;}function lt(e, t) {for (var n = -1, r = null == e ? 0 : e.length; ++n < r;) if (!t(e[n], n, e)) return !1;return !0;}function ct(e, t) {for (var n = -1, r = null == e ? 0 : e.length, i = 0, a = []; ++n < r;) {var o = e[n];t(o, n, e) && (a[i++] = o);}return a;}function ft(e, t) {return !!(null == e ? 0 : e.length) && xt(e, t, 0) > -1;}function dt(e, t, n) {for (var r = -1, i = null == e ? 0 : e.length; ++r < i;) if (n(t, e[r])) return !0;return !1;}function pt(e, t) {for (var n = -1, r = null == e ? 0 : e.length, i = Array(r); ++n < r;) i[n] = t(e[n], n, e);return i;}function ht(e, t) {for (var n = -1, r = t.length, i = e.length; ++n < r;) e[i + n] = t[n];return e;}function gt(e, t, n, r) {var i = -1,a = null == e ? 0 : e.length;for (r && a && (n = e[++i]); ++i < a;) n = t(n, e[i], i, e);return n;}function mt(e, t, n, r) {var i = null == e ? 0 : e.length;for (r && i && (n = e[--i]); i--;) n = t(n, e[i], i, e);return n;}function vt(e, t) {for (var n = -1, r = null == e ? 0 : e.length; ++n < r;) if (t(e[n], n, e)) return !0;return !1;}var bt = Et("length");function yt(e, t, n) {var r;return n(e, function (e, n, i) {if (t(e, n, i)) return r = n, !1;}), r;}function _t(e, t, n, r) {for (var i = e.length, a = n + (r ? 1 : -1); r ? a-- : ++a < i;) if (t(e[a], a, e)) return a;return -1;}function xt(e, t, n) {return t == t ? function (e, t, n) {var r = n - 1,i = e.length;for (; ++r < i;) if (e[r] === t) return r;return -1;}(e, t, n) : _t(e, Tt, n);}function St(e, t, n, r) {for (var i = n - 1, a = e.length; ++i < a;) if (r(e[i], t)) return i;return -1;}function Tt(e) {return e != e;}function wt(e, t) {var n = null == e ? 0 : e.length;return n ? Pt(e, t) / n : NaN;}function Et(e) {return function (t) {return null == t ? void 0 : t[e];};}function Ct(e) {return function (t) {return null == e ? void 0 : e[t];};}function kt(e, t, n, r, i) {return i(e, function (e, i, a) {n = r ? (r = !1, e) : t(n, e, i, a);}), n;}function Pt(e, t) {for (var n, r = -1, i = e.length; ++r < i;) {var a = t(e[r]);void 0 !== a && (n = void 0 === n ? a : n + a);}return n;}function Rt(e, t) {for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n);return r;}function Ot(e) {return e ? e.slice(0, Kt(e) + 1).replace(K, "") : e;}function At(e) {return function (t) {return e(t);};}function It(e, t) {return pt(t, function (t) {return e[t];});}function Nt(e, t) {return e.has(t);}function qt(e, t) {for (var n = -1, r = e.length; ++n < r && xt(t, e[n], 0) > -1;);return n;}function Lt(e, t) {for (var n = e.length; n-- && xt(t, e[n], 0) > -1;);return n;}function zt(e, t) {for (var n = e.length, r = 0; n--;) e[n] === t && ++r;return r;}var Dt = Ct({ "À": "A", "Á": "A", "Â": "A", "Ã": "A", "Ä": "A", "Å": "A", "à": "a", "á": "a", "â": "a", "ã": "a", "ä": "a", "å": "a", "Ç": "C", "ç": "c", "Ð": "D", "ð": "d", "È": "E", "É": "E", "Ê": "E", "Ë": "E", "è": "e", "é": "e", "ê": "e", "ë": "e", "Ì": "I", "Í": "I", "Î": "I", "Ï": "I", "ì": "i", "í": "i", "î": "i", "ï": "i", "Ñ": "N", "ñ": "n", "Ò": "O", "Ó": "O", "Ô": "O", "Õ": "O", "Ö": "O", "Ø": "O", "ò": "o", "ó": "o", "ô": "o", "õ": "o", "ö": "o", "ø": "o", "Ù": "U", "Ú": "U", "Û": "U", "Ü": "U", "ù": "u", "ú": "u", "û": "u", "ü": "u", "Ý": "Y", "ý": "y", "ÿ": "y", "Æ": "Ae", "æ": "ae", "Þ": "Th", "þ": "th", "ß": "ss", "Ā": "A", "Ă": "A", "Ą": "A", "ā": "a", "ă": "a", "ą": "a", "Ć": "C", "Ĉ": "C", "Ċ": "C", "Č": "C", "ć": "c", "ĉ": "c", "ċ": "c", "č": "c", "Ď": "D", "Đ": "D", "ď": "d", "đ": "d", "Ē": "E", "Ĕ": "E", "Ė": "E", "Ę": "E", "Ě": "E", "ē": "e", "ĕ": "e", "ė": "e", "ę": "e", "ě": "e", "Ĝ": "G", "Ğ": "G", "Ġ": "G", "Ģ": "G", "ĝ": "g", "ğ": "g", "ġ": "g", "ģ": "g", "Ĥ": "H", "Ħ": "H", "ĥ": "h", "ħ": "h", "Ĩ": "I", "Ī": "I", "Ĭ": "I", "Į": "I", "İ": "I", "ĩ": "i", "ī": "i", "ĭ": "i", "į": "i", "ı": "i", "Ĵ": "J", "ĵ": "j", "Ķ": "K", "ķ": "k", "ĸ": "k", "Ĺ": "L", "Ļ": "L", "Ľ": "L", "Ŀ": "L", "Ł": "L", "ĺ": "l", "ļ": "l", "ľ": "l", "ŀ": "l", "ł": "l", "Ń": "N", "Ņ": "N", "Ň": "N", "Ŋ": "N", "ń": "n", "ņ": "n", "ň": "n", "ŋ": "n", "Ō": "O", "Ŏ": "O", "Ő": "O", "ō": "o", "ŏ": "o", "ő": "o", "Ŕ": "R", "Ŗ": "R", "Ř": "R", "ŕ": "r", "ŗ": "r", "ř": "r", "Ś": "S", "Ŝ": "S", "Ş": "S", "Š": "S", "ś": "s", "ŝ": "s", "ş": "s", "š": "s", "Ţ": "T", "Ť": "T", "Ŧ": "T", "ţ": "t", "ť": "t", "ŧ": "t", "Ũ": "U", "Ū": "U", "Ŭ": "U", "Ů": "U", "Ű": "U", "Ų": "U", "ũ": "u", "ū": "u", "ŭ": "u", "ů": "u", "ű": "u", "ų": "u", "Ŵ": "W", "ŵ": "w", "Ŷ": "Y", "ŷ": "y", "Ÿ": "Y", "Ź": "Z", "Ż": "Z", "Ž": "Z", "ź": "z", "ż": "z", "ž": "z", "Ĳ": "IJ", "ĳ": "ij", "Œ": "Oe", "œ": "oe", "ŉ": "'n", "ſ": "s" }),jt = Ct({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" });function Bt(e) {return "\\" + Ze[e];}function Mt(e) {return ze.test(e);}function Ft(e) {var t = -1,n = Array(e.size);return e.forEach(function (e, r) {n[++t] = [r, e];}), n;}function Zt(e, t) {return function (n) {return e(t(n));};}function Ut(e, t) {for (var n = -1, r = e.length, i = 0, a = []; ++n < r;) {var u = e[n];u !== t && u !== o || (e[n] = o, a[i++] = n);}return a;}function Vt(e) {var t = -1,n = Array(e.size);return e.forEach(function (e) {n[++t] = e;}), n;}function Wt(e) {var t = -1,n = Array(e.size);return e.forEach(function (e) {n[++t] = [e, e];}), n;}function Gt(e) {return Mt(e) ? function (e) {var t = qe.lastIndex = 0;for (; qe.test(e);) ++t;return t;}(e) : bt(e);}function Ht(e) {return Mt(e) ? function (e) {return e.match(qe) || [];}(e) : function (e) {return e.split("");}(e);}function Kt(e) {for (var t = e.length; t-- && Y.test(e.charAt(t)););return t;}var Yt = Ct({ "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'" });var $t = function e(t) {var n,r = (t = null == t ? He : $t.defaults(He.Object(), t, $t.pick(He, je))).Array,i = t.Date,Y = t.Error,de = t.Function,pe = t.Math,he = t.Object,ge = t.RegExp,me = t.String,ve = t.TypeError,be = r.prototype,ye = de.prototype,_e = he.prototype,xe = t["__core-js_shared__"],Se = ye.toString,Te = _e.hasOwnProperty,we = 0,Ee = (n = /[^.]+$/.exec(xe && xe.keys && xe.keys.IE_PROTO || "")) ? "Symbol(src)_1." + n : "",Ce = _e.toString,ke = Se.call(he),Pe = He._,Re = ge("^" + Se.call(Te).replace(G, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),Oe = $e ? t.Buffer : void 0,Ae = t.Symbol,qe = t.Uint8Array,ze = Oe ? Oe.allocUnsafe : void 0,Ze = Zt(he.getPrototypeOf, he),We = he.create,Ge = _e.propertyIsEnumerable,Ke = be.splice,Ye = Ae ? Ae.isConcatSpreadable : void 0,Qe = Ae ? Ae.iterator : void 0,Xe = Ae ? Ae.toStringTag : void 0,bt = function () {try {var e = ea(he, "defineProperty");return e({}, "", {}), e;} catch (e) {}}(),Ct = t.clearTimeout !== He.clearTimeout && t.clearTimeout,Qt = i && i.now !== He.Date.now && i.now,Xt = t.setTimeout !== He.setTimeout && t.setTimeout,Jt = pe.ceil,en = pe.floor,tn = he.getOwnPropertySymbols,nn = Oe ? Oe.isBuffer : void 0,rn = t.isFinite,an = be.join,on = Zt(he.keys, he),un = pe.max,sn = pe.min,ln = i.now,cn = t.parseInt,fn = pe.random,dn = be.reverse,pn = ea(t, "DataView"),hn = ea(t, "Map"),gn = ea(t, "Promise"),mn = ea(t, "Set"),vn = ea(t, "WeakMap"),bn = ea(he, "create"),yn = vn && new vn(),_n = {},xn = ka(pn),Sn = ka(hn),Tn = ka(gn),wn = ka(mn),En = ka(vn),Cn = Ae ? Ae.prototype : void 0,kn = Cn ? Cn.valueOf : void 0,Pn = Cn ? Cn.toString : void 0;function Rn(e) {if (Wo(e) && !qo(e) && !(e instanceof Nn)) {if (e instanceof In) return e;if (Te.call(e, "__wrapped__")) return Pa(e);}return new In(e);}var On = function () {function e() {}return function (t) {if (!Vo(t)) return {};if (We) return We(t);e.prototype = t;var n = new e();return e.prototype = void 0, n;};}();function An() {}function In(e, t) {this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = void 0;}function Nn(e) {this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = 4294967295, this.__views__ = [];}function qn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.clear(); ++t < n;) {var r = e[t];this.set(r[0], r[1]);}}function Ln(e) {var t = -1,n = null == e ? 0 : e.length;for (this.clear(); ++t < n;) {var r = e[t];this.set(r[0], r[1]);}}function zn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.clear(); ++t < n;) {var r = e[t];this.set(r[0], r[1]);}}function Dn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.__data__ = new zn(); ++t < n;) this.add(e[t]);}function jn(e) {var t = this.__data__ = new Ln(e);this.size = t.size;}function Bn(e, t) {var n = qo(e),r = !n && No(e),i = !n && !r && jo(e),a = !n && !r && !i && Jo(e),o = n || r || i || a,u = o ? Rt(e.length, me) : [],s = u.length;for (var l in e) !t && !Te.call(e, l) || o && ("length" == l || i && ("offset" == l || "parent" == l) || a && ("buffer" == l || "byteLength" == l || "byteOffset" == l) || ua(l, s)) || u.push(l);return u;}function Mn(e) {var t = e.length;return t ? e[Dr(0, t - 1)] : void 0;}function Fn(e, t) {return wa(bi(e), $n(t, 0, e.length));}function Zn(e) {return wa(bi(e));}function Un(e, t, n) {(void 0 !== n && !Oo(e[t], n) || void 0 === n && !(t in e)) && Kn(e, t, n);}function Vn(e, t, n) {var r = e[t];Te.call(e, t) && Oo(r, n) && (void 0 !== n || t in e) || Kn(e, t, n);}function Wn(e, t) {for (var n = e.length; n--;) if (Oo(e[n][0], t)) return n;return -1;}function Gn(e, t, n, r) {return tr(e, function (e, i, a) {t(r, e, n(e), a);}), r;}function Hn(e, t) {return e && yi(t, xu(t), e);}function Kn(e, t, n) {"__proto__" == t && bt ? bt(e, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : e[t] = n;}function Yn(e, t) {for (var n = -1, i = t.length, a = r(i), o = null == e; ++n < i;) a[n] = o ? void 0 : mu(e, t[n]);return a;}function $n(e, t, n) {return e == e && (void 0 !== n && (e = e <= n ? e : n), void 0 !== t && (e = e >= t ? e : t)), e;}function Qn(e, t, n, r, i, a) {var o,u = 1 & t,l = 2 & t,d = 4 & t;if (n && (o = i ? n(e, r, i, a) : n(e)), void 0 !== o) return o;if (!Vo(e)) return e;var S = qo(e);if (S) {if (o = function (e) {var t = e.length,n = new e.constructor(t);t && "string" == typeof e[0] && Te.call(e, "index") && (n.index = e.index, n.input = e.input);return n;}(e), !u) return bi(e, o);} else {var N = ra(e),q = N == p || N == h;if (jo(e)) return di(e, u);if (N == v || N == s || q && !i) {if (o = l || q ? {} : aa(e), !u) return l ? function (e, t) {return yi(e, na(e), t);}(e, function (e, t) {return e && yi(t, Su(t), e);}(o, e)) : function (e, t) {return yi(e, ta(e), t);}(e, Hn(o, e));} else {if (!Fe[N]) return i ? e : {};o = function (e, t, n) {var r = e.constructor;switch (t) {case T:return pi(e);case c:case f:return new r(+e);case w:return function (e, t) {var n = t ? pi(e.buffer) : e.buffer;return new e.constructor(n, e.byteOffset, e.byteLength);}(e, n);case E:case C:case k:case P:case R:case O:case "[object Uint8ClampedArray]":case A:case I:return hi(e, n);case g:return new r();case m:case _:return new r(e);case b:return function (e) {var t = new e.constructor(e.source, re.exec(e));return t.lastIndex = e.lastIndex, t;}(e);case y:return new r();case x:return i = e, kn ? he(kn.call(i)) : {};}var i;}(e, N, u);}}a || (a = new jn());var L = a.get(e);if (L) return L;a.set(e, o), $o(e) ? e.forEach(function (r) {o.add(Qn(r, t, n, r, e, a));}) : Go(e) && e.forEach(function (r, i) {o.set(i, Qn(r, t, n, i, e, a));});var z = S ? void 0 : (d ? l ? Hi : Gi : l ? Su : xu)(e);return ut(z || e, function (r, i) {z && (r = e[i = r]), Vn(o, i, Qn(r, t, n, i, e, a));}), o;}function Xn(e, t, n) {var r = n.length;if (null == e) return !r;for (e = he(e); r--;) {var i = n[r],a = t[i],o = e[i];if (void 0 === o && !(i in e) || !a(o)) return !1;}return !0;}function Jn(e, t, n) {if ("function" != typeof e) throw new ve(a);return _a(function () {e.apply(void 0, n);}, t);}function er(e, t, n, r) {var i = -1,a = ft,o = !0,u = e.length,s = [],l = t.length;if (!u) return s;n && (t = pt(t, At(n))), r ? (a = dt, o = !1) : t.length >= 200 && (a = Nt, o = !1, t = new Dn(t));e: for (; ++i < u;) {var c = e[i],f = null == n ? c : n(c);if (c = r || 0 !== c ? c : 0, o && f == f) {for (var d = l; d--;) if (t[d] === f) continue e;s.push(c);} else a(t, f, r) || s.push(c);}return s;}Rn.templateSettings = { escape: M, evaluate: F, interpolate: Z, variable: "", imports: { _: Rn } }, Rn.prototype = An.prototype, Rn.prototype.constructor = Rn, In.prototype = On(An.prototype), In.prototype.constructor = In, Nn.prototype = On(An.prototype), Nn.prototype.constructor = Nn, qn.prototype.clear = function () {this.__data__ = bn ? bn(null) : {}, this.size = 0;}, qn.prototype.delete = function (e) {var t = this.has(e) && delete this.__data__[e];return this.size -= t ? 1 : 0, t;}, qn.prototype.get = function (e) {var t = this.__data__;if (bn) {var n = t[e];return "__lodash_hash_undefined__" === n ? void 0 : n;}return Te.call(t, e) ? t[e] : void 0;}, qn.prototype.has = function (e) {var t = this.__data__;return bn ? void 0 !== t[e] : Te.call(t, e);}, qn.prototype.set = function (e, t) {var n = this.__data__;return this.size += this.has(e) ? 0 : 1, n[e] = bn && void 0 === t ? "__lodash_hash_undefined__" : t, this;}, Ln.prototype.clear = function () {this.__data__ = [], this.size = 0;}, Ln.prototype.delete = function (e) {var t = this.__data__,n = Wn(t, e);return !(n < 0) && (n == t.length - 1 ? t.pop() : Ke.call(t, n, 1), --this.size, !0);}, Ln.prototype.get = function (e) {var t = this.__data__,n = Wn(t, e);return n < 0 ? void 0 : t[n][1];}, Ln.prototype.has = function (e) {return Wn(this.__data__, e) > -1;}, Ln.prototype.set = function (e, t) {var n = this.__data__,r = Wn(n, e);return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;}, zn.prototype.clear = function () {this.size = 0, this.__data__ = { hash: new qn(), map: new (hn || Ln)(), string: new qn() };}, zn.prototype.delete = function (e) {var t = Xi(this, e).delete(e);return this.size -= t ? 1 : 0, t;}, zn.prototype.get = function (e) {return Xi(this, e).get(e);}, zn.prototype.has = function (e) {return Xi(this, e).has(e);}, zn.prototype.set = function (e, t) {var n = Xi(this, e),r = n.size;return n.set(e, t), this.size += n.size == r ? 0 : 1, this;}, Dn.prototype.add = Dn.prototype.push = function (e) {return this.__data__.set(e, "__lodash_hash_undefined__"), this;}, Dn.prototype.has = function (e) {return this.__data__.has(e);}, jn.prototype.clear = function () {this.__data__ = new Ln(), this.size = 0;}, jn.prototype.delete = function (e) {var t = this.__data__,n = t.delete(e);return this.size = t.size, n;}, jn.prototype.get = function (e) {return this.__data__.get(e);}, jn.prototype.has = function (e) {return this.__data__.has(e);}, jn.prototype.set = function (e, t) {var n = this.__data__;if (n instanceof Ln) {var r = n.__data__;if (!hn || r.length < 199) return r.push([e, t]), this.size = ++n.size, this;n = this.__data__ = new zn(r);}return n.set(e, t), this.size = n.size, this;};var tr = Si(lr),nr = Si(cr, !0);function rr(e, t) {var n = !0;return tr(e, function (e, r, i) {return n = !!t(e, r, i);}), n;}function ir(e, t, n) {for (var r = -1, i = e.length; ++r < i;) {var a = e[r],o = t(a);if (null != o && (void 0 === u ? o == o && !Xo(o) : n(o, u))) var u = o,s = a;}return s;}function ar(e, t) {var n = [];return tr(e, function (e, r, i) {t(e, r, i) && n.push(e);}), n;}function or(e, t, n, r, i) {var a = -1,o = e.length;for (n || (n = oa), i || (i = []); ++a < o;) {var u = e[a];t > 0 && n(u) ? t > 1 ? or(u, t - 1, n, r, i) : ht(i, u) : r || (i[i.length] = u);}return i;}var ur = Ti(),sr = Ti(!0);function lr(e, t) {return e && ur(e, t, xu);}function cr(e, t) {return e && sr(e, t, xu);}function fr(e, t) {return ct(t, function (t) {return Fo(e[t]);});}function dr(e, t) {for (var n = 0, r = (t = si(t, e)).length; null != e && n < r;) e = e[Ca(t[n++])];return n && n == r ? e : void 0;}function pr(e, t, n) {var r = t(e);return qo(e) ? r : ht(r, n(e));}function hr(e) {return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : Xe && Xe in he(e) ? function (e) {var t = Te.call(e, Xe),n = e[Xe];try {e[Xe] = void 0;var r = !0;} catch (e) {}var i = Ce.call(e);r && (t ? e[Xe] = n : delete e[Xe]);return i;}(e) : function (e) {return Ce.call(e);}(e);}function gr(e, t) {return e > t;}function mr(e, t) {return null != e && Te.call(e, t);}function vr(e, t) {return null != e && t in he(e);}function br(e, t, n) {for (var i = n ? dt : ft, a = e[0].length, o = e.length, u = o, s = r(o), l = 1 / 0, c = []; u--;) {var f = e[u];u && t && (f = pt(f, At(t))), l = sn(f.length, l), s[u] = !n && (t || a >= 120 && f.length >= 120) ? new Dn(u && f) : void 0;}f = e[0];var d = -1,p = s[0];e: for (; ++d < a && c.length < l;) {var h = f[d],g = t ? t(h) : h;if (h = n || 0 !== h ? h : 0, !(p ? Nt(p, g) : i(c, g, n))) {for (u = o; --u;) {var m = s[u];if (!(m ? Nt(m, g) : i(e[u], g, n))) continue e;}p && p.push(g), c.push(h);}}return c;}function yr(e, t, n) {var r = null == (e = ma(e, t = si(t, e))) ? e : e[Ca(Ba(t))];return null == r ? void 0 : at(r, e, n);}function _r(e) {return Wo(e) && hr(e) == s;}function xr(e, t, n, r, i) {return e === t || (null == e || null == t || !Wo(e) && !Wo(t) ? e != e && t != t : function (e, t, n, r, i, a) {var o = qo(e),u = qo(t),p = o ? l : ra(e),h = u ? l : ra(t),S = (p = p == s ? v : p) == v,E = (h = h == s ? v : h) == v,C = p == h;if (C && jo(e)) {if (!jo(t)) return !1;o = !0, S = !1;}if (C && !S) return a || (a = new jn()), o || Jo(e) ? Vi(e, t, n, r, i, a) : function (e, t, n, r, i, a, o) {switch (n) {case w:if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;e = e.buffer, t = t.buffer;case T:return !(e.byteLength != t.byteLength || !a(new qe(e), new qe(t)));case c:case f:case m:return Oo(+e, +t);case d:return e.name == t.name && e.message == t.message;case b:case _:return e == t + "";case g:var u = Ft;case y:var s = 1 & r;if (u || (u = Vt), e.size != t.size && !s) return !1;var l = o.get(e);if (l) return l == t;r |= 2, o.set(e, t);var p = Vi(u(e), u(t), r, i, a, o);return o.delete(e), p;case x:if (kn) return kn.call(e) == kn.call(t);}return !1;}(e, t, p, n, r, i, a);if (!(1 & n)) {var k = S && Te.call(e, "__wrapped__"),P = E && Te.call(t, "__wrapped__");if (k || P) {var R = k ? e.value() : e,O = P ? t.value() : t;return a || (a = new jn()), i(R, O, n, r, a);}}if (!C) return !1;return a || (a = new jn()), function (e, t, n, r, i, a) {var o = 1 & n,u = Gi(e),s = u.length,l = Gi(t).length;if (s != l && !o) return !1;var c = s;for (; c--;) {var f = u[c];if (!(o ? f in t : Te.call(t, f))) return !1;}var d = a.get(e),p = a.get(t);if (d && p) return d == t && p == e;var h = !0;a.set(e, t), a.set(t, e);var g = o;for (; ++c < s;) {f = u[c];var m = e[f],v = t[f];if (r) var b = o ? r(v, m, f, t, e, a) : r(m, v, f, e, t, a);if (!(void 0 === b ? m === v || i(m, v, n, r, a) : b)) {h = !1;break;}g || (g = "constructor" == f);}if (h && !g) {var y = e.constructor,_ = t.constructor;y == _ || !("constructor" in e) || !("constructor" in t) || "function" == typeof y && y instanceof y && "function" == typeof _ && _ instanceof _ || (h = !1);}return a.delete(e), a.delete(t), h;}(e, t, n, r, i, a);}(e, t, n, r, xr, i));}function Sr(e, t, n, r) {var i = n.length,a = i,o = !r;if (null == e) return !a;for (e = he(e); i--;) {var u = n[i];if (o && u[2] ? u[1] !== e[u[0]] : !(u[0] in e)) return !1;}for (; ++i < a;) {var s = (u = n[i])[0],l = e[s],c = u[1];if (o && u[2]) {if (void 0 === l && !(s in e)) return !1;} else {var f = new jn();if (r) var d = r(l, c, s, e, t, f);if (!(void 0 === d ? xr(c, l, 3, r, f) : d)) return !1;}}return !0;}function Tr(e) {return !(!Vo(e) || (t = e, Ee && Ee in t)) && (Fo(e) ? Re : oe).test(ka(e));var t;}function wr(e) {return "function" == typeof e ? e : null == e ? Hu : "object" == typeof e ? qo(e) ? Or(e[0], e[1]) : Rr(e) : ns(e);}function Er(e) {if (!da(e)) return on(e);var t = [];for (var n in he(e)) Te.call(e, n) && "constructor" != n && t.push(n);return t;}function Cr(e) {if (!Vo(e)) return function (e) {var t = [];if (null != e) for (var n in he(e)) t.push(n);return t;}(e);var t = da(e),n = [];for (var r in e) ("constructor" != r || !t && Te.call(e, r)) && n.push(r);return n;}function kr(e, t) {return e < t;}function Pr(e, t) {var n = -1,i = zo(e) ? r(e.length) : [];return tr(e, function (e, r, a) {i[++n] = t(e, r, a);}), i;}function Rr(e) {var t = Ji(e);return 1 == t.length && t[0][2] ? ha(t[0][0], t[0][1]) : function (n) {return n === e || Sr(n, e, t);};}function Or(e, t) {return la(e) && pa(t) ? ha(Ca(e), t) : function (n) {var r = mu(n, e);return void 0 === r && r === t ? vu(n, e) : xr(t, r, 3);};}function Ar(e, t, n, r, i) {e !== t && ur(t, function (a, o) {if (i || (i = new jn()), Vo(a)) !function (e, t, n, r, i, a, o) {var u = ba(e, n),s = ba(t, n),l = o.get(s);if (l) return void Un(e, n, l);var c = a ? a(u, s, n + "", e, t, o) : void 0,f = void 0 === c;if (f) {var d = qo(s),p = !d && jo(s),h = !d && !p && Jo(s);c = s, d || p || h ? qo(u) ? c = u : Do(u) ? c = bi(u) : p ? (f = !1, c = di(s, !0)) : h ? (f = !1, c = hi(s, !0)) : c = [] : Ko(s) || No(s) ? (c = u, No(u) ? c = uu(u) : Vo(u) && !Fo(u) || (c = aa(s))) : f = !1;}f && (o.set(s, c), i(c, s, r, a, o), o.delete(s));Un(e, n, c);}(e, t, o, n, Ar, r, i);else {var u = r ? r(ba(e, o), a, o + "", e, t, i) : void 0;void 0 === u && (u = a), Un(e, o, u);}}, Su);}function Ir(e, t) {var n = e.length;if (n) return ua(t += t < 0 ? n : 0, n) ? e[t] : void 0;}function Nr(e, t, n) {t = t.length ? pt(t, function (e) {return qo(e) ? function (t) {return dr(t, 1 === e.length ? e[0] : e);} : e;}) : [Hu];var r = -1;return t = pt(t, At(Qi())), function (e, t) {var n = e.length;for (e.sort(t); n--;) e[n] = e[n].value;return e;}(Pr(e, function (e, n, i) {return { criteria: pt(t, function (t) {return t(e);}), index: ++r, value: e };}), function (e, t) {return function (e, t, n) {var r = -1,i = e.criteria,a = t.criteria,o = i.length,u = n.length;for (; ++r < o;) {var s = gi(i[r], a[r]);if (s) {if (r >= u) return s;var l = n[r];return s * ("desc" == l ? -1 : 1);}}return e.index - t.index;}(e, t, n);});}function qr(e, t, n) {for (var r = -1, i = t.length, a = {}; ++r < i;) {var o = t[r],u = dr(e, o);n(u, o) && Zr(a, si(o, e), u);}return a;}function Lr(e, t, n, r) {var i = r ? St : xt,a = -1,o = t.length,u = e;for (e === t && (t = bi(t)), n && (u = pt(e, At(n))); ++a < o;) for (var s = 0, l = t[a], c = n ? n(l) : l; (s = i(u, c, s, r)) > -1;) u !== e && Ke.call(u, s, 1), Ke.call(e, s, 1);return e;}function zr(e, t) {for (var n = e ? t.length : 0, r = n - 1; n--;) {var i = t[n];if (n == r || i !== a) {var a = i;ua(i) ? Ke.call(e, i, 1) : ei(e, i);}}return e;}function Dr(e, t) {return e + en(fn() * (t - e + 1));}function jr(e, t) {var n = "";if (!e || t < 1 || t > 9007199254740991) return n;do {t % 2 && (n += e), (t = en(t / 2)) && (e += e);} while (t);return n;}function Br(e, t) {return xa(ga(e, t, Hu), e + "");}function Mr(e) {return Mn(Ou(e));}function Fr(e, t) {var n = Ou(e);return wa(n, $n(t, 0, n.length));}function Zr(e, t, n, r) {if (!Vo(e)) return e;for (var i = -1, a = (t = si(t, e)).length, o = a - 1, u = e; null != u && ++i < a;) {var s = Ca(t[i]),l = n;if ("__proto__" === s || "constructor" === s || "prototype" === s) return e;if (i != o) {var c = u[s];void 0 === (l = r ? r(c, s, u) : void 0) && (l = Vo(c) ? c : ua(t[i + 1]) ? [] : {});}Vn(u, s, l), u = u[s];}return e;}var Ur = yn ? function (e, t) {return yn.set(e, t), e;} : Hu,Vr = bt ? function (e, t) {return bt(e, "toString", { configurable: !0, enumerable: !1, value: Vu(t), writable: !0 });} : Hu;function Wr(e) {return wa(Ou(e));}function Gr(e, t, n) {var i = -1,a = e.length;t < 0 && (t = -t > a ? 0 : a + t), (n = n > a ? a : n) < 0 && (n += a), a = t > n ? 0 : n - t >>> 0, t >>>= 0;for (var o = r(a); ++i < a;) o[i] = e[i + t];return o;}function Hr(e, t) {var n;return tr(e, function (e, r, i) {return !(n = t(e, r, i));}), !!n;}function Kr(e, t, n) {var r = 0,i = null == e ? r : e.length;if ("number" == typeof t && t == t && i <= 2147483647) {for (; r < i;) {var a = r + i >>> 1,o = e[a];null !== o && !Xo(o) && (n ? o <= t : o < t) ? r = a + 1 : i = a;}return i;}return Yr(e, t, Hu, n);}function Yr(e, t, n, r) {var i = 0,a = null == e ? 0 : e.length;if (0 === a) return 0;for (var o = (t = n(t)) != t, u = null === t, s = Xo(t), l = void 0 === t; i < a;) {var c = en((i + a) / 2),f = n(e[c]),d = void 0 !== f,p = null === f,h = f == f,g = Xo(f);if (o) var m = r || h;else m = l ? h && (r || d) : u ? h && d && (r || !p) : s ? h && d && !p && (r || !g) : !p && !g && (r ? f <= t : f < t);m ? i = c + 1 : a = c;}return sn(a, 4294967294);}function $r(e, t) {for (var n = -1, r = e.length, i = 0, a = []; ++n < r;) {var o = e[n],u = t ? t(o) : o;if (!n || !Oo(u, s)) {var s = u;a[i++] = 0 === o ? 0 : o;}}return a;}function Qr(e) {return "number" == typeof e ? e : Xo(e) ? NaN : +e;}function Xr(e) {if ("string" == typeof e) return e;if (qo(e)) return pt(e, Xr) + "";if (Xo(e)) return Pn ? Pn.call(e) : "";var t = e + "";return "0" == t && 1 / e == -1 / 0 ? "-0" : t;}function Jr(e, t, n) {var r = -1,i = ft,a = e.length,o = !0,u = [],s = u;if (n) o = !1, i = dt;else if (a >= 200) {var l = t ? null : ji(e);if (l) return Vt(l);o = !1, i = Nt, s = new Dn();} else s = t ? [] : u;e: for (; ++r < a;) {var c = e[r],f = t ? t(c) : c;if (c = n || 0 !== c ? c : 0, o && f == f) {for (var d = s.length; d--;) if (s[d] === f) continue e;t && s.push(f), u.push(c);} else i(s, f, n) || (s !== u && s.push(f), u.push(c));}return u;}function ei(e, t) {return null == (e = ma(e, t = si(t, e))) || delete e[Ca(Ba(t))];}function ti(e, t, n, r) {return Zr(e, t, n(dr(e, t)), r);}function ni(e, t, n, r) {for (var i = e.length, a = r ? i : -1; (r ? a-- : ++a < i) && t(e[a], a, e););return n ? Gr(e, r ? 0 : a, r ? a + 1 : i) : Gr(e, r ? a + 1 : 0, r ? i : a);}function ri(e, t) {var n = e;return n instanceof Nn && (n = n.value()), gt(t, function (e, t) {return t.func.apply(t.thisArg, ht([e], t.args));}, n);}function ii(e, t, n) {var i = e.length;if (i < 2) return i ? Jr(e[0]) : [];for (var a = -1, o = r(i); ++a < i;) for (var u = e[a], s = -1; ++s < i;) s != a && (o[a] = er(o[a] || u, e[s], t, n));return Jr(or(o, 1), t, n);}function ai(e, t, n) {for (var r = -1, i = e.length, a = t.length, o = {}; ++r < i;) {var u = r < a ? t[r] : void 0;n(o, e[r], u);}return o;}function oi(e) {return Do(e) ? e : [];}function ui(e) {return "function" == typeof e ? e : Hu;}function si(e, t) {return qo(e) ? e : la(e, t) ? [e] : Ea(su(e));}var li = Br;function ci(e, t, n) {var r = e.length;return n = void 0 === n ? r : n, !t && n >= r ? e : Gr(e, t, n);}var fi = Ct || function (e) {return He.clearTimeout(e);};function di(e, t) {if (t) return e.slice();var n = e.length,r = ze ? ze(n) : new e.constructor(n);return e.copy(r), r;}function pi(e) {var t = new e.constructor(e.byteLength);return new qe(t).set(new qe(e)), t;}function hi(e, t) {var n = t ? pi(e.buffer) : e.buffer;return new e.constructor(n, e.byteOffset, e.length);}function gi(e, t) {if (e !== t) {var n = void 0 !== e,r = null === e,i = e == e,a = Xo(e),o = void 0 !== t,u = null === t,s = t == t,l = Xo(t);if (!u && !l && !a && e > t || a && o && s && !u && !l || r && o && s || !n && s || !i) return 1;if (!r && !a && !l && e < t || l && n && i && !r && !a || u && n && i || !o && i || !s) return -1;}return 0;}function mi(e, t, n, i) {for (var a = -1, o = e.length, u = n.length, s = -1, l = t.length, c = un(o - u, 0), f = r(l + c), d = !i; ++s < l;) f[s] = t[s];for (; ++a < u;) (d || a < o) && (f[n[a]] = e[a]);for (; c--;) f[s++] = e[a++];return f;}function vi(e, t, n, i) {for (var a = -1, o = e.length, u = -1, s = n.length, l = -1, c = t.length, f = un(o - s, 0), d = r(f + c), p = !i; ++a < f;) d[a] = e[a];for (var h = a; ++l < c;) d[h + l] = t[l];for (; ++u < s;) (p || a < o) && (d[h + n[u]] = e[a++]);return d;}function bi(e, t) {var n = -1,i = e.length;for (t || (t = r(i)); ++n < i;) t[n] = e[n];return t;}function yi(e, t, n, r) {var i = !n;n || (n = {});for (var a = -1, o = t.length; ++a < o;) {var u = t[a],s = r ? r(n[u], e[u], u, n, e) : void 0;void 0 === s && (s = e[u]), i ? Kn(n, u, s) : Vn(n, u, s);}return n;}function _i(e, t) {return function (n, r) {var i = qo(n) ? ot : Gn,a = t ? t() : {};return i(n, e, Qi(r, 2), a);};}function xi(e) {return Br(function (t, n) {var r = -1,i = n.length,a = i > 1 ? n[i - 1] : void 0,o = i > 2 ? n[2] : void 0;for (a = e.length > 3 && "function" == typeof a ? (i--, a) : void 0, o && sa(n[0], n[1], o) && (a = i < 3 ? void 0 : a, i = 1), t = he(t); ++r < i;) {var u = n[r];u && e(t, u, r, a);}return t;});}function Si(e, t) {return function (n, r) {if (null == n) return n;if (!zo(n)) return e(n, r);for (var i = n.length, a = t ? i : -1, o = he(n); (t ? a-- : ++a < i) && !1 !== r(o[a], a, o););return n;};}function Ti(e) {return function (t, n, r) {for (var i = -1, a = he(t), o = r(t), u = o.length; u--;) {var s = o[e ? u : ++i];if (!1 === n(a[s], s, a)) break;}return t;};}function wi(e) {return function (t) {var n = Mt(t = su(t)) ? Ht(t) : void 0,r = n ? n[0] : t.charAt(0),i = n ? ci(n, 1).join("") : t.slice(1);return r[e]() + i;};}function Ei(e) {return function (t) {return gt(Fu(Nu(t).replace(Ie, "")), e, "");};}function Ci(e) {return function () {var t = arguments;switch (t.length) {case 0:return new e();case 1:return new e(t[0]);case 2:return new e(t[0], t[1]);case 3:return new e(t[0], t[1], t[2]);case 4:return new e(t[0], t[1], t[2], t[3]);case 5:return new e(t[0], t[1], t[2], t[3], t[4]);case 6:return new e(t[0], t[1], t[2], t[3], t[4], t[5]);case 7:return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]);}var n = On(e.prototype),r = e.apply(n, t);return Vo(r) ? r : n;};}function ki(e) {return function (t, n, r) {var i = he(t);if (!zo(t)) {var a = Qi(n, 3);t = xu(t), n = function (e) {return a(i[e], e, i);};}var o = e(t, n, r);return o > -1 ? i[a ? t[o] : o] : void 0;};}function Pi(e) {return Wi(function (t) {var n = t.length,r = n,i = In.prototype.thru;for (e && t.reverse(); r--;) {var o = t[r];if ("function" != typeof o) throw new ve(a);if (i && !u && "wrapper" == Yi(o)) var u = new In([], !0);}for (r = u ? r : n; ++r < n;) {var s = Yi(o = t[r]),l = "wrapper" == s ? Ki(o) : void 0;u = l && ca(l[0]) && 424 == l[1] && !l[4].length && 1 == l[9] ? u[Yi(l[0])].apply(u, l[3]) : 1 == o.length && ca(o) ? u[s]() : u.thru(o);}return function () {var e = arguments,r = e[0];if (u && 1 == e.length && qo(r)) return u.plant(r).value();for (var i = 0, a = n ? t[i].apply(this, e) : r; ++i < n;) a = t[i].call(this, a);return a;};});}function Ri(e, t, n, i, a, o, u, s, l, c) {var f = 128 & t,d = 1 & t,p = 2 & t,h = 24 & t,g = 512 & t,m = p ? void 0 : Ci(e);return function v() {for (var b = arguments.length, y = r(b), _ = b; _--;) y[_] = arguments[_];if (h) var x = $i(v),S = zt(y, x);if (i && (y = mi(y, i, a, h)), o && (y = vi(y, o, u, h)), b -= S, h && b < c) {var T = Ut(y, x);return zi(e, t, Ri, v.placeholder, n, y, T, s, l, c - b);}var w = d ? n : this,E = p ? w[e] : e;return b = y.length, s ? y = va(y, s) : g && b > 1 && y.reverse(), f && l < b && (y.length = l), this && this !== He && this instanceof v && (E = m || Ci(E)), E.apply(w, y);};}function Oi(e, t) {return function (n, r) {return function (e, t, n, r) {return lr(e, function (e, i, a) {t(r, n(e), i, a);}), r;}(n, e, t(r), {});};}function Ai(e, t) {return function (n, r) {var i;if (void 0 === n && void 0 === r) return t;if (void 0 !== n && (i = n), void 0 !== r) {if (void 0 === i) return r;"string" == typeof n || "string" == typeof r ? (n = Xr(n), r = Xr(r)) : (n = Qr(n), r = Qr(r)), i = e(n, r);}return i;};}function Ii(e) {return Wi(function (t) {return t = pt(t, At(Qi())), Br(function (n) {var r = this;return e(t, function (e) {return at(e, r, n);});});});}function Ni(e, t) {var n = (t = void 0 === t ? " " : Xr(t)).length;if (n < 2) return n ? jr(t, e) : t;var r = jr(t, Jt(e / Gt(t)));return Mt(t) ? ci(Ht(r), 0, e).join("") : r.slice(0, e);}function qi(e) {return function (t, n, i) {return i && "number" != typeof i && sa(t, n, i) && (n = i = void 0), t = ru(t), void 0 === n ? (n = t, t = 0) : n = ru(n), function (e, t, n, i) {for (var a = -1, o = un(Jt((t - e) / (n || 1)), 0), u = r(o); o--;) u[i ? o : ++a] = e, e += n;return u;}(t, n, i = void 0 === i ? t < n ? 1 : -1 : ru(i), e);};}function Li(e) {return function (t, n) {return "string" == typeof t && "string" == typeof n || (t = ou(t), n = ou(n)), e(t, n);};}function zi(e, t, n, r, i, a, o, u, s, l) {var c = 8 & t;t |= c ? 32 : 64, 4 & (t &= ~(c ? 64 : 32)) || (t &= -4);var f = [e, t, i, c ? a : void 0, c ? o : void 0, c ? void 0 : a, c ? void 0 : o, u, s, l],d = n.apply(void 0, f);return ca(e) && ya(d, f), d.placeholder = r, Sa(d, e, t);}function Di(e) {var t = pe[e];return function (e, n) {if (e = ou(e), (n = null == n ? 0 : sn(iu(n), 292)) && rn(e)) {var r = (su(e) + "e").split("e");return +((r = (su(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + "e" + (+r[1] - n));}return t(e);};}var ji = mn && 1 / Vt(new mn([, -0]))[1] == 1 / 0 ? function (e) {return new mn(e);} : Xu;function Bi(e) {return function (t) {var n = ra(t);return n == g ? Ft(t) : n == y ? Wt(t) : function (e, t) {return pt(t, function (t) {return [t, e[t]];});}(t, e(t));};}function Mi(e, t, n, i, u, s, l, c) {var f = 2 & t;if (!f && "function" != typeof e) throw new ve(a);var d = i ? i.length : 0;if (d || (t &= -97, i = u = void 0), l = void 0 === l ? l : un(iu(l), 0), c = void 0 === c ? c : iu(c), d -= u ? u.length : 0, 64 & t) {var p = i,h = u;i = u = void 0;}var g = f ? void 0 : Ki(e),m = [e, t, n, i, u, p, h, s, l, c];if (g && function (e, t) {var n = e[1],r = t[1],i = n | r,a = i < 131,u = 128 == r && 8 == n || 128 == r && 256 == n && e[7].length <= t[8] || 384 == r && t[7].length <= t[8] && 8 == n;if (!a && !u) return e;1 & r && (e[2] = t[2], i |= 1 & n ? 0 : 4);var s = t[3];if (s) {var l = e[3];e[3] = l ? mi(l, s, t[4]) : s, e[4] = l ? Ut(e[3], o) : t[4];}(s = t[5]) && (l = e[5], e[5] = l ? vi(l, s, t[6]) : s, e[6] = l ? Ut(e[5], o) : t[6]);(s = t[7]) && (e[7] = s);128 & r && (e[8] = null == e[8] ? t[8] : sn(e[8], t[8]));null == e[9] && (e[9] = t[9]);e[0] = t[0], e[1] = i;}(m, g), e = m[0], t = m[1], n = m[2], i = m[3], u = m[4], !(c = m[9] = void 0 === m[9] ? f ? 0 : e.length : un(m[9] - d, 0)) && 24 & t && (t &= -25), t && 1 != t) v = 8 == t || 16 == t ? function (e, t, n) {var i = Ci(e);return function a() {for (var o = arguments.length, u = r(o), s = o, l = $i(a); s--;) u[s] = arguments[s];var c = o < 3 && u[0] !== l && u[o - 1] !== l ? [] : Ut(u, l);if ((o -= c.length) < n) return zi(e, t, Ri, a.placeholder, void 0, u, c, void 0, void 0, n - o);var f = this && this !== He && this instanceof a ? i : e;return at(f, this, u);};}(e, t, c) : 32 != t && 33 != t || u.length ? Ri.apply(void 0, m) : function (e, t, n, i) {var a = 1 & t,o = Ci(e);return function t() {for (var u = -1, s = arguments.length, l = -1, c = i.length, f = r(c + s), d = this && this !== He && this instanceof t ? o : e; ++l < c;) f[l] = i[l];for (; s--;) f[l++] = arguments[++u];return at(d, a ? n : this, f);};}(e, t, n, i);else var v = function (e, t, n) {var r = 1 & t,i = Ci(e);return function t() {var a = this && this !== He && this instanceof t ? i : e;return a.apply(r ? n : this, arguments);};}(e, t, n);return Sa((g ? Ur : ya)(v, m), e, t);}function Fi(e, t, n, r) {return void 0 === e || Oo(e, _e[n]) && !Te.call(r, n) ? t : e;}function Zi(e, t, n, r, i, a) {return Vo(e) && Vo(t) && (a.set(t, e), Ar(e, t, void 0, Zi, a), a.delete(t)), e;}function Ui(e) {return Ko(e) ? void 0 : e;}function Vi(e, t, n, r, i, a) {var o = 1 & n,u = e.length,s = t.length;if (u != s && !(o && s > u)) return !1;var l = a.get(e),c = a.get(t);if (l && c) return l == t && c == e;var f = -1,d = !0,p = 2 & n ? new Dn() : void 0;for (a.set(e, t), a.set(t, e); ++f < u;) {var h = e[f],g = t[f];if (r) var m = o ? r(g, h, f, t, e, a) : r(h, g, f, e, t, a);if (void 0 !== m) {if (m) continue;d = !1;break;}if (p) {if (!vt(t, function (e, t) {if (!Nt(p, t) && (h === e || i(h, e, n, r, a))) return p.push(t);})) {d = !1;break;}} else if (h !== g && !i(h, g, n, r, a)) {d = !1;break;}}return a.delete(e), a.delete(t), d;}function Wi(e) {return xa(ga(e, void 0, qa), e + "");}function Gi(e) {return pr(e, xu, ta);}function Hi(e) {return pr(e, Su, na);}var Ki = yn ? function (e) {return yn.get(e);} : Xu;function Yi(e) {for (var t = e.name + "", n = _n[t], r = Te.call(_n, t) ? n.length : 0; r--;) {var i = n[r],a = i.func;if (null == a || a == e) return i.name;}return t;}function $i(e) {return (Te.call(Rn, "placeholder") ? Rn : e).placeholder;}function Qi() {var e = Rn.iteratee || Ku;return e = e === Ku ? wr : e, arguments.length ? e(arguments[0], arguments[1]) : e;}function Xi(e, t) {var n,r,i = e.__data__;return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? i["string" == typeof t ? "string" : "hash"] : i.map;}function Ji(e) {for (var t = xu(e), n = t.length; n--;) {var r = t[n],i = e[r];t[n] = [r, i, pa(i)];}return t;}function ea(e, t) {var n = function (e, t) {return null == e ? void 0 : e[t];}(e, t);return Tr(n) ? n : void 0;}var ta = tn ? function (e) {return null == e ? [] : (e = he(e), ct(tn(e), function (t) {return Ge.call(e, t);}));} : as,na = tn ? function (e) {for (var t = []; e;) ht(t, ta(e)), e = Ze(e);return t;} : as,ra = hr;function ia(e, t, n) {for (var r = -1, i = (t = si(t, e)).length, a = !1; ++r < i;) {var o = Ca(t[r]);if (!(a = null != e && n(e, o))) break;e = e[o];}return a || ++r != i ? a : !!(i = null == e ? 0 : e.length) && Uo(i) && ua(o, i) && (qo(e) || No(e));}function aa(e) {return "function" != typeof e.constructor || da(e) ? {} : On(Ze(e));}function oa(e) {return qo(e) || No(e) || !!(Ye && e && e[Ye]);}function ua(e, t) {var n = typeof e;return !!(t = null == t ? 9007199254740991 : t) && ("number" == n || "symbol" != n && se.test(e)) && e > -1 && e % 1 == 0 && e < t;}function sa(e, t, n) {if (!Vo(n)) return !1;var r = typeof t;return !!("number" == r ? zo(n) && ua(t, n.length) : "string" == r && t in n) && Oo(n[t], e);}function la(e, t) {if (qo(e)) return !1;var n = typeof e;return !("number" != n && "symbol" != n && "boolean" != n && null != e && !Xo(e)) || V.test(e) || !U.test(e) || null != t && e in he(t);}function ca(e) {var t = Yi(e),n = Rn[t];if ("function" != typeof n || !(t in Nn.prototype)) return !1;if (e === n) return !0;var r = Ki(n);return !!r && e === r[0];}(pn && ra(new pn(new ArrayBuffer(1))) != w || hn && ra(new hn()) != g || gn && "[object Promise]" != ra(gn.resolve()) || mn && ra(new mn()) != y || vn && ra(new vn()) != S) && (ra = function (e) {var t = hr(e),n = t == v ? e.constructor : void 0,r = n ? ka(n) : "";if (r) switch (r) {case xn:return w;case Sn:return g;case Tn:return "[object Promise]";case wn:return y;case En:return S;}return t;});var fa = xe ? Fo : os;function da(e) {var t = e && e.constructor;return e === ("function" == typeof t && t.prototype || _e);}function pa(e) {return e == e && !Vo(e);}function ha(e, t) {return function (n) {return null != n && n[e] === t && (void 0 !== t || e in he(n));};}function ga(e, t, n) {return t = un(void 0 === t ? e.length - 1 : t, 0), function () {for (var i = arguments, a = -1, o = un(i.length - t, 0), u = r(o); ++a < o;) u[a] = i[t + a];a = -1;for (var s = r(t + 1); ++a < t;) s[a] = i[a];return s[t] = n(u), at(e, this, s);};}function ma(e, t) {return t.length < 2 ? e : dr(e, Gr(t, 0, -1));}function va(e, t) {for (var n = e.length, r = sn(t.length, n), i = bi(e); r--;) {var a = t[r];e[r] = ua(a, n) ? i[a] : void 0;}return e;}function ba(e, t) {if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t];}var ya = Ta(Ur),_a = Xt || function (e, t) {return He.setTimeout(e, t);},xa = Ta(Vr);function Sa(e, t, n) {var r = t + "";return xa(e, function (e, t) {var n = t.length;if (!n) return e;var r = n - 1;return t[r] = (n > 1 ? "& " : "") + t[r], t = t.join(n > 2 ? ", " : " "), e.replace($, "{\n/* [wrapped with " + t + "] */\n");}(r, function (e, t) {return ut(u, function (n) {var r = "_." + n[0];t & n[1] && !ft(e, r) && e.push(r);}), e.sort();}(function (e) {var t = e.match(Q);return t ? t[1].split(X) : [];}(r), n)));}function Ta(e) {var t = 0,n = 0;return function () {var r = ln(),i = 16 - (r - n);if (n = r, i > 0) {if (++t >= 800) return arguments[0];} else t = 0;return e.apply(void 0, arguments);};}function wa(e, t) {var n = -1,r = e.length,i = r - 1;for (t = void 0 === t ? r : t; ++n < t;) {var a = Dr(n, i),o = e[a];e[a] = e[n], e[n] = o;}return e.length = t, e;}var Ea = function (e) {var t = wo(e, function (e) {return 500 === n.size && n.clear(), e;}),n = t.cache;return t;}(function (e) {var t = [];return 46 === e.charCodeAt(0) && t.push(""), e.replace(W, function (e, n, r, i) {t.push(r ? i.replace(te, "$1") : n || e);}), t;});function Ca(e) {if ("string" == typeof e || Xo(e)) return e;var t = e + "";return "0" == t && 1 / e == -1 / 0 ? "-0" : t;}function ka(e) {if (null != e) {try {return Se.call(e);} catch (e) {}try {return e + "";} catch (e) {}}return "";}function Pa(e) {if (e instanceof Nn) return e.clone();var t = new In(e.__wrapped__, e.__chain__);return t.__actions__ = bi(e.__actions__), t.__index__ = e.__index__, t.__values__ = e.__values__, t;}var Ra = Br(function (e, t) {return Do(e) ? er(e, or(t, 1, Do, !0)) : [];}),Oa = Br(function (e, t) {var n = Ba(t);return Do(n) && (n = void 0), Do(e) ? er(e, or(t, 1, Do, !0), Qi(n, 2)) : [];}),Aa = Br(function (e, t) {var n = Ba(t);return Do(n) && (n = void 0), Do(e) ? er(e, or(t, 1, Do, !0), void 0, n) : [];});function Ia(e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = null == n ? 0 : iu(n);return i < 0 && (i = un(r + i, 0)), _t(e, Qi(t, 3), i);}function Na(e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = r - 1;return void 0 !== n && (i = iu(n), i = n < 0 ? un(r + i, 0) : sn(i, r - 1)), _t(e, Qi(t, 3), i, !0);}function qa(e) {return (null == e ? 0 : e.length) ? or(e, 1) : [];}function La(e) {return e && e.length ? e[0] : void 0;}var za = Br(function (e) {var t = pt(e, oi);return t.length && t[0] === e[0] ? br(t) : [];}),Da = Br(function (e) {var t = Ba(e),n = pt(e, oi);return t === Ba(n) ? t = void 0 : n.pop(), n.length && n[0] === e[0] ? br(n, Qi(t, 2)) : [];}),ja = Br(function (e) {var t = Ba(e),n = pt(e, oi);return (t = "function" == typeof t ? t : void 0) && n.pop(), n.length && n[0] === e[0] ? br(n, void 0, t) : [];});function Ba(e) {var t = null == e ? 0 : e.length;return t ? e[t - 1] : void 0;}var Ma = Br(Fa);function Fa(e, t) {return e && e.length && t && t.length ? Lr(e, t) : e;}var Za = Wi(function (e, t) {var n = null == e ? 0 : e.length,r = Yn(e, t);return zr(e, pt(t, function (e) {return ua(e, n) ? +e : e;}).sort(gi)), r;});function Ua(e) {return null == e ? e : dn.call(e);}var Va = Br(function (e) {return Jr(or(e, 1, Do, !0));}),Wa = Br(function (e) {var t = Ba(e);return Do(t) && (t = void 0), Jr(or(e, 1, Do, !0), Qi(t, 2));}),Ga = Br(function (e) {var t = Ba(e);return t = "function" == typeof t ? t : void 0, Jr(or(e, 1, Do, !0), void 0, t);});function Ha(e) {if (!e || !e.length) return [];var t = 0;return e = ct(e, function (e) {if (Do(e)) return t = un(e.length, t), !0;}), Rt(t, function (t) {return pt(e, Et(t));});}function Ka(e, t) {if (!e || !e.length) return [];var n = Ha(e);return null == t ? n : pt(n, function (e) {return at(t, void 0, e);});}var Ya = Br(function (e, t) {return Do(e) ? er(e, t) : [];}),$a = Br(function (e) {return ii(ct(e, Do));}),Qa = Br(function (e) {var t = Ba(e);return Do(t) && (t = void 0), ii(ct(e, Do), Qi(t, 2));}),Xa = Br(function (e) {var t = Ba(e);return t = "function" == typeof t ? t : void 0, ii(ct(e, Do), void 0, t);}),Ja = Br(Ha);var eo = Br(function (e) {var t = e.length,n = t > 1 ? e[t - 1] : void 0;return n = "function" == typeof n ? (e.pop(), n) : void 0, Ka(e, n);});function to(e) {var t = Rn(e);return t.__chain__ = !0, t;}function no(e, t) {return t(e);}var ro = Wi(function (e) {var t = e.length,n = t ? e[0] : 0,r = this.__wrapped__,i = function (t) {return Yn(t, e);};return !(t > 1 || this.__actions__.length) && r instanceof Nn && ua(n) ? ((r = r.slice(n, +n + (t ? 1 : 0))).__actions__.push({ func: no, args: [i], thisArg: void 0 }), new In(r, this.__chain__).thru(function (e) {return t && !e.length && e.push(void 0), e;})) : this.thru(i);});var io = _i(function (e, t, n) {Te.call(e, n) ? ++e[n] : Kn(e, n, 1);});var ao = ki(Ia),oo = ki(Na);function uo(e, t) {return (qo(e) ? ut : tr)(e, Qi(t, 3));}function so(e, t) {return (qo(e) ? st : nr)(e, Qi(t, 3));}var lo = _i(function (e, t, n) {Te.call(e, n) ? e[n].push(t) : Kn(e, n, [t]);});var co = Br(function (e, t, n) {var i = -1,a = "function" == typeof t,o = zo(e) ? r(e.length) : [];return tr(e, function (e) {o[++i] = a ? at(t, e, n) : yr(e, t, n);}), o;}),fo = _i(function (e, t, n) {Kn(e, n, t);});function po(e, t) {return (qo(e) ? pt : Pr)(e, Qi(t, 3));}var ho = _i(function (e, t, n) {e[n ? 0 : 1].push(t);}, function () {return [[], []];});var go = Br(function (e, t) {if (null == e) return [];var n = t.length;return n > 1 && sa(e, t[0], t[1]) ? t = [] : n > 2 && sa(t[0], t[1], t[2]) && (t = [t[0]]), Nr(e, or(t, 1), []);}),mo = Qt || function () {return He.Date.now();};function vo(e, t, n) {return t = n ? void 0 : t, Mi(e, 128, void 0, void 0, void 0, void 0, t = e && null == t ? e.length : t);}function bo(e, t) {var n;if ("function" != typeof t) throw new ve(a);return e = iu(e), function () {return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = void 0), n;};}var yo = Br(function (e, t, n) {var r = 1;if (n.length) {var i = Ut(n, $i(yo));r |= 32;}return Mi(e, r, t, n, i);}),_o = Br(function (e, t, n) {var r = 3;if (n.length) {var i = Ut(n, $i(_o));r |= 32;}return Mi(t, r, e, n, i);});function xo(e, t, n) {var r,i,o,u,s,l,c = 0,f = !1,d = !1,p = !0;if ("function" != typeof e) throw new ve(a);function h(t) {var n = r,a = i;return r = i = void 0, c = t, u = e.apply(a, n);}function g(e) {return c = e, s = _a(v, t), f ? h(e) : u;}function m(e) {var n = e - l;return void 0 === l || n >= t || n < 0 || d && e - c >= o;}function v() {var e = mo();if (m(e)) return b(e);s = _a(v, function (e) {var n = t - (e - l);return d ? sn(n, o - (e - c)) : n;}(e));}function b(e) {return s = void 0, p && r ? h(e) : (r = i = void 0, u);}function y() {var e = mo(),n = m(e);if (r = arguments, i = this, l = e, n) {if (void 0 === s) return g(l);if (d) return fi(s), s = _a(v, t), h(l);}return void 0 === s && (s = _a(v, t)), u;}return t = ou(t) || 0, Vo(n) && (f = !!n.leading, o = (d = "maxWait" in n) ? un(ou(n.maxWait) || 0, t) : o, p = "trailing" in n ? !!n.trailing : p), y.cancel = function () {void 0 !== s && fi(s), c = 0, r = l = i = s = void 0;}, y.flush = function () {return void 0 === s ? u : b(mo());}, y;}var So = Br(function (e, t) {return Jn(e, 1, t);}),To = Br(function (e, t, n) {return Jn(e, ou(t) || 0, n);});function wo(e, t) {if ("function" != typeof e || null != t && "function" != typeof t) throw new ve(a);var n = function () {var r = arguments,i = t ? t.apply(this, r) : r[0],a = n.cache;if (a.has(i)) return a.get(i);var o = e.apply(this, r);return n.cache = a.set(i, o) || a, o;};return n.cache = new (wo.Cache || zn)(), n;}function Eo(e) {if ("function" != typeof e) throw new ve(a);return function () {var t = arguments;switch (t.length) {case 0:return !e.call(this);case 1:return !e.call(this, t[0]);case 2:return !e.call(this, t[0], t[1]);case 3:return !e.call(this, t[0], t[1], t[2]);}return !e.apply(this, t);};}wo.Cache = zn;var Co = li(function (e, t) {var n = (t = 1 == t.length && qo(t[0]) ? pt(t[0], At(Qi())) : pt(or(t, 1), At(Qi()))).length;return Br(function (r) {for (var i = -1, a = sn(r.length, n); ++i < a;) r[i] = t[i].call(this, r[i]);return at(e, this, r);});}),ko = Br(function (e, t) {return Mi(e, 32, void 0, t, Ut(t, $i(ko)));}),Po = Br(function (e, t) {return Mi(e, 64, void 0, t, Ut(t, $i(Po)));}),Ro = Wi(function (e, t) {return Mi(e, 256, void 0, void 0, void 0, t);});function Oo(e, t) {return e === t || e != e && t != t;}var Ao = Li(gr),Io = Li(function (e, t) {return e >= t;}),No = _r(function () {return arguments;}()) ? _r : function (e) {return Wo(e) && Te.call(e, "callee") && !Ge.call(e, "callee");},qo = r.isArray,Lo = Je ? At(Je) : function (e) {return Wo(e) && hr(e) == T;};function zo(e) {return null != e && Uo(e.length) && !Fo(e);}function Do(e) {return Wo(e) && zo(e);}var jo = nn || os,Bo = et ? At(et) : function (e) {return Wo(e) && hr(e) == f;};function Mo(e) {if (!Wo(e)) return !1;var t = hr(e);return t == d || "[object DOMException]" == t || "string" == typeof e.message && "string" == typeof e.name && !Ko(e);}function Fo(e) {if (!Vo(e)) return !1;var t = hr(e);return t == p || t == h || "[object AsyncFunction]" == t || "[object Proxy]" == t;}function Zo(e) {return "number" == typeof e && e == iu(e);}function Uo(e) {return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991;}function Vo(e) {var t = typeof e;return null != e && ("object" == t || "function" == t);}function Wo(e) {return null != e && "object" == typeof e;}var Go = tt ? At(tt) : function (e) {return Wo(e) && ra(e) == g;};function Ho(e) {return "number" == typeof e || Wo(e) && hr(e) == m;}function Ko(e) {if (!Wo(e) || hr(e) != v) return !1;var t = Ze(e);if (null === t) return !0;var n = Te.call(t, "constructor") && t.constructor;return "function" == typeof n && n instanceof n && Se.call(n) == ke;}var Yo = nt ? At(nt) : function (e) {return Wo(e) && hr(e) == b;};var $o = rt ? At(rt) : function (e) {return Wo(e) && ra(e) == y;};function Qo(e) {return "string" == typeof e || !qo(e) && Wo(e) && hr(e) == _;}function Xo(e) {return "symbol" == typeof e || Wo(e) && hr(e) == x;}var Jo = it ? At(it) : function (e) {return Wo(e) && Uo(e.length) && !!Me[hr(e)];};var eu = Li(kr),tu = Li(function (e, t) {return e <= t;});function nu(e) {if (!e) return [];if (zo(e)) return Qo(e) ? Ht(e) : bi(e);if (Qe && e[Qe]) return function (e) {for (var t, n = []; !(t = e.next()).done;) n.push(t.value);return n;}(e[Qe]());var t = ra(e);return (t == g ? Ft : t == y ? Vt : Ou)(e);}function ru(e) {return e ? (e = ou(e)) === 1 / 0 || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0 : 0 === e ? e : 0;}function iu(e) {var t = ru(e),n = t % 1;return t == t ? n ? t - n : t : 0;}function au(e) {return e ? $n(iu(e), 0, 4294967295) : 0;}function ou(e) {if ("number" == typeof e) return e;if (Xo(e)) return NaN;if (Vo(e)) {var t = "function" == typeof e.valueOf ? e.valueOf() : e;e = Vo(t) ? t + "" : t;}if ("string" != typeof e) return 0 === e ? e : +e;e = Ot(e);var n = ae.test(e);return n || ue.test(e) ? Ve(e.slice(2), n ? 2 : 8) : ie.test(e) ? NaN : +e;}function uu(e) {return yi(e, Su(e));}function su(e) {return null == e ? "" : Xr(e);}var lu = xi(function (e, t) {if (da(t) || zo(t)) yi(t, xu(t), e);else for (var n in t) Te.call(t, n) && Vn(e, n, t[n]);}),cu = xi(function (e, t) {yi(t, Su(t), e);}),fu = xi(function (e, t, n, r) {yi(t, Su(t), e, r);}),du = xi(function (e, t, n, r) {yi(t, xu(t), e, r);}),pu = Wi(Yn);var hu = Br(function (e, t) {e = he(e);var n = -1,r = t.length,i = r > 2 ? t[2] : void 0;for (i && sa(t[0], t[1], i) && (r = 1); ++n < r;) for (var a = t[n], o = Su(a), u = -1, s = o.length; ++u < s;) {var l = o[u],c = e[l];(void 0 === c || Oo(c, _e[l]) && !Te.call(e, l)) && (e[l] = a[l]);}return e;}),gu = Br(function (e) {return e.push(void 0, Zi), at(wu, void 0, e);});function mu(e, t, n) {var r = null == e ? void 0 : dr(e, t);return void 0 === r ? n : r;}function vu(e, t) {return null != e && ia(e, t, vr);}var bu = Oi(function (e, t, n) {null != t && "function" != typeof t.toString && (t = Ce.call(t)), e[t] = n;}, Vu(Hu)),yu = Oi(function (e, t, n) {null != t && "function" != typeof t.toString && (t = Ce.call(t)), Te.call(e, t) ? e[t].push(n) : e[t] = [n];}, Qi),_u = Br(yr);function xu(e) {return zo(e) ? Bn(e) : Er(e);}function Su(e) {return zo(e) ? Bn(e, !0) : Cr(e);}var Tu = xi(function (e, t, n) {Ar(e, t, n);}),wu = xi(function (e, t, n, r) {Ar(e, t, n, r);}),Eu = Wi(function (e, t) {var n = {};if (null == e) return n;var r = !1;t = pt(t, function (t) {return t = si(t, e), r || (r = t.length > 1), t;}), yi(e, Hi(e), n), r && (n = Qn(n, 7, Ui));for (var i = t.length; i--;) ei(n, t[i]);return n;});var Cu = Wi(function (e, t) {return null == e ? {} : function (e, t) {return qr(e, t, function (t, n) {return vu(e, n);});}(e, t);});function ku(e, t) {if (null == e) return {};var n = pt(Hi(e), function (e) {return [e];});return t = Qi(t), qr(e, n, function (e, n) {return t(e, n[0]);});}var Pu = Bi(xu),Ru = Bi(Su);function Ou(e) {return null == e ? [] : It(e, xu(e));}var Au = Ei(function (e, t, n) {return t = t.toLowerCase(), e + (n ? Iu(t) : t);});function Iu(e) {return Mu(su(e).toLowerCase());}function Nu(e) {return (e = su(e)) && e.replace(le, Dt).replace(Ne, "");}var qu = Ei(function (e, t, n) {return e + (n ? "-" : "") + t.toLowerCase();}),Lu = Ei(function (e, t, n) {return e + (n ? " " : "") + t.toLowerCase();}),zu = wi("toLowerCase");var Du = Ei(function (e, t, n) {return e + (n ? "_" : "") + t.toLowerCase();});var ju = Ei(function (e, t, n) {return e + (n ? " " : "") + Mu(t);});var Bu = Ei(function (e, t, n) {return e + (n ? " " : "") + t.toUpperCase();}),Mu = wi("toUpperCase");function Fu(e, t, n) {return e = su(e), void 0 === (t = n ? void 0 : t) ? function (e) {return De.test(e);}(e) ? function (e) {return e.match(Le) || [];}(e) : function (e) {return e.match(J) || [];}(e) : e.match(t) || [];}var Zu = Br(function (e, t) {try {return at(e, void 0, t);} catch (e) {return Mo(e) ? e : new Y(e);}}),Uu = Wi(function (e, t) {return ut(t, function (t) {t = Ca(t), Kn(e, t, yo(e[t], e));}), e;});function Vu(e) {return function () {return e;};}var Wu = Pi(),Gu = Pi(!0);function Hu(e) {return e;}function Ku(e) {return wr("function" == typeof e ? e : Qn(e, 1));}var Yu = Br(function (e, t) {return function (n) {return yr(n, e, t);};}),$u = Br(function (e, t) {return function (n) {return yr(e, n, t);};});function Qu(e, t, n) {var r = xu(t),i = fr(t, r);null != n || Vo(t) && (i.length || !r.length) || (n = t, t = e, e = this, i = fr(t, xu(t)));var a = !(Vo(n) && "chain" in n && !n.chain),o = Fo(e);return ut(i, function (n) {var r = t[n];e[n] = r, o && (e.prototype[n] = function () {var t = this.__chain__;if (a || t) {var n = e(this.__wrapped__),i = n.__actions__ = bi(this.__actions__);return i.push({ func: r, args: arguments, thisArg: e }), n.__chain__ = t, n;}return r.apply(e, ht([this.value()], arguments));});}), e;}function Xu() {}var Ju = Ii(pt),es = Ii(lt),ts = Ii(vt);function ns(e) {return la(e) ? Et(Ca(e)) : function (e) {return function (t) {return dr(t, e);};}(e);}var rs = qi(),is = qi(!0);function as() {return [];}function os() {return !1;}var us = Ai(function (e, t) {return e + t;}, 0),ss = Di("ceil"),ls = Ai(function (e, t) {return e / t;}, 1),cs = Di("floor");var fs,ds = Ai(function (e, t) {return e * t;}, 1),ps = Di("round"),hs = Ai(function (e, t) {return e - t;}, 0);return Rn.after = function (e, t) {if ("function" != typeof t) throw new ve(a);return e = iu(e), function () {if (--e < 1) return t.apply(this, arguments);};}, Rn.ary = vo, Rn.assign = lu, Rn.assignIn = cu, Rn.assignInWith = fu, Rn.assignWith = du, Rn.at = pu, Rn.before = bo, Rn.bind = yo, Rn.bindAll = Uu, Rn.bindKey = _o, Rn.castArray = function () {if (!arguments.length) return [];var e = arguments[0];return qo(e) ? e : [e];}, Rn.chain = to, Rn.chunk = function (e, t, n) {t = (n ? sa(e, t, n) : void 0 === t) ? 1 : un(iu(t), 0);var i = null == e ? 0 : e.length;if (!i || t < 1) return [];for (var a = 0, o = 0, u = r(Jt(i / t)); a < i;) u[o++] = Gr(e, a, a += t);return u;}, Rn.compact = function (e) {for (var t = -1, n = null == e ? 0 : e.length, r = 0, i = []; ++t < n;) {var a = e[t];a && (i[r++] = a);}return i;}, Rn.concat = function () {var e = arguments.length;if (!e) return [];for (var t = r(e - 1), n = arguments[0], i = e; i--;) t[i - 1] = arguments[i];return ht(qo(n) ? bi(n) : [n], or(t, 1));}, Rn.cond = function (e) {var t = null == e ? 0 : e.length,n = Qi();return e = t ? pt(e, function (e) {if ("function" != typeof e[1]) throw new ve(a);return [n(e[0]), e[1]];}) : [], Br(function (n) {for (var r = -1; ++r < t;) {var i = e[r];if (at(i[0], this, n)) return at(i[1], this, n);}});}, Rn.conforms = function (e) {return function (e) {var t = xu(e);return function (n) {return Xn(n, e, t);};}(Qn(e, 1));}, Rn.constant = Vu, Rn.countBy = io, Rn.create = function (e, t) {var n = On(e);return null == t ? n : Hn(n, t);}, Rn.curry = function e(t, n, r) {var i = Mi(t, 8, void 0, void 0, void 0, void 0, void 0, n = r ? void 0 : n);return i.placeholder = e.placeholder, i;}, Rn.curryRight = function e(t, n, r) {var i = Mi(t, 16, void 0, void 0, void 0, void 0, void 0, n = r ? void 0 : n);return i.placeholder = e.placeholder, i;}, Rn.debounce = xo, Rn.defaults = hu, Rn.defaultsDeep = gu, Rn.defer = So, Rn.delay = To, Rn.difference = Ra, Rn.differenceBy = Oa, Rn.differenceWith = Aa, Rn.drop = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? Gr(e, (t = n || void 0 === t ? 1 : iu(t)) < 0 ? 0 : t, r) : [];}, Rn.dropRight = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? Gr(e, 0, (t = r - (t = n || void 0 === t ? 1 : iu(t))) < 0 ? 0 : t) : [];}, Rn.dropRightWhile = function (e, t) {return e && e.length ? ni(e, Qi(t, 3), !0, !0) : [];}, Rn.dropWhile = function (e, t) {return e && e.length ? ni(e, Qi(t, 3), !0) : [];}, Rn.fill = function (e, t, n, r) {var i = null == e ? 0 : e.length;return i ? (n && "number" != typeof n && sa(e, t, n) && (n = 0, r = i), function (e, t, n, r) {var i = e.length;for ((n = iu(n)) < 0 && (n = -n > i ? 0 : i + n), (r = void 0 === r || r > i ? i : iu(r)) < 0 && (r += i), r = n > r ? 0 : au(r); n < r;) e[n++] = t;return e;}(e, t, n, r)) : [];}, Rn.filter = function (e, t) {return (qo(e) ? ct : ar)(e, Qi(t, 3));}, Rn.flatMap = function (e, t) {return or(po(e, t), 1);}, Rn.flatMapDeep = function (e, t) {return or(po(e, t), 1 / 0);}, Rn.flatMapDepth = function (e, t, n) {return n = void 0 === n ? 1 : iu(n), or(po(e, t), n);}, Rn.flatten = qa, Rn.flattenDeep = function (e) {return (null == e ? 0 : e.length) ? or(e, 1 / 0) : [];}, Rn.flattenDepth = function (e, t) {return (null == e ? 0 : e.length) ? or(e, t = void 0 === t ? 1 : iu(t)) : [];}, Rn.flip = function (e) {return Mi(e, 512);}, Rn.flow = Wu, Rn.flowRight = Gu, Rn.fromPairs = function (e) {for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n;) {var i = e[t];r[i[0]] = i[1];}return r;}, Rn.functions = function (e) {return null == e ? [] : fr(e, xu(e));}, Rn.functionsIn = function (e) {return null == e ? [] : fr(e, Su(e));}, Rn.groupBy = lo, Rn.initial = function (e) {return (null == e ? 0 : e.length) ? Gr(e, 0, -1) : [];}, Rn.intersection = za, Rn.intersectionBy = Da, Rn.intersectionWith = ja, Rn.invert = bu, Rn.invertBy = yu, Rn.invokeMap = co, Rn.iteratee = Ku, Rn.keyBy = fo, Rn.keys = xu, Rn.keysIn = Su, Rn.map = po, Rn.mapKeys = function (e, t) {var n = {};return t = Qi(t, 3), lr(e, function (e, r, i) {Kn(n, t(e, r, i), e);}), n;}, Rn.mapValues = function (e, t) {var n = {};return t = Qi(t, 3), lr(e, function (e, r, i) {Kn(n, r, t(e, r, i));}), n;}, Rn.matches = function (e) {return Rr(Qn(e, 1));}, Rn.matchesProperty = function (e, t) {return Or(e, Qn(t, 1));}, Rn.memoize = wo, Rn.merge = Tu, Rn.mergeWith = wu, Rn.method = Yu, Rn.methodOf = $u, Rn.mixin = Qu, Rn.negate = Eo, Rn.nthArg = function (e) {return e = iu(e), Br(function (t) {return Ir(t, e);});}, Rn.omit = Eu, Rn.omitBy = function (e, t) {return ku(e, Eo(Qi(t)));}, Rn.once = function (e) {return bo(2, e);}, Rn.orderBy = function (e, t, n, r) {return null == e ? [] : (qo(t) || (t = null == t ? [] : [t]), qo(n = r ? void 0 : n) || (n = null == n ? [] : [n]), Nr(e, t, n));}, Rn.over = Ju, Rn.overArgs = Co, Rn.overEvery = es, Rn.overSome = ts, Rn.partial = ko, Rn.partialRight = Po, Rn.partition = ho, Rn.pick = Cu, Rn.pickBy = ku, Rn.property = ns, Rn.propertyOf = function (e) {return function (t) {return null == e ? void 0 : dr(e, t);};}, Rn.pull = Ma, Rn.pullAll = Fa, Rn.pullAllBy = function (e, t, n) {return e && e.length && t && t.length ? Lr(e, t, Qi(n, 2)) : e;}, Rn.pullAllWith = function (e, t, n) {return e && e.length && t && t.length ? Lr(e, t, void 0, n) : e;}, Rn.pullAt = Za, Rn.range = rs, Rn.rangeRight = is, Rn.rearg = Ro, Rn.reject = function (e, t) {return (qo(e) ? ct : ar)(e, Eo(Qi(t, 3)));}, Rn.remove = function (e, t) {var n = [];if (!e || !e.length) return n;var r = -1,i = [],a = e.length;for (t = Qi(t, 3); ++r < a;) {var o = e[r];t(o, r, e) && (n.push(o), i.push(r));}return zr(e, i), n;}, Rn.rest = function (e, t) {if ("function" != typeof e) throw new ve(a);return Br(e, t = void 0 === t ? t : iu(t));}, Rn.reverse = Ua, Rn.sampleSize = function (e, t, n) {return t = (n ? sa(e, t, n) : void 0 === t) ? 1 : iu(t), (qo(e) ? Fn : Fr)(e, t);}, Rn.set = function (e, t, n) {return null == e ? e : Zr(e, t, n);}, Rn.setWith = function (e, t, n, r) {return r = "function" == typeof r ? r : void 0, null == e ? e : Zr(e, t, n, r);}, Rn.shuffle = function (e) {return (qo(e) ? Zn : Wr)(e);}, Rn.slice = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? (n && "number" != typeof n && sa(e, t, n) ? (t = 0, n = r) : (t = null == t ? 0 : iu(t), n = void 0 === n ? r : iu(n)), Gr(e, t, n)) : [];}, Rn.sortBy = go, Rn.sortedUniq = function (e) {return e && e.length ? $r(e) : [];}, Rn.sortedUniqBy = function (e, t) {return e && e.length ? $r(e, Qi(t, 2)) : [];}, Rn.split = function (e, t, n) {return n && "number" != typeof n && sa(e, t, n) && (t = n = void 0), (n = void 0 === n ? 4294967295 : n >>> 0) ? (e = su(e)) && ("string" == typeof t || null != t && !Yo(t)) && !(t = Xr(t)) && Mt(e) ? ci(Ht(e), 0, n) : e.split(t, n) : [];}, Rn.spread = function (e, t) {if ("function" != typeof e) throw new ve(a);return t = null == t ? 0 : un(iu(t), 0), Br(function (n) {var r = n[t],i = ci(n, 0, t);return r && ht(i, r), at(e, this, i);});}, Rn.tail = function (e) {var t = null == e ? 0 : e.length;return t ? Gr(e, 1, t) : [];}, Rn.take = function (e, t, n) {return e && e.length ? Gr(e, 0, (t = n || void 0 === t ? 1 : iu(t)) < 0 ? 0 : t) : [];}, Rn.takeRight = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? Gr(e, (t = r - (t = n || void 0 === t ? 1 : iu(t))) < 0 ? 0 : t, r) : [];}, Rn.takeRightWhile = function (e, t) {return e && e.length ? ni(e, Qi(t, 3), !1, !0) : [];}, Rn.takeWhile = function (e, t) {return e && e.length ? ni(e, Qi(t, 3)) : [];}, Rn.tap = function (e, t) {return t(e), e;}, Rn.throttle = function (e, t, n) {var r = !0,i = !0;if ("function" != typeof e) throw new ve(a);return Vo(n) && (r = "leading" in n ? !!n.leading : r, i = "trailing" in n ? !!n.trailing : i), xo(e, t, { leading: r, maxWait: t, trailing: i });}, Rn.thru = no, Rn.toArray = nu, Rn.toPairs = Pu, Rn.toPairsIn = Ru, Rn.toPath = function (e) {return qo(e) ? pt(e, Ca) : Xo(e) ? [e] : bi(Ea(su(e)));}, Rn.toPlainObject = uu, Rn.transform = function (e, t, n) {var r = qo(e),i = r || jo(e) || Jo(e);if (t = Qi(t, 4), null == n) {var a = e && e.constructor;n = i ? r ? new a() : [] : Vo(e) && Fo(a) ? On(Ze(e)) : {};}return (i ? ut : lr)(e, function (e, r, i) {return t(n, e, r, i);}), n;}, Rn.unary = function (e) {return vo(e, 1);}, Rn.union = Va, Rn.unionBy = Wa, Rn.unionWith = Ga, Rn.uniq = function (e) {return e && e.length ? Jr(e) : [];}, Rn.uniqBy = function (e, t) {return e && e.length ? Jr(e, Qi(t, 2)) : [];}, Rn.uniqWith = function (e, t) {return t = "function" == typeof t ? t : void 0, e && e.length ? Jr(e, void 0, t) : [];}, Rn.unset = function (e, t) {return null == e || ei(e, t);}, Rn.unzip = Ha, Rn.unzipWith = Ka, Rn.update = function (e, t, n) {return null == e ? e : ti(e, t, ui(n));}, Rn.updateWith = function (e, t, n, r) {return r = "function" == typeof r ? r : void 0, null == e ? e : ti(e, t, ui(n), r);}, Rn.values = Ou, Rn.valuesIn = function (e) {return null == e ? [] : It(e, Su(e));}, Rn.without = Ya, Rn.words = Fu, Rn.wrap = function (e, t) {return ko(ui(t), e);}, Rn.xor = $a, Rn.xorBy = Qa, Rn.xorWith = Xa, Rn.zip = Ja, Rn.zipObject = function (e, t) {return ai(e || [], t || [], Vn);}, Rn.zipObjectDeep = function (e, t) {return ai(e || [], t || [], Zr);}, Rn.zipWith = eo, Rn.entries = Pu, Rn.entriesIn = Ru, Rn.extend = cu, Rn.extendWith = fu, Qu(Rn, Rn), Rn.add = us, Rn.attempt = Zu, Rn.camelCase = Au, Rn.capitalize = Iu, Rn.ceil = ss, Rn.clamp = function (e, t, n) {return void 0 === n && (n = t, t = void 0), void 0 !== n && (n = (n = ou(n)) == n ? n : 0), void 0 !== t && (t = (t = ou(t)) == t ? t : 0), $n(ou(e), t, n);}, Rn.clone = function (e) {return Qn(e, 4);}, Rn.cloneDeep = function (e) {return Qn(e, 5);}, Rn.cloneDeepWith = function (e, t) {return Qn(e, 5, t = "function" == typeof t ? t : void 0);}, Rn.cloneWith = function (e, t) {return Qn(e, 4, t = "function" == typeof t ? t : void 0);}, Rn.conformsTo = function (e, t) {return null == t || Xn(e, t, xu(t));}, Rn.deburr = Nu, Rn.defaultTo = function (e, t) {return null == e || e != e ? t : e;}, Rn.divide = ls, Rn.endsWith = function (e, t, n) {e = su(e), t = Xr(t);var r = e.length,i = n = void 0 === n ? r : $n(iu(n), 0, r);return (n -= t.length) >= 0 && e.slice(n, i) == t;}, Rn.eq = Oo, Rn.escape = function (e) {return (e = su(e)) && B.test(e) ? e.replace(D, jt) : e;}, Rn.escapeRegExp = function (e) {return (e = su(e)) && H.test(e) ? e.replace(G, "\\$&") : e;}, Rn.every = function (e, t, n) {var r = qo(e) ? lt : rr;return n && sa(e, t, n) && (t = void 0), r(e, Qi(t, 3));}, Rn.find = ao, Rn.findIndex = Ia, Rn.findKey = function (e, t) {return yt(e, Qi(t, 3), lr);}, Rn.findLast = oo, Rn.findLastIndex = Na, Rn.findLastKey = function (e, t) {return yt(e, Qi(t, 3), cr);}, Rn.floor = cs, Rn.forEach = uo, Rn.forEachRight = so, Rn.forIn = function (e, t) {return null == e ? e : ur(e, Qi(t, 3), Su);}, Rn.forInRight = function (e, t) {return null == e ? e : sr(e, Qi(t, 3), Su);}, Rn.forOwn = function (e, t) {return e && lr(e, Qi(t, 3));}, Rn.forOwnRight = function (e, t) {return e && cr(e, Qi(t, 3));}, Rn.get = mu, Rn.gt = Ao, Rn.gte = Io, Rn.has = function (e, t) {return null != e && ia(e, t, mr);}, Rn.hasIn = vu, Rn.head = La, Rn.identity = Hu, Rn.includes = function (e, t, n, r) {e = zo(e) ? e : Ou(e), n = n && !r ? iu(n) : 0;var i = e.length;return n < 0 && (n = un(i + n, 0)), Qo(e) ? n <= i && e.indexOf(t, n) > -1 : !!i && xt(e, t, n) > -1;}, Rn.indexOf = function (e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = null == n ? 0 : iu(n);return i < 0 && (i = un(r + i, 0)), xt(e, t, i);}, Rn.inRange = function (e, t, n) {return t = ru(t), void 0 === n ? (n = t, t = 0) : n = ru(n), function (e, t, n) {return e >= sn(t, n) && e < un(t, n);}(e = ou(e), t, n);}, Rn.invoke = _u, Rn.isArguments = No, Rn.isArray = qo, Rn.isArrayBuffer = Lo, Rn.isArrayLike = zo, Rn.isArrayLikeObject = Do, Rn.isBoolean = function (e) {return !0 === e || !1 === e || Wo(e) && hr(e) == c;}, Rn.isBuffer = jo, Rn.isDate = Bo, Rn.isElement = function (e) {return Wo(e) && 1 === e.nodeType && !Ko(e);}, Rn.isEmpty = function (e) {if (null == e) return !0;if (zo(e) && (qo(e) || "string" == typeof e || "function" == typeof e.splice || jo(e) || Jo(e) || No(e))) return !e.length;var t = ra(e);if (t == g || t == y) return !e.size;if (da(e)) return !Er(e).length;for (var n in e) if (Te.call(e, n)) return !1;return !0;}, Rn.isEqual = function (e, t) {return xr(e, t);}, Rn.isEqualWith = function (e, t, n) {var r = (n = "function" == typeof n ? n : void 0) ? n(e, t) : void 0;return void 0 === r ? xr(e, t, void 0, n) : !!r;}, Rn.isError = Mo, Rn.isFinite = function (e) {return "number" == typeof e && rn(e);}, Rn.isFunction = Fo, Rn.isInteger = Zo, Rn.isLength = Uo, Rn.isMap = Go, Rn.isMatch = function (e, t) {return e === t || Sr(e, t, Ji(t));}, Rn.isMatchWith = function (e, t, n) {return n = "function" == typeof n ? n : void 0, Sr(e, t, Ji(t), n);}, Rn.isNaN = function (e) {return Ho(e) && e != +e;}, Rn.isNative = function (e) {if (fa(e)) throw new Y("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Tr(e);}, Rn.isNil = function (e) {return null == e;}, Rn.isNull = function (e) {return null === e;}, Rn.isNumber = Ho, Rn.isObject = Vo, Rn.isObjectLike = Wo, Rn.isPlainObject = Ko, Rn.isRegExp = Yo, Rn.isSafeInteger = function (e) {return Zo(e) && e >= -9007199254740991 && e <= 9007199254740991;}, Rn.isSet = $o, Rn.isString = Qo, Rn.isSymbol = Xo, Rn.isTypedArray = Jo, Rn.isUndefined = function (e) {return void 0 === e;}, Rn.isWeakMap = function (e) {return Wo(e) && ra(e) == S;}, Rn.isWeakSet = function (e) {return Wo(e) && "[object WeakSet]" == hr(e);}, Rn.join = function (e, t) {return null == e ? "" : an.call(e, t);}, Rn.kebabCase = qu, Rn.last = Ba, Rn.lastIndexOf = function (e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = r;return void 0 !== n && (i = (i = iu(n)) < 0 ? un(r + i, 0) : sn(i, r - 1)), t == t ? function (e, t, n) {for (var r = n + 1; r--;) if (e[r] === t) return r;return r;}(e, t, i) : _t(e, Tt, i, !0);}, Rn.lowerCase = Lu, Rn.lowerFirst = zu, Rn.lt = eu, Rn.lte = tu, Rn.max = function (e) {return e && e.length ? ir(e, Hu, gr) : void 0;}, Rn.maxBy = function (e, t) {return e && e.length ? ir(e, Qi(t, 2), gr) : void 0;}, Rn.mean = function (e) {return wt(e, Hu);}, Rn.meanBy = function (e, t) {return wt(e, Qi(t, 2));}, Rn.min = function (e) {return e && e.length ? ir(e, Hu, kr) : void 0;}, Rn.minBy = function (e, t) {return e && e.length ? ir(e, Qi(t, 2), kr) : void 0;}, Rn.stubArray = as, Rn.stubFalse = os, Rn.stubObject = function () {return {};}, Rn.stubString = function () {return "";}, Rn.stubTrue = function () {return !0;}, Rn.multiply = ds, Rn.nth = function (e, t) {return e && e.length ? Ir(e, iu(t)) : void 0;}, Rn.noConflict = function () {return He._ === this && (He._ = Pe), this;}, Rn.noop = Xu, Rn.now = mo, Rn.pad = function (e, t, n) {e = su(e);var r = (t = iu(t)) ? Gt(e) : 0;if (!t || r >= t) return e;var i = (t - r) / 2;return Ni(en(i), n) + e + Ni(Jt(i), n);}, Rn.padEnd = function (e, t, n) {e = su(e);var r = (t = iu(t)) ? Gt(e) : 0;return t && r < t ? e + Ni(t - r, n) : e;}, Rn.padStart = function (e, t, n) {e = su(e);var r = (t = iu(t)) ? Gt(e) : 0;return t && r < t ? Ni(t - r, n) + e : e;}, Rn.parseInt = function (e, t, n) {return n || null == t ? t = 0 : t && (t = +t), cn(su(e).replace(K, ""), t || 0);}, Rn.random = function (e, t, n) {if (n && "boolean" != typeof n && sa(e, t, n) && (t = n = void 0), void 0 === n && ("boolean" == typeof t ? (n = t, t = void 0) : "boolean" == typeof e && (n = e, e = void 0)), void 0 === e && void 0 === t ? (e = 0, t = 1) : (e = ru(e), void 0 === t ? (t = e, e = 0) : t = ru(t)), e > t) {var r = e;e = t, t = r;}if (n || e % 1 || t % 1) {var i = fn();return sn(e + i * (t - e + Ue("1e-" + ((i + "").length - 1))), t);}return Dr(e, t);}, Rn.reduce = function (e, t, n) {var r = qo(e) ? gt : kt,i = arguments.length < 3;return r(e, Qi(t, 4), n, i, tr);}, Rn.reduceRight = function (e, t, n) {var r = qo(e) ? mt : kt,i = arguments.length < 3;return r(e, Qi(t, 4), n, i, nr);}, Rn.repeat = function (e, t, n) {return t = (n ? sa(e, t, n) : void 0 === t) ? 1 : iu(t), jr(su(e), t);}, Rn.replace = function () {var e = arguments,t = su(e[0]);return e.length < 3 ? t : t.replace(e[1], e[2]);}, Rn.result = function (e, t, n) {var r = -1,i = (t = si(t, e)).length;for (i || (i = 1, e = void 0); ++r < i;) {var a = null == e ? void 0 : e[Ca(t[r])];void 0 === a && (r = i, a = n), e = Fo(a) ? a.call(e) : a;}return e;}, Rn.round = ps, Rn.runInContext = e, Rn.sample = function (e) {return (qo(e) ? Mn : Mr)(e);}, Rn.size = function (e) {if (null == e) return 0;if (zo(e)) return Qo(e) ? Gt(e) : e.length;var t = ra(e);return t == g || t == y ? e.size : Er(e).length;}, Rn.snakeCase = Du, Rn.some = function (e, t, n) {var r = qo(e) ? vt : Hr;return n && sa(e, t, n) && (t = void 0), r(e, Qi(t, 3));}, Rn.sortedIndex = function (e, t) {return Kr(e, t);}, Rn.sortedIndexBy = function (e, t, n) {return Yr(e, t, Qi(n, 2));}, Rn.sortedIndexOf = function (e, t) {var n = null == e ? 0 : e.length;if (n) {var r = Kr(e, t);if (r < n && Oo(e[r], t)) return r;}return -1;}, Rn.sortedLastIndex = function (e, t) {return Kr(e, t, !0);}, Rn.sortedLastIndexBy = function (e, t, n) {return Yr(e, t, Qi(n, 2), !0);}, Rn.sortedLastIndexOf = function (e, t) {if (null == e ? 0 : e.length) {var n = Kr(e, t, !0) - 1;if (Oo(e[n], t)) return n;}return -1;}, Rn.startCase = ju, Rn.startsWith = function (e, t, n) {return e = su(e), n = null == n ? 0 : $n(iu(n), 0, e.length), t = Xr(t), e.slice(n, n + t.length) == t;}, Rn.subtract = hs, Rn.sum = function (e) {return e && e.length ? Pt(e, Hu) : 0;}, Rn.sumBy = function (e, t) {return e && e.length ? Pt(e, Qi(t, 2)) : 0;}, Rn.template = function (e, t, n) {var r = Rn.templateSettings;n && sa(e, t, n) && (t = void 0), e = su(e), t = fu({}, t, r, Fi);var i,a,o = fu({}, t.imports, r.imports, Fi),u = xu(o),s = It(o, u),l = 0,c = t.interpolate || ce,f = "__p += '",d = ge((t.escape || ce).source + "|" + c.source + "|" + (c === Z ? ne : ce).source + "|" + (t.evaluate || ce).source + "|$", "g"),p = "//# sourceURL=" + (Te.call(t, "sourceURL") ? (t.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++Be + "]") + "\n";e.replace(d, function (t, n, r, o, u, s) {return r || (r = o), f += e.slice(l, s).replace(fe, Bt), n && (i = !0, f += "' +\n__e(" + n + ") +\n'"), u && (a = !0, f += "';\n" + u + ";\n__p += '"), r && (f += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"), l = s + t.length, t;}), f += "';\n";var h = Te.call(t, "variable") && t.variable;if (h) {if (ee.test(h)) throw new Y("Invalid `variable` option passed into `_.template`");} else f = "with (obj) {\n" + f + "\n}\n";f = (a ? f.replace(N, "") : f).replace(q, "$1").replace(L, "$1;"), f = "function(" + (h || "obj") + ") {\n" + (h ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (i ? ", __e = _.escape" : "") + (a ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + f + "return __p\n}";var g = Zu(function () {return de(u, p + "return " + f).apply(void 0, s);});if (g.source = f, Mo(g)) throw g;return g;}, Rn.times = function (e, t) {if ((e = iu(e)) < 1 || e > 9007199254740991) return [];var n = 4294967295,r = sn(e, 4294967295);e -= 4294967295;for (var i = Rt(r, t = Qi(t)); ++n < e;) t(n);return i;}, Rn.toFinite = ru, Rn.toInteger = iu, Rn.toLength = au, Rn.toLower = function (e) {return su(e).toLowerCase();}, Rn.toNumber = ou, Rn.toSafeInteger = function (e) {return e ? $n(iu(e), -9007199254740991, 9007199254740991) : 0 === e ? e : 0;}, Rn.toString = su, Rn.toUpper = function (e) {return su(e).toUpperCase();}, Rn.trim = function (e, t, n) {if ((e = su(e)) && (n || void 0 === t)) return Ot(e);if (!e || !(t = Xr(t))) return e;var r = Ht(e),i = Ht(t);return ci(r, qt(r, i), Lt(r, i) + 1).join("");}, Rn.trimEnd = function (e, t, n) {if ((e = su(e)) && (n || void 0 === t)) return e.slice(0, Kt(e) + 1);if (!e || !(t = Xr(t))) return e;var r = Ht(e);return ci(r, 0, Lt(r, Ht(t)) + 1).join("");}, Rn.trimStart = function (e, t, n) {if ((e = su(e)) && (n || void 0 === t)) return e.replace(K, "");if (!e || !(t = Xr(t))) return e;var r = Ht(e);return ci(r, qt(r, Ht(t))).join("");}, Rn.truncate = function (e, t) {var n = 30,r = "...";if (Vo(t)) {var i = "separator" in t ? t.separator : i;n = "length" in t ? iu(t.length) : n, r = "omission" in t ? Xr(t.omission) : r;}var a = (e = su(e)).length;if (Mt(e)) {var o = Ht(e);a = o.length;}if (n >= a) return e;var u = n - Gt(r);if (u < 1) return r;var s = o ? ci(o, 0, u).join("") : e.slice(0, u);if (void 0 === i) return s + r;if (o && (u += s.length - u), Yo(i)) {if (e.slice(u).search(i)) {var l,c = s;for (i.global || (i = ge(i.source, su(re.exec(i)) + "g")), i.lastIndex = 0; l = i.exec(c);) var f = l.index;s = s.slice(0, void 0 === f ? u : f);}} else if (e.indexOf(Xr(i), u) != u) {var d = s.lastIndexOf(i);d > -1 && (s = s.slice(0, d));}return s + r;}, Rn.unescape = function (e) {return (e = su(e)) && j.test(e) ? e.replace(z, Yt) : e;}, Rn.uniqueId = function (e) {var t = ++we;return su(e) + t;}, Rn.upperCase = Bu, Rn.upperFirst = Mu, Rn.each = uo, Rn.eachRight = so, Rn.first = La, Qu(Rn, (fs = {}, lr(Rn, function (e, t) {Te.call(Rn.prototype, t) || (fs[t] = e);}), fs), { chain: !1 }), Rn.VERSION = "4.17.21", ut(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function (e) {Rn[e].placeholder = Rn;}), ut(["drop", "take"], function (e, t) {Nn.prototype[e] = function (n) {n = void 0 === n ? 1 : un(iu(n), 0);var r = this.__filtered__ && !t ? new Nn(this) : this.clone();return r.__filtered__ ? r.__takeCount__ = sn(n, r.__takeCount__) : r.__views__.push({ size: sn(n, 4294967295), type: e + (r.__dir__ < 0 ? "Right" : "") }), r;}, Nn.prototype[e + "Right"] = function (t) {return this.reverse()[e](t).reverse();};}), ut(["filter", "map", "takeWhile"], function (e, t) {var n = t + 1,r = 1 == n || 3 == n;Nn.prototype[e] = function (e) {var t = this.clone();return t.__iteratees__.push({ iteratee: Qi(e, 3), type: n }), t.__filtered__ = t.__filtered__ || r, t;};}), ut(["head", "last"], function (e, t) {var n = "take" + (t ? "Right" : "");Nn.prototype[e] = function () {return this[n](1).value()[0];};}), ut(["initial", "tail"], function (e, t) {var n = "drop" + (t ? "" : "Right");Nn.prototype[e] = function () {return this.__filtered__ ? new Nn(this) : this[n](1);};}), Nn.prototype.compact = function () {return this.filter(Hu);}, Nn.prototype.find = function (e) {return this.filter(e).head();}, Nn.prototype.findLast = function (e) {return this.reverse().find(e);}, Nn.prototype.invokeMap = Br(function (e, t) {return "function" == typeof e ? new Nn(this) : this.map(function (n) {return yr(n, e, t);});}), Nn.prototype.reject = function (e) {return this.filter(Eo(Qi(e)));}, Nn.prototype.slice = function (e, t) {e = iu(e);var n = this;return n.__filtered__ && (e > 0 || t < 0) ? new Nn(n) : (e < 0 ? n = n.takeRight(-e) : e && (n = n.drop(e)), void 0 !== t && (n = (t = iu(t)) < 0 ? n.dropRight(-t) : n.take(t - e)), n);}, Nn.prototype.takeRightWhile = function (e) {return this.reverse().takeWhile(e).reverse();}, Nn.prototype.toArray = function () {return this.take(4294967295);}, lr(Nn.prototype, function (e, t) {var n = /^(?:filter|find|map|reject)|While$/.test(t),r = /^(?:head|last)$/.test(t),i = Rn[r ? "take" + ("last" == t ? "Right" : "") : t],a = r || /^find/.test(t);i && (Rn.prototype[t] = function () {var t = this.__wrapped__,o = r ? [1] : arguments,u = t instanceof Nn,s = o[0],l = u || qo(t),c = function (e) {var t = i.apply(Rn, ht([e], o));return r && f ? t[0] : t;};l && n && "function" == typeof s && 1 != s.length && (u = l = !1);var f = this.__chain__,d = !!this.__actions__.length,p = a && !f,h = u && !d;if (!a && l) {t = h ? t : new Nn(this);var g = e.apply(t, o);return g.__actions__.push({ func: no, args: [c], thisArg: void 0 }), new In(g, f);}return p && h ? e.apply(this, o) : (g = this.thru(c), p ? r ? g.value()[0] : g.value() : g);});}), ut(["pop", "push", "shift", "sort", "splice", "unshift"], function (e) {var t = be[e],n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru",r = /^(?:pop|shift)$/.test(e);Rn.prototype[e] = function () {var e = arguments;if (r && !this.__chain__) {var i = this.value();return t.apply(qo(i) ? i : [], e);}return this[n](function (n) {return t.apply(qo(n) ? n : [], e);});};}), lr(Nn.prototype, function (e, t) {var n = Rn[t];if (n) {var r = n.name + "";Te.call(_n, r) || (_n[r] = []), _n[r].push({ name: t, func: n });}}), _n[Ri(void 0, 2).name] = [{ name: "wrapper", func: void 0 }], Nn.prototype.clone = function () {var e = new Nn(this.__wrapped__);return e.__actions__ = bi(this.__actions__), e.__dir__ = this.__dir__, e.__filtered__ = this.__filtered__, e.__iteratees__ = bi(this.__iteratees__), e.__takeCount__ = this.__takeCount__, e.__views__ = bi(this.__views__), e;}, Nn.prototype.reverse = function () {if (this.__filtered__) {var e = new Nn(this);e.__dir__ = -1, e.__filtered__ = !0;} else (e = this.clone()).__dir__ *= -1;return e;}, Nn.prototype.value = function () {var e = this.__wrapped__.value(),t = this.__dir__,n = qo(e),r = t < 0,i = n ? e.length : 0,a = function (e, t, n) {var r = -1,i = n.length;for (; ++r < i;) {var a = n[r],o = a.size;switch (a.type) {case "drop":e += o;break;case "dropRight":t -= o;break;case "take":t = sn(t, e + o);break;case "takeRight":e = un(e, t - o);}}return { start: e, end: t };}(0, i, this.__views__),o = a.start,u = a.end,s = u - o,l = r ? u : o - 1,c = this.__iteratees__,f = c.length,d = 0,p = sn(s, this.__takeCount__);if (!n || !r && i == s && p == s) return ri(e, this.__actions__);var h = [];e: for (; s-- && d < p;) {for (var g = -1, m = e[l += t]; ++g < f;) {var v = c[g],b = v.iteratee,y = v.type,_ = b(m);if (2 == y) m = _;else if (!_) {if (1 == y) continue e;break e;}}h[d++] = m;}return h;}, Rn.prototype.at = ro, Rn.prototype.chain = function () {return to(this);}, Rn.prototype.commit = function () {return new In(this.value(), this.__chain__);}, Rn.prototype.next = function () {void 0 === this.__values__ && (this.__values__ = nu(this.value()));var e = this.__index__ >= this.__values__.length;return { done: e, value: e ? void 0 : this.__values__[this.__index__++] };}, Rn.prototype.plant = function (e) {for (var t, n = this; n instanceof An;) {var r = Pa(n);r.__index__ = 0, r.__values__ = void 0, t ? i.__wrapped__ = r : t = r;var i = r;n = n.__wrapped__;}return i.__wrapped__ = e, t;}, Rn.prototype.reverse = function () {var e = this.__wrapped__;if (e instanceof Nn) {var t = e;return this.__actions__.length && (t = new Nn(this)), (t = t.reverse()).__actions__.push({ func: no, args: [Ua], thisArg: void 0 }), new In(t, this.__chain__);}return this.thru(Ua);}, Rn.prototype.toJSON = Rn.prototype.valueOf = Rn.prototype.value = function () {return ri(this.__wrapped__, this.__actions__);}, Rn.prototype.first = Rn.prototype.head, Qe && (Rn.prototype[Qe] = function () {return this;}), Rn;}();He._ = $t, void 0 === (i = function () {return $t;}.call(t, n, t, r)) || (r.exports = i);}).call(this);}).call(this, n(71), n(123)(e));}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;};t.default = function (e) {var t = i.map(function (t) {var n,r,i = (n = e, r = null, t.split(".").reduce(function (e, t) {return e ? e[t] : r;}, n));return !(!i || !i.trim()) || (console.error("ZuP: Der Text " + t + " bzw. " + t.replace(/[.]/g, "_") + " ist nicht vorhanden oder leer!"), !1);}).filter(function (e) {return !e;}).length;t ? console.error("ZuP: Fehlende Texte: " + t) : console.debug("ZuP: Keine fehlenden Texte festgestellt.");!function e(t, n, i) {for (var a in t) Array.isArray(t[a]) || "object" === r(t[a]) ? e(t[a], "" + n + a + ".", i) : -1 === i.indexOf("" + (n + a)) && console.warn("Der Text '" + (n + a) + "' bzw. '" + (n.replace(/[.]/g, "_") + a) + "' ist vorhanden, wird aber nicht validiert/benötigt");}(e, "", i);};var i = ["buttons.backButton.text", "buttons.closeButton.text", "buttons.detailsButton.text", "buttons.resetButton.text", "currencySigns.euro", "popups.categoryPopup.title.text", "popups.categoryPopup.title.iconButtonAltText", "popups.categoryPopup.listItemIconAltTextClosed", "popups.categoryPopup.listItemIconAltTextOpened", "popups.categoryPopup.taxBox.euTax", "popups.categoryPopup.taxBox.title", "popups.categoryPopup.taxBox.zollTax", "popups.euPopup.title.text", "popups.euPopup.title.iconButtonAltText", "popups.euPopup.body", "popups.specialProductPopup.title.iconButtonAltText", "select.placeholder", "select.noResults", "screenReader.entries", "screenReader.selected", "screenReader.notSelected", "screenReader.selectCurrencyInput", "screenReader.selectCurrencyLabel", "screenReader.selectCurrencyDropdown", "screenReader.selectCurrencyInEuro", "screenReader.catalogSelectInputFieldProducts", "screenReader.catalogSelectInputFieldCategories", "screenReader.catalogSelectInputFieldSpecialCategories", "screenReader.catalogSelectOptionListProducts", "screenReader.catalogSelectOptionListCategories", "screenReader.catalogSelectOptionListSpecialCategories", "screens.calculator.title.text", "screens.calculator.title.iconButtonAltText", "screens.calculator.infoPopup.title.text", "screens.calculator.infoPopup.title.iconButtonAltText", "screens.calculator.infoPopup.body", "screens.calculator.body", "screens.calculator.selectProduct.title.text", "screens.calculator.selectProduct.dropdownPlaceholder", "screens.calculator.toggleGift.title.text", "screens.calculator.toggleGift.title.iconButtonAltText", "screens.calculator.toggleGift.toggleLabel", "screens.calculator.toggleGift.infoPopup.title.text", "screens.calculator.toggleGift.infoPopup.title.iconButtonAltText", "screens.calculator.toggleGift.infoPopup.body", "screens.calculator.selectCountry.title.text", "screens.calculator.selectCountry.dropdownPlaceholder", "screens.calculator.selectCurrency.title.text", "screens.calculator.selectCurrency.title.iconButtonAltText", "screens.calculator.selectCurrency.infoPopup.title.text", "screens.calculator.selectCurrency.infoPopup.title.iconButtonAltText", "screens.calculator.selectCurrency.infoPopup.body", "screens.calculator.resultBox.title.text", "screens.calculator.resultBox.base", "screens.calculator.resultBox.billValue", "screens.calculator.resultBox.currencyShort", "screens.calculator.resultBox.summary", "screens.calculator.resultBox.resultNoTaxes", "screens.calculator.resultBox.resultNoTaxesGift", "screens.calculator.resultBox.minTaxToPayThreshold", "screens.calculator.resultBox.minTaxToPayLowerThreshold", "screens.calculator.resultBox.notification", "screens.calculator.resultBox.euTax1", "screens.calculator.resultBox.euTax2", "screens.calculator.resultBox.flatTax1", "screens.calculator.resultBox.flatTax2", "screens.calculator.resultBox.zollTax1", "screens.calculator.resultBox.zollTax2", "screens.calculator.resultBox.zollTax3", "screens.calculator.resultBox.maxZollTaxAmount1", "screens.calculator.resultBox.maxZollTaxAmount2", "screens.catalog.title.text", "screens.catalog.radioButton1.text", "screens.catalog.radioButton2.text", "screens.catalog.radioButton3.text", "screens.mainMenu.title.text", "screens.mainMenu.buttons.calculator.h", "screens.mainMenu.buttons.calculator.text", "screens.mainMenu.buttons.catalog.h", "screens.mainMenu.buttons.catalog.text", "typeahead.searchPlaceholder", "typeahead.noResults"];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t) {return e.filter(function (e) {return !(0, r.default)(e);}).map(function (e, n) {var r = void 0;return "function" != typeof t || null !== (r = t(e, n)) && !r ? (0, i.default)(e, n, t) : r;});};var r = a(n(135)),i = a(n(73));function a(e) {return e && e.__esModule ? e : { default: e };}}, function (e) {e.exports = JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ﬃ","fflig":"ﬀ","ffllig":"ﬄ","Ffr":"𝔉","ffr":"𝔣","filig":"ﬁ","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"ﬂ","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"Ĳ","ijlig":"ĳ","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ŉ","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}');}, function (e) {e.exports = JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}');}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.roundTo2Digits = o, t.prepareCurrencies = function (e) {var t = new Map(),n = [];return n.concat(e).forEach(function (e) {t.set(e.name + e.exchangeRate + e.iso2, { name: e.name, exchangeRate: e.exchangeRate, iso2: e.iso2 });}), n = [], t.forEach(function (e) {return n.push(e);}), n.sort(function (e, t) {return (0, a.default)(e, t, "name");});}, t.currencyFormatDE = function (e, t) {var n = o(e).replace(".", ",").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.");t && (n = n + " " + t);return n;};var r,i = n(32),a = (r = i) && r.__esModule ? r : { default: r };function o(e) {return (t = e, n = 2, r = function (e, t, n) {n && (t = -t);var r = ("" + e).split("e");return +(r[0] + "e" + (r[1] ? +r[1] + t : t));}, r(Math.round(r(t, n, !1)), n, !0)).toFixed(2);var t, n, r;}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;};t.default = function (e, t) {var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];if (e === t) return !1;var i = Object.keys(e),a = Object.keys(t);if (i.length !== a.length) return !0;var o = {},u = void 0,s = void 0;for (u = 0, s = n.length; u < s; u++) o[n[u]] = !0;for (u = 0, s = i.length; u < s; u++) {var l = i[u],c = e[l],f = t[l];if (c !== f) {if (!o[l] || null === c || null === f || "object" !== (void 0 === c ? "undefined" : r(c)) || "object" !== (void 0 === f ? "undefined" : r(f))) return !0;var d = Object.keys(c),p = Object.keys(f);if (d.length !== p.length) return !0;for (var h = 0, g = d.length; h < g; h++) {var m = d[h];if (c[m] !== f[m]) return !0;}}}return !1;};}, function (e, t, n) {"use strict";n.r(t), n.d(t, "AutoFocusInside", function () {return xe;}), n.d(t, "MoveFocusInside", function () {return Se;}), n.d(t, "FreeFocusInside", function () {return we;}), n.d(t, "InFocusGuard", function () {return he;});var r = {};n.r(r), n.d(r, "FOCUS_GROUP", function () {return y;}), n.d(r, "FOCUS_DISABLED", function () {return _;}), n.d(r, "FOCUS_ALLOW", function () {return x;}), n.d(r, "FOCUS_AUTO", function () {return S;});var i = n(5),a = n.n(i),o = n(25),u = n.n(o),s = n(2),l = n.n(s),c = n(6),f = n.n(c),d = n(0),p = n.n(d),h = function (e) {for (var t = Array(e.length), n = 0; n < e.length; ++n) t[n] = e[n];return t;},g = function (e) {return Array.isArray(e) ? e : [e];},m = function (e, t) {var n = e.tabIndex - t.tabIndex,r = e.index - t.index;if (n) {if (!e.tabIndex) return 1;if (!t.tabIndex) return -1;}return n || r;},v = function (e, t, n) {return h(e).map(function (e, t) {return { node: e, index: t, tabIndex: n && -1 === e.tabIndex ? (e.dataset || {}).focusGuard ? 0 : -1 : e.tabIndex };}).filter(function (e) {return !t || e.tabIndex >= 0;}).sort(m);},b = ["button:enabled:not([readonly])", "select:enabled:not([readonly])", "textarea:enabled:not([readonly])", "input:enabled:not([readonly])", "a[href]", "area[href]", "iframe", "object", "embed", "[tabindex]", "[contenteditable]", "[autofocus]"],y = "data-focus-lock",_ = "data-focus-lock-disabled",x = "data-no-focus-lock",S = "data-autofocus-inside",T = b.join(","),w = T + ", [data-focus-guard]",E = function (e, t) {return e.reduce(function (e, n) {return e.concat(h(n.querySelectorAll(t ? w : T)), n.parentNode ? h(n.parentNode.querySelectorAll(b.join(","))).filter(function (e) {return e === n;}) : []);}, []);},C = function e(t) {var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];return n.push(t), t.parentNode && e(t.parentNode, n), n;},k = function (e, t) {for (var n = C(e), r = C(t), i = 0; i < n.length; i += 1) {var a = n[i];if (r.indexOf(a) >= 0) return a;}return !1;},P = function (e) {return h(e).filter(function (e) {return function e(t) {return !t || t === document || t.nodeType === Node.DOCUMENT_NODE || !((n = window.getComputedStyle(t, null)) && n.getPropertyValue && ("none" === n.getPropertyValue("display") || "hidden" === n.getPropertyValue("visibility"))) && e(t.parentNode);var n;}(e);}).filter(function (e) {return function (e) {return !(("INPUT" === e.tagName || "BUTTON" === e.tagName) && ("hidden" === e.type || e.disabled));}(e);});},R = function (e, t) {return v(P(E(e, t)), !0, t);},O = function (e) {return P((t = e.querySelectorAll("[" + S + "]"), h(t).map(function (e) {return E([e]);}).reduce(function (e, t) {return e.concat(t);}, [])));var t;},A = function (e) {return "INPUT" === e.tagName && "radio" === e.type;},I = function (e, t) {return t.filter(A).filter(function (t) {return t.name === e.name;}).filter(function (e) {return e.checked;})[0] || e;},N = function (e, t) {return e.length > 1 && A(e[t]) && e[t].name ? e.indexOf(I(e[t], e)) : t;},q = function (e) {return e[0] && e.length > 1 && A(e[0]) && e[0].name ? I(e[0], e) : e[0];},L = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;},z = function (e) {return g(e).filter(Boolean).reduce(function (e, t) {var n = t.getAttribute(y);return e.push.apply(e, n ? function e(t) {for (var n = t.length, r = 0; r < n; r += 1) for (var i = function (n) {if (r !== n && t[r].contains(t[n])) return { v: e(t.filter(function (e) {return e !== t[n];})) };}, a = 0; a < n; a += 1) {var o = i(a);if ("object" === (void 0 === o ? "undefined" : L(o))) return o.v;}return t;}(h(function e(t) {return t.parentNode ? e(t.parentNode) : t;}(t).querySelectorAll("[" + y + '="' + n + '"]:not([' + _ + '="disabled"])'))) : [t]), e;}, []);},D = function (e) {return e && e.dataset && e.dataset.focusGuard;},j = function (e) {return !D(e);},B = function (e, t, n) {var r = g(e),i = g(t),a = r[0],o = null;return i.filter(Boolean).forEach(function (e) {o = k(o || e, e) || o, n.filter(Boolean).forEach(function (e) {var t = k(a, e);t && (o = !o || t.contains(o) ? t : k(t, o));});}), o;},M = function (e, t) {var n = document && document.activeElement,r = z(e).filter(j),i = B(n || e, e, r),a = R(r).filter(function (e) {var t = e.node;return j(t);});if (a[0] || (a = (o = r, v(P(E(o)), !1)).filter(function (e) {var t = e.node;return j(t);}))[0]) {var o,u,s,l,c,f = R([i]).map(function (e) {return e.node;}),d = (u = f, s = a, l = new Map(), s.forEach(function (e) {return l.set(e.node, e);}), u.map(function (e) {return l.get(e);}).filter(Boolean)),p = d.map(function (e) {return e.node;}),h = function (e, t, n, r, i) {var a = e.length,o = e[0],u = e[a - 1],s = D(n);if (!(e.indexOf(n) >= 0)) {var l = t.indexOf(n),c = t.indexOf(r || l),f = e.indexOf(r),d = l - c,p = t.indexOf(o),h = t.indexOf(u),g = N(e, 0),m = N(e, a - 1);return -1 === l || -1 === f ? e.indexOf(i && i.length ? q(i) : q(e)) : !d && f >= 0 ? f : l <= p && s && Math.abs(d) > 1 ? m : l >= p && s && Math.abs(d) > 1 ? g : d && Math.abs(d) > 1 ? f : l <= p ? m : l > h ? g : d ? Math.abs(d) > 1 ? f : (a + f + d) % a : void 0;}}(p, f, n, t, p.filter((c = function (e) {return e.reduce(function (e, t) {return e.concat(O(t));}, []);}(r), function (e) {return !!e.autofocus || e.dataset && !!e.dataset.autofocus || c.indexOf(e) >= 0;})));return void 0 === h ? h : d[h];}},F = 0,Z = !1,U = function (e, t) {var n,r = M(e, t);if (!Z && r) {if (F > 2) return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"), Z = !0, void setTimeout(function () {Z = !1;}, 1);F++, (n = r.node).focus(), n.contentWindow && n.contentWindow.focus(), F--;}};function V(e, t) {return (V = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {return e.__proto__ = t, e;})(e, t);}function W(e) {return (W = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;})(e);}function G(e) {var t = function (e, t) {if ("object" != W(e) || !e) return e;var n = e[Symbol.toPrimitive];if (void 0 !== n) {var r = n.call(e, t || "default");if ("object" != W(r)) return r;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === t ? String : Number)(e);}(e, "string");return "symbol" == W(t) ? t : t + "";}var H = function () {return document && h(document.querySelectorAll("[" + x + "]")).some(function (e) {return e.contains(document.activeElement);});},K = function (e) {return e === document.activeElement;},Y = function (e) {var t = document && document.activeElement;return !(!t || t.dataset && t.dataset.focusGuard) && z(e).reduce(function (e, n) {return e || n.contains(t) || function (e) {return t = h(e.querySelectorAll("iframe")), n = K, !!t.filter(function (e) {return e === n;})[0];var t, n;}(n);}, !1);};function $(e) {var t = window.setImmediate;void 0 !== t ? t(e) : setTimeout(e, 1);}var Q = function (e, t) {var n = {};return n[e] = t, n;},X = function () {return document && document.activeElement === document.body || H();},J = null,ee = null,te = null,ne = !1,re = function () {return !0;};function ie(e, t, n, r) {var i = null,a = e;do {var o = r[a];if (o.guard) o.node.dataset.focusAutoGuard && (i = o);else {if (!o.lockItem) break;if (a !== e) return;i = null;}} while ((a += n) !== t);i && (i.node.tabIndex = 0);}var ae = function (e) {return e && "current" in e ? e.current : e;},oe = function () {var e,t,n,r,i,a,o = !1;if (J) {var u = J,s = u.observed,l = u.persistentFocus,c = u.autoFocus,f = u.shards,d = s || te && te.portaledElement,p = document && document.activeElement;if (d) {var h = [d].concat(f.map(ae).filter(Boolean));if (p && !function (e) {return (J.whiteList || re)(e);}(p) || (l || ne || !X() || !ee && c) && (!d || Y(h) || (a = p, te && te.portaledElement === a) || (document && !ee && p && !c ? (p.blur(), document.body.focus()) : (o = U(h, ee), te = {})), ne = !1, ee = document && document.activeElement), document) {var g = document && document.activeElement,m = (t = z(e = h).filter(j), n = B(e, e, t), r = R([n], !0), i = R(t).filter(function (e) {var t = e.node;return j(t);}).map(function (e) {return e.node;}), r.map(function (e) {var t = e.node;return { node: t, index: e.index, lockItem: i.indexOf(t) >= 0, guard: D(t) };})),v = m.find(function (e) {return e.node === g;});if (v) {m.filter(function (e) {var t = e.guard,n = e.node;return t && n.dataset.focusAutoGuard;}).forEach(function (e) {return e.node.removeAttribute("tabIndex");});var b = m.indexOf(v);ie(b, m.length, 1, m), ie(b, -1, -1, m);}}}}return o;},ue = function (e) {oe() && e && (e.stopPropagation(), e.preventDefault());},se = function () {return $(oe);},le = function (e) {var t = e.target,n = e.currentTarget;n.contains(t) || (te = { observerNode: n, portaledElement: t });},ce = function () {ne = !0;};var fe = function (e, t) {return function (n) {var r,i = [];function a() {r = e(i.map(function (e) {return e.props;})), t(r);}var o,u,s,l = function (e) {var t, o;function u() {return e.apply(this, arguments) || this;}o = e, (t = u).prototype = Object.create(o.prototype), t.prototype.constructor = t, V(t, o), u.peek = function () {return r;};var s = u.prototype;return s.componentDidMount = function () {i.push(this), a();}, s.componentDidUpdate = function () {a();}, s.componentWillUnmount = function () {var e = i.indexOf(this);i.splice(e, 1), a();}, s.render = function () {return p.a.createElement(n, this.props);}, u;}(d.PureComponent);return o = l, u = "displayName", s = "SideEffect(" + function (e) {return e.displayName || e.name || "Component";}(n) + ")", (u = G(u)) in o ? Object.defineProperty(o, u, { value: s, enumerable: !0, configurable: !0, writable: !0 }) : o[u] = s, l;};}(function (e) {return e.filter(function (e) {return !e.disabled;}).slice(-1)[0];}, function (e) {e && !J && (document.addEventListener("focusin", ue, !0), document.addEventListener("focusout", se), window.addEventListener("blur", ce));var t = J,n = t && e && e.onActivation === t.onActivation;J = e, t && !n && t.onDeactivation(), e ? (ee = null, n && t.observed === e.observed || e.onActivation(), oe(), $(oe)) : (document.removeEventListener("focusin", ue, !0), document.removeEventListener("focusout", se), window.removeEventListener("blur", ce), ee = null);})(function () {return null;}),de = { width: "1px", height: "0px", padding: 0, overflow: "hidden", position: "fixed", top: "1px", left: "1px" },pe = function (e) {var t = e.children;return p.a.createElement(p.a.Fragment, null, p.a.createElement("div", { key: "guard-first", "data-focus-guard": !0, "data-focus-auto-guard": !0, style: de }), t, t && p.a.createElement("div", { key: "guard-last", "data-focus-guard": !0, "data-focus-auto-guard": !0, style: de }));};pe.propTypes = {}, pe.defaultProps = { children: null };var he = pe,ge = function (e) {var t = e.children;return p.a.createElement("div", null, t);};ge.propTypes = {};var me = p.a.Fragment ? p.a.Fragment : ge,ve = [],be = function (e) {function t() {for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];return t = e.call.apply(e, [this].concat(r)) || this, f()(l()(l()(t)), "state", { observed: void 0 }), f()(l()(l()(t)), "onActivation", function () {t.originalFocusedElement = t.originalFocusedElement || document && document.activeElement, t.state.observed && t.props.onActivation && t.props.onActivation(t.state.observed), t.isActive = !0;}), f()(l()(l()(t)), "onDeactivation", function () {t.isActive = !1, t.props.returnFocus && t.originalFocusedElement && t.originalFocusedElement.focus && (t.originalFocusedElement.focus(), t.originalFocusedElement = null), t.props.onDeactivation && t.props.onDeactivation(t.state.observed);}), f()(l()(l()(t)), "onFocus", function (e) {t.isActive && le(e);}), f()(l()(l()(t)), "onBlur", se), f()(l()(l()(t)), "setObserveNode", function (e) {t.state.observed !== e && t.setState({ observed: e });}), f()(l()(l()(t)), "isActive", !1), f()(l()(l()(t)), "originalFocusedElement", null), t;}return u()(t, e), t.prototype.render = function () {var e,t = this.props,n = t.children,i = t.disabled,o = t.noFocusGuards,u = t.persistentFocus,s = t.autoFocus,l = (t.allowTextSelection, t.group),c = t.className,f = t.whiteList,d = t.shards,h = void 0 === d ? ve : d,g = t.as,m = void 0 === g ? "div" : g,v = t.lockProps,b = void 0 === v ? {} : v,y = this.state.observed;var _ = a()(((e = {})[r.FOCUS_DISABLED] = i && "disabled", e[r.FOCUS_GROUP] = l, e), b),x = !0 !== o,S = x && "tail" !== o;return p.a.createElement(me, null, x && [p.a.createElement("div", { key: "guard-first", "data-focus-guard": !0, tabIndex: i ? -1 : 0, style: de }), p.a.createElement("div", { key: "guard-nearest", "data-focus-guard": !0, tabIndex: i ? -1 : 1, style: de })], p.a.createElement(m, a()({ ref: this.setObserveNode }, _, { className: c, onBlur: this.onBlur, onFocus: this.onFocus }), p.a.createElement(fe, { observed: y, disabled: i, persistentFocus: u, autoFocus: s, whiteList: f, shards: h, onActivation: this.onActivation, onDeactivation: this.onDeactivation }), n), S && p.a.createElement("div", { "data-focus-guard": !0, tabIndex: i ? -1 : 0, style: de }));}, t;}(d.Component);be.propTypes = {}, be.defaultProps = { disabled: !1, returnFocus: !1, noFocusGuards: !1, autoFocus: !0, persistentFocus: !1, allowTextSelection: void 0, group: void 0, className: void 0, whiteList: void 0, shards: void 0, as: "div", lockProps: {}, onActivation: void 0, onDeactivation: void 0 };var ye = be,_e = function (e) {var t = e.disabled,n = e.children,i = e.className;return p.a.createElement("div", a()({}, Q(r.FOCUS_AUTO, !t), { className: i }), n);};_e.propTypes = {}, _e.defaultProps = { disabled: !1, className: void 0 };var xe = _e,Se = function (e) {function t() {for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];return t = e.call.apply(e, [this].concat(r)) || this, f()(l()(l()(t)), "setObserveNode", function (e) {t.observed = e, t.moveFocus();}), t;}u()(t, e);var n = t.prototype;return n.componentDidMount = function () {this.moveFocus();}, n.componentDidUpdate = function (e) {e.disabled && !this.props.disabled && this.moveFocus();}, n.moveFocus = function () {var e = this.observed;!this.props.disabled && e && (Y(e) || U(e, null));}, n.render = function () {var e = this.props,t = e.children,n = e.disabled,i = e.className;return p.a.createElement("div", a()({}, Q(r.FOCUS_AUTO, !n), { ref: this.setObserveNode, className: i }), t);}, t;}(d.Component);f()(Se, "defaultProps", { disabled: !1, className: void 0 }), Se.propTypes = {};var Te = function (e) {var t = e.children,n = e.className;return p.a.createElement("div", a()({}, Q(r.FOCUS_ALLOW, !0), { className: n }), t);};Te.propTypes = {}, Te.defaultProps = { disabled: !1, className: void 0 };var we = Te;t.default = ye;}, function (e, t, n) {"use strict";var r = n(50),i = {};i[n(7)("toStringTag")] = "z", i + "" != "[object z]" && n(18)(Object.prototype, "toString", function () {return "[object " + r(this) + "]";}, !0);}, function (e, t, n) {var r = n(51),i = n(7)("toStringTag"),a = "Arguments" == r(function () {return arguments;}());e.exports = function (e) {var t, n, o;return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) {try {return e[t];} catch (e) {}}(t = Object(e), i)) ? n : a ? r(t) : "Object" == (o = r(t)) && "function" == typeof t.callee ? "Arguments" : o;};}, function (e, t) {var n = {}.toString;e.exports = function (e) {return n.call(e).slice(8, -1);};}, function (e, t) {e.exports = !1;}, function (e, t, n) {e.exports = !n(14) && !n(28)(function () {return 7 != Object.defineProperty(n(54)("div"), "a", { get: function () {return 7;} }).a;});}, function (e, t, n) {var r = n(12),i = n(8).document,a = r(i) && r(i.createElement);e.exports = function (e) {return a ? i.createElement(e) : {};};}, function (e, t, n) {var r = n(12);e.exports = function (e, t) {if (!r(e)) return e;var n, i;if (t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i;if ("function" == typeof (n = e.valueOf) && !r(i = n.call(e))) return i;if (!t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i;throw TypeError("Can't convert object to primitive value");};}, function (e, t, n) {"use strict";var r = n(92)(!0);n(37)(String, "String", function (e) {this._t = String(e), this._i = 0;}, function () {var e,t = this._t,n = this._i;return n >= t.length ? { value: void 0, done: !0 } : (e = r(t, n), this._i += e.length, { value: e, done: !1 });});}, function (e, t, n) {var r = n(8),i = n(17),a = n(19),o = n(18),u = n(29),s = function (e, t, n) {var l,c,f,d,p = e & s.F,h = e & s.G,g = e & s.S,m = e & s.P,v = e & s.B,b = h ? r : g ? r[t] || (r[t] = {}) : (r[t] || {}).prototype,y = h ? i : i[t] || (i[t] = {}),_ = y.prototype || (y.prototype = {});for (l in h && (n = t), n) f = ((c = !p && b && void 0 !== b[l]) ? b : n)[l], d = v && c ? u(f, r) : m && "function" == typeof f ? u(Function.call, f) : f, b && o(b, l, f, e & s.U), y[l] != f && a(y, l, d), m && _[l] != f && (_[l] = f);};r.core = i, s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s;}, function (e, t, n) {var r = n(21),i = n(95),a = n(61),o = n(38)("IE_PROTO"),u = function () {},s = function () {var e,t = n(54)("iframe"),r = a.length;for (t.style.display = "none", n(100).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), s = e.F; r--;) delete s.prototype[a[r]];return s();};e.exports = Object.create || function (e, t) {var n;return null !== e ? (u.prototype = r(e), n = new u(), u.prototype = null, n[o] = e) : n = s(), void 0 === t ? n : i(n, t);};}, function (e, t, n) {var r = n(96),i = n(61);e.exports = Object.keys || function (e) {return r(e, i);};}, function (e, t, n) {var r = n(35),i = Math.min;e.exports = function (e) {return e > 0 ? i(r(e), 9007199254740991) : 0;};}, function (e, t) {e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");}, function (e, t, n) {for (var r = n(103), i = n(59), a = n(18), o = n(8), u = n(19), s = n(26), l = n(7), c = l("iterator"), f = l("toStringTag"), d = s.Array, p = { CSSRuleList: !0, CSSStyleDeclaration: !1, CSSValueList: !1, ClientRectList: !1, DOMRectList: !1, DOMStringList: !1, DOMTokenList: !0, DataTransferItemList: !1, FileList: !1, HTMLAllCollection: !1, HTMLCollection: !1, HTMLFormElement: !1, HTMLSelectElement: !1, MediaList: !0, MimeTypeArray: !1, NamedNodeMap: !1, NodeList: !0, PaintRequestList: !1, Plugin: !1, PluginArray: !1, SVGLengthList: !1, SVGNumberList: !1, SVGPathSegList: !1, SVGPointList: !1, SVGStringList: !1, SVGTransformList: !1, SourceBufferList: !1, StyleSheetList: !0, TextTrackCueList: !1, TextTrackList: !1, TouchList: !1 }, h = i(p), g = 0; g < h.length; g++) {var m,v = h[g],b = p[v],y = o[v],_ = y && y.prototype;if (_ && (_[c] || u(_, c, d), _[f] || u(_, f, v), s[v] = d, b)) for (m in r) _[m] || a(_, m, r[m], !0);}}, function (e, t) {e.exports = function (e, t) {return { value: t, done: !!e };};}, function (e, t, n) {"use strict";var r = n(20).f,i = n(58),a = n(65),o = n(29),u = n(66),s = n(67),l = n(37),c = n(63),f = n(109),d = n(14),p = n(68).fastKey,h = n(40),g = d ? "_s" : "size",m = function (e, t) {var n,r = p(t);if ("F" !== r) return e._i[r];for (n = e._f; n; n = n.n) if (n.k == t) return n;};e.exports = { getConstructor: function (e, t, n, l) {var c = e(function (e, r) {u(e, c, t, "_i"), e._t = t, e._i = i(null), e._f = void 0, e._l = void 0, e[g] = 0, null != r && s(r, n, e[l], e);});return a(c.prototype, { clear: function () {for (var e = h(this, t), n = e._i, r = e._f; r; r = r.n) r.r = !0, r.p && (r.p = r.p.n = void 0), delete n[r.i];e._f = e._l = void 0, e[g] = 0;}, delete: function (e) {var n = h(this, t),r = m(n, e);if (r) {var i = r.n,a = r.p;delete n._i[r.i], r.r = !0, a && (a.n = i), i && (i.p = a), n._f == r && (n._f = i), n._l == r && (n._l = a), n[g]--;}return !!r;}, forEach: function (e) {h(this, t);for (var n, r = o(e, arguments.length > 1 ? arguments[1] : void 0, 3); n = n ? n.n : this._f;) for (r(n.v, n.k, this); n && n.r;) n = n.p;}, has: function (e) {return !!m(h(this, t), e);} }), d && r(c.prototype, "size", { get: function () {return h(this, t)[g];} }), c;}, def: function (e, t, n) {var r,i,a = m(e, t);return a ? a.v = n : (e._l = a = { i: i = p(t, !0), k: t, v: n, p: r = e._l, n: void 0, r: !1 }, e._f || (e._f = a), r && (r.n = a), e[g]++, "F" !== i && (e._i[i] = a)), e;}, getEntry: m, setStrong: function (e, t, n) {l(e, t, function (e, n) {this._t = h(e, t), this._k = n, this._l = void 0;}, function () {for (var e = this._k, t = this._l; t && t.r;) t = t.p;return this._t && (this._l = t = t ? t.n : this._t._f) ? c(0, "keys" == e ? t.k : "values" == e ? t.v : [t.k, t.v]) : (this._t = void 0, c(1));}, n ? "entries" : "values", !n, !0), f(t);} };}, function (e, t, n) {var r = n(18);e.exports = function (e, t, n) {for (var i in t) r(e, i, t[i], n);return e;};}, function (e, t) {e.exports = function (e, t, n, r) {if (!(e instanceof t) || void 0 !== r && r in e) throw TypeError(n + ": incorrect invocation!");return e;};}, function (e, t, n) {var r = n(29),i = n(106),a = n(107),o = n(21),u = n(60),s = n(108),l = {},c = {};(t = e.exports = function (e, t, n, f, d) {var p,h,g,m,v = d ? function () {return e;} : s(e),b = r(n, f, t ? 2 : 1),y = 0;if ("function" != typeof v) throw TypeError(e + " is not iterable!");if (a(v)) {for (p = u(e.length); p > y; y++) if ((m = t ? b(o(h = e[y])[0], h[1]) : b(e[y])) === l || m === c) return m;} else for (g = v.call(e); !(h = g.next()).done;) if ((m = i(g, b, h.value, t)) === l || m === c) return m;}).BREAK = l, t.RETURN = c;}, function (e, t, n) {var r = n(27)("meta"),i = n(12),a = n(22),o = n(20).f,u = 0,s = Object.isExtensible || function () {return !0;},l = !n(28)(function () {return s(Object.preventExtensions({}));}),c = function (e) {o(e, r, { value: { i: "O" + ++u, w: {} } });},f = e.exports = { KEY: r, NEED: !1, fastKey: function (e, t) {if (!i(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;if (!a(e, r)) {if (!s(e)) return "F";if (!t) return "E";c(e);}return e[r].i;}, getWeak: function (e, t) {if (!a(e, r)) {if (!s(e)) return !0;if (!t) return !1;c(e);}return e[r].w;}, onFreeze: function (e) {return l && f.NEED && s(e) && !a(e, r) && c(e), e;} };}, function (e, t, n) {"use strict";var r = n(8),i = n(57),a = n(18),o = n(65),u = n(68),s = n(67),l = n(66),c = n(12),f = n(28),d = n(110),p = n(39),h = n(111);e.exports = function (e, t, n, g, m, v) {var b = r[e],y = b,_ = m ? "set" : "add",x = y && y.prototype,S = {},T = function (e) {var t = x[e];a(x, e, "delete" == e || "has" == e ? function (e) {return !(v && !c(e)) && t.call(this, 0 === e ? 0 : e);} : "get" == e ? function (e) {return v && !c(e) ? void 0 : t.call(this, 0 === e ? 0 : e);} : "add" == e ? function (e) {return t.call(this, 0 === e ? 0 : e), this;} : function (e, n) {return t.call(this, 0 === e ? 0 : e, n), this;});};if ("function" == typeof y && (v || x.forEach && !f(function () {new y().entries().next();}))) {var w = new y(),E = w[_](v ? {} : -0, 1) != w,C = f(function () {w.has(1);}),k = d(function (e) {new y(e);}),P = !v && f(function () {for (var e = new y(), t = 5; t--;) e[_](t, t);return !e.has(-0);});k || ((y = t(function (t, n) {l(t, y, e);var r = h(new b(), t, y);return null != n && s(n, m, r[_], r), r;})).prototype = x, x.constructor = y), (C || P) && (T("delete"), T("has"), m && T("get")), (P || E) && T(_), v && x.clear && delete x.clear;} else y = g.getConstructor(t, e, m, _), o(y.prototype, n), u.NEED = !0;return p(y, e), S[e] = y, i(i.G + i.W + i.F * (y != b), S), v || g.setStrong(y, e, m), y;};}, function (e, t, n) {"use strict";
  /*
  object-assign
  (c) Sindre Sorhus
  @license MIT
  */var r = Object.getOwnPropertySymbols,i = Object.prototype.hasOwnProperty,a = Object.prototype.propertyIsEnumerable;function o(e) {if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e);}e.exports = function () {try {if (!Object.assign) return !1;var e = new String("abc");if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) return !1;for (var t = {}, n = 0; n < 10; n++) t["_" + String.fromCharCode(n)] = n;if ("0123456789" !== Object.getOwnPropertyNames(t).map(function (e) {return t[e];}).join("")) return !1;var r = {};return "abcdefghijklmnopqrst".split("").forEach(function (e) {r[e] = e;}), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("");} catch (e) {return !1;}}() ? Object.assign : function (e, t) {for (var n, u, s = o(e), l = 1; l < arguments.length; l++) {for (var c in n = Object(arguments[l])) i.call(n, c) && (s[c] = n[c]);if (r) {u = r(n);for (var f = 0; f < u.length; f++) a.call(n, u[f]) && (s[u[f]] = n[u[f]]);}}return s;};}, function (e, t) {var n;n = function () {return this;}();try {n = n || new Function("return this")();} catch (e) {"object" == typeof window && (n = window);}e.exports = n;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function () {return { currentScreen: r.MAIN_MENU_SCREEN, currentPopup: null, isPopupOpen: !1, isSelectCountryOpen: !1, isSelectProductOpen: !1, isSpecialProductDetailPopupOpen: !1, data: { isGift: !1, country: { calcEuTax: 0, calcZoll: 0, eu: 0, imgSrc: "", iso2: "", searchFieldInputValue: "", specialZone: 0, subText: "", text: "" }, product: { category: { text: "" }, searchFieldInputValue: "", description: "", descriptionShort: "", euTax: "", maxZollTaxAmount: "", productTags: [""], text: "", zollTax: "", excludeFromCalculation: 0, unselectableProduct: null }, currency: { name: "Euro (EUR)", value: "0", calculationValue: 0, cursorStart: 0, cursorEnd: 0, exchangeRate: "1.0", iso2: "EU" }, catalog: { searchFieldInputValue: "", selectedProduct: null, selectedCategory: null, view: { value: r.CATALOG_SCREEN_VIEW_PRODUCTS } } } };};var r = n(9);}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {return a.default[e.type](e, t, n);};var r,i = n(136),a = (r = i) && r.__esModule ? r : { default: r };}, function (e, t, n) {var r = n(75),i = { input: !0, option: !0, optgroup: !0, select: !0, button: !0, datalist: !0, textarea: !0 },a = { tr: { tr: !0, th: !0, td: !0 }, th: { th: !0 }, td: { thead: !0, th: !0, td: !0 }, body: { head: !0, link: !0, script: !0 }, li: { li: !0 }, p: { p: !0 }, h1: { p: !0 }, h2: { p: !0 }, h3: { p: !0 }, h4: { p: !0 }, h5: { p: !0 }, h6: { p: !0 }, select: i, input: i, output: i, button: i, datalist: i, textarea: i, option: { option: !0 }, optgroup: { optgroup: !0 } },o = { __proto__: null, area: !0, base: !0, basefont: !0, br: !0, col: !0, command: !0, embed: !0, frame: !0, hr: !0, img: !0, input: !0, isindex: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 },u = { __proto__: null, math: !0, svg: !0 },s = { __proto__: null, mi: !0, mo: !0, mn: !0, ms: !0, mtext: !0, "annotation-xml": !0, foreignObject: !0, desc: !0, title: !0 },l = /\s|\//;function c(e, t) {this._options = t || {}, this._cbs = e || {}, this._tagname = "", this._attribname = "", this._attribvalue = "", this._attribs = null, this._stack = [], this._foreignContext = [], this.startIndex = 0, this.endIndex = null, this._lowerCaseTagNames = "lowerCaseTags" in this._options ? !!this._options.lowerCaseTags : !this._options.xmlMode, this._lowerCaseAttributeNames = "lowerCaseAttributeNames" in this._options ? !!this._options.lowerCaseAttributeNames : !this._options.xmlMode, this._options.Tokenizer && (r = this._options.Tokenizer), this._tokenizer = new r(this._options, this), this._cbs.onparserinit && this._cbs.onparserinit(this);}n(31)(c, n(138).EventEmitter), c.prototype._updatePosition = function (e) {null === this.endIndex ? this._tokenizer._sectionStart <= e ? this.startIndex = 0 : this.startIndex = this._tokenizer._sectionStart - e : this.startIndex = this.endIndex + 1, this.endIndex = this._tokenizer.getAbsoluteIndex();}, c.prototype.ontext = function (e) {this._updatePosition(1), this.endIndex--, this._cbs.ontext && this._cbs.ontext(e);}, c.prototype.onopentagname = function (e) {if (this._lowerCaseTagNames && (e = e.toLowerCase()), this._tagname = e, !this._options.xmlMode && e in a) for (var t; ((t = this._stack[this._stack.length - 1]) in a[e]); this.onclosetag(t));!this._options.xmlMode && e in o || (this._stack.push(e), e in u ? this._foreignContext.push(!0) : e in s && this._foreignContext.push(!1)), this._cbs.onopentagname && this._cbs.onopentagname(e), this._cbs.onopentag && (this._attribs = {});}, c.prototype.onopentagend = function () {this._updatePosition(1), this._attribs && (this._cbs.onopentag && this._cbs.onopentag(this._tagname, this._attribs), this._attribs = null), !this._options.xmlMode && this._cbs.onclosetag && this._tagname in o && this._cbs.onclosetag(this._tagname), this._tagname = "";}, c.prototype.onclosetag = function (e) {if (this._updatePosition(1), this._lowerCaseTagNames && (e = e.toLowerCase()), (e in u || e in s) && this._foreignContext.pop(), !this._stack.length || e in o && !this._options.xmlMode) this._options.xmlMode || "br" !== e && "p" !== e || (this.onopentagname(e), this._closeCurrentTag());else {var t = this._stack.lastIndexOf(e);if (-1 !== t) {if (this._cbs.onclosetag) for (t = this._stack.length - t; t--;) this._cbs.onclosetag(this._stack.pop());else this._stack.length = t;} else "p" !== e || this._options.xmlMode || (this.onopentagname(e), this._closeCurrentTag());}}, c.prototype.onselfclosingtag = function () {this._options.xmlMode || this._options.recognizeSelfClosing || this._foreignContext[this._foreignContext.length - 1] ? this._closeCurrentTag() : this.onopentagend();}, c.prototype._closeCurrentTag = function () {var e = this._tagname;this.onopentagend(), this._stack[this._stack.length - 1] === e && (this._cbs.onclosetag && this._cbs.onclosetag(e), this._stack.pop());}, c.prototype.onattribname = function (e) {this._lowerCaseAttributeNames && (e = e.toLowerCase()), this._attribname = e;}, c.prototype.onattribdata = function (e) {this._attribvalue += e;}, c.prototype.onattribend = function () {this._cbs.onattribute && this._cbs.onattribute(this._attribname, this._attribvalue), this._attribs && !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname) && (this._attribs[this._attribname] = this._attribvalue), this._attribname = "", this._attribvalue = "";}, c.prototype._getInstructionName = function (e) {var t = e.search(l),n = t < 0 ? e : e.substr(0, t);return this._lowerCaseTagNames && (n = n.toLowerCase()), n;}, c.prototype.ondeclaration = function (e) {if (this._cbs.onprocessinginstruction) {var t = this._getInstructionName(e);this._cbs.onprocessinginstruction("!" + t, "!" + e);}}, c.prototype.onprocessinginstruction = function (e) {if (this._cbs.onprocessinginstruction) {var t = this._getInstructionName(e);this._cbs.onprocessinginstruction("?" + t, "?" + e);}}, c.prototype.oncomment = function (e) {this._updatePosition(4), this._cbs.oncomment && this._cbs.oncomment(e), this._cbs.oncommentend && this._cbs.oncommentend();}, c.prototype.oncdata = function (e) {this._updatePosition(1), this._options.xmlMode || this._options.recognizeCDATA ? (this._cbs.oncdatastart && this._cbs.oncdatastart(), this._cbs.ontext && this._cbs.ontext(e), this._cbs.oncdataend && this._cbs.oncdataend()) : this.oncomment("[CDATA[" + e + "]]");}, c.prototype.onerror = function (e) {this._cbs.onerror && this._cbs.onerror(e);}, c.prototype.onend = function () {if (this._cbs.onclosetag) for (var e = this._stack.length; e > 0; this._cbs.onclosetag(this._stack[--e]));this._cbs.onend && this._cbs.onend();}, c.prototype.reset = function () {this._cbs.onreset && this._cbs.onreset(), this._tokenizer.reset(), this._tagname = "", this._attribname = "", this._attribs = null, this._stack = [], this._cbs.onparserinit && this._cbs.onparserinit(this);}, c.prototype.parseComplete = function (e) {this.reset(), this.end(e);}, c.prototype.write = function (e) {this._tokenizer.write(e);}, c.prototype.end = function (e) {this._tokenizer.end(e);}, c.prototype.pause = function () {this._tokenizer.pause();}, c.prototype.resume = function () {this._tokenizer.resume();}, c.prototype.parseChunk = c.prototype.write, c.prototype.done = c.prototype.end, e.exports = c;}, function (e, t, n) {e.exports = me;var r = n(76),i = n(44),a = n(77),o = n(45),u = 0,s = u++,l = u++,c = u++,f = u++,d = u++,p = u++,h = u++,g = u++,m = u++,v = u++,b = u++,y = u++,_ = u++,x = u++,S = u++,T = u++,w = u++,E = u++,C = u++,k = u++,P = u++,R = u++,O = u++,A = u++,I = u++,N = u++,q = u++,L = u++,z = u++,D = u++,j = u++,B = u++,M = u++,F = u++,Z = u++,U = u++,V = u++,W = u++,G = u++,H = u++,K = u++,Y = u++,$ = u++,Q = u++,X = u++,J = u++,ee = u++,te = u++,ne = u++,re = u++,ie = u++,ae = u++,oe = u++,ue = u++,se = u++,le = 0,ce = le++,fe = le++,de = le++;function pe(e) {return " " === e || "\n" === e || "\t" === e || "\f" === e || "\r" === e;}function he(e, t, n) {var r = e.toLowerCase();return e === r ? function (e) {e === r ? this._state = t : (this._state = n, this._index--);} : function (i) {i === r || i === e ? this._state = t : (this._state = n, this._index--);};}function ge(e, t) {var n = e.toLowerCase();return function (r) {r === n || r === e ? this._state = t : (this._state = c, this._index--);};}function me(e, t) {this._state = s, this._buffer = "", this._sectionStart = 0, this._index = 0, this._bufferOffset = 0, this._baseState = s, this._special = ce, this._cbs = t, this._running = !0, this._ended = !1, this._xmlMode = !(!e || !e.xmlMode), this._decodeEntities = !(!e || !e.decodeEntities);}me.prototype._stateText = function (e) {"<" === e ? (this._index > this._sectionStart && this._cbs.ontext(this._getSection()), this._state = l, this._sectionStart = this._index) : this._decodeEntities && this._special === ce && "&" === e && (this._index > this._sectionStart && this._cbs.ontext(this._getSection()), this._baseState = s, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateBeforeTagName = function (e) {"/" === e ? this._state = d : "<" === e ? (this._cbs.ontext(this._getSection()), this._sectionStart = this._index) : ">" === e || this._special !== ce || pe(e) ? this._state = s : "!" === e ? (this._state = S, this._sectionStart = this._index + 1) : "?" === e ? (this._state = w, this._sectionStart = this._index + 1) : (this._state = this._xmlMode || "s" !== e && "S" !== e ? c : j, this._sectionStart = this._index);}, me.prototype._stateInTagName = function (e) {("/" === e || ">" === e || pe(e)) && (this._emitToken("onopentagname"), this._state = g, this._index--);}, me.prototype._stateBeforeCloseingTagName = function (e) {pe(e) || (">" === e ? this._state = s : this._special !== ce ? "s" === e || "S" === e ? this._state = B : (this._state = s, this._index--) : (this._state = p, this._sectionStart = this._index));}, me.prototype._stateInCloseingTagName = function (e) {(">" === e || pe(e)) && (this._emitToken("onclosetag"), this._state = h, this._index--);}, me.prototype._stateAfterCloseingTagName = function (e) {">" === e && (this._state = s, this._sectionStart = this._index + 1);}, me.prototype._stateBeforeAttributeName = function (e) {">" === e ? (this._cbs.onopentagend(), this._state = s, this._sectionStart = this._index + 1) : "/" === e ? this._state = f : pe(e) || (this._state = m, this._sectionStart = this._index);}, me.prototype._stateInSelfClosingTag = function (e) {">" === e ? (this._cbs.onselfclosingtag(), this._state = s, this._sectionStart = this._index + 1) : pe(e) || (this._state = g, this._index--);}, me.prototype._stateInAttributeName = function (e) {("=" === e || "/" === e || ">" === e || pe(e)) && (this._cbs.onattribname(this._getSection()), this._sectionStart = -1, this._state = v, this._index--);}, me.prototype._stateAfterAttributeName = function (e) {"=" === e ? this._state = b : "/" === e || ">" === e ? (this._cbs.onattribend(), this._state = g, this._index--) : pe(e) || (this._cbs.onattribend(), this._state = m, this._sectionStart = this._index);}, me.prototype._stateBeforeAttributeValue = function (e) {'"' === e ? (this._state = y, this._sectionStart = this._index + 1) : "'" === e ? (this._state = _, this._sectionStart = this._index + 1) : pe(e) || (this._state = x, this._sectionStart = this._index, this._index--);}, me.prototype._stateInAttributeValueDoubleQuotes = function (e) {'"' === e ? (this._emitToken("onattribdata"), this._cbs.onattribend(), this._state = g) : this._decodeEntities && "&" === e && (this._emitToken("onattribdata"), this._baseState = this._state, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateInAttributeValueSingleQuotes = function (e) {"'" === e ? (this._emitToken("onattribdata"), this._cbs.onattribend(), this._state = g) : this._decodeEntities && "&" === e && (this._emitToken("onattribdata"), this._baseState = this._state, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateInAttributeValueNoQuotes = function (e) {pe(e) || ">" === e ? (this._emitToken("onattribdata"), this._cbs.onattribend(), this._state = g, this._index--) : this._decodeEntities && "&" === e && (this._emitToken("onattribdata"), this._baseState = this._state, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateBeforeDeclaration = function (e) {this._state = "[" === e ? R : "-" === e ? E : T;}, me.prototype._stateInDeclaration = function (e) {">" === e && (this._cbs.ondeclaration(this._getSection()), this._state = s, this._sectionStart = this._index + 1);}, me.prototype._stateInProcessingInstruction = function (e) {">" === e && (this._cbs.onprocessinginstruction(this._getSection()), this._state = s, this._sectionStart = this._index + 1);}, me.prototype._stateBeforeComment = function (e) {"-" === e ? (this._state = C, this._sectionStart = this._index + 1) : this._state = T;}, me.prototype._stateInComment = function (e) {"-" === e && (this._state = k);}, me.prototype._stateAfterComment1 = function (e) {this._state = "-" === e ? P : C;}, me.prototype._stateAfterComment2 = function (e) {">" === e ? (this._cbs.oncomment(this._buffer.substring(this._sectionStart, this._index - 2)), this._state = s, this._sectionStart = this._index + 1) : "-" !== e && (this._state = C);}, me.prototype._stateBeforeCdata1 = he("C", O, T), me.prototype._stateBeforeCdata2 = he("D", A, T), me.prototype._stateBeforeCdata3 = he("A", I, T), me.prototype._stateBeforeCdata4 = he("T", N, T), me.prototype._stateBeforeCdata5 = he("A", q, T), me.prototype._stateBeforeCdata6 = function (e) {"[" === e ? (this._state = L, this._sectionStart = this._index + 1) : (this._state = T, this._index--);}, me.prototype._stateInCdata = function (e) {"]" === e && (this._state = z);}, me.prototype._stateAfterCdata1 = function (e) {this._state = "]" === e ? D : L;}, me.prototype._stateAfterCdata2 = function (e) {">" === e ? (this._cbs.oncdata(this._buffer.substring(this._sectionStart, this._index - 2)), this._state = s, this._sectionStart = this._index + 1) : "]" !== e && (this._state = L);}, me.prototype._stateBeforeSpecial = function (e) {"c" === e || "C" === e ? this._state = M : "t" === e || "T" === e ? this._state = $ : (this._state = c, this._index--);}, me.prototype._stateBeforeSpecialEnd = function (e) {this._special !== fe || "c" !== e && "C" !== e ? this._special !== de || "t" !== e && "T" !== e ? this._state = s : this._state = ee : this._state = W;}, me.prototype._stateBeforeScript1 = ge("R", F), me.prototype._stateBeforeScript2 = ge("I", Z), me.prototype._stateBeforeScript3 = ge("P", U), me.prototype._stateBeforeScript4 = ge("T", V), me.prototype._stateBeforeScript5 = function (e) {("/" === e || ">" === e || pe(e)) && (this._special = fe), this._state = c, this._index--;}, me.prototype._stateAfterScript1 = he("R", G, s), me.prototype._stateAfterScript2 = he("I", H, s), me.prototype._stateAfterScript3 = he("P", K, s), me.prototype._stateAfterScript4 = he("T", Y, s), me.prototype._stateAfterScript5 = function (e) {">" === e || pe(e) ? (this._special = ce, this._state = p, this._sectionStart = this._index - 6, this._index--) : this._state = s;}, me.prototype._stateBeforeStyle1 = ge("Y", Q), me.prototype._stateBeforeStyle2 = ge("L", X), me.prototype._stateBeforeStyle3 = ge("E", J), me.prototype._stateBeforeStyle4 = function (e) {("/" === e || ">" === e || pe(e)) && (this._special = de), this._state = c, this._index--;}, me.prototype._stateAfterStyle1 = he("Y", te, s), me.prototype._stateAfterStyle2 = he("L", ne, s), me.prototype._stateAfterStyle3 = he("E", re, s), me.prototype._stateAfterStyle4 = function (e) {">" === e || pe(e) ? (this._special = ce, this._state = p, this._sectionStart = this._index - 5, this._index--) : this._state = s;}, me.prototype._stateBeforeEntity = he("#", ae, oe), me.prototype._stateBeforeNumericEntity = he("X", se, ue), me.prototype._parseNamedEntityStrict = function () {if (this._sectionStart + 1 < this._index) {var e = this._buffer.substring(this._sectionStart + 1, this._index),t = this._xmlMode ? o : i;t.hasOwnProperty(e) && (this._emitPartial(t[e]), this._sectionStart = this._index + 1);}}, me.prototype._parseLegacyEntity = function () {var e = this._sectionStart + 1,t = this._index - e;for (t > 6 && (t = 6); t >= 2;) {var n = this._buffer.substr(e, t);if (a.hasOwnProperty(n)) return this._emitPartial(a[n]), void (this._sectionStart += t + 1);t--;}}, me.prototype._stateInNamedEntity = function (e) {";" === e ? (this._parseNamedEntityStrict(), this._sectionStart + 1 < this._index && !this._xmlMode && this._parseLegacyEntity(), this._state = this._baseState) : (e < "a" || e > "z") && (e < "A" || e > "Z") && (e < "0" || e > "9") && (this._xmlMode || this._sectionStart + 1 === this._index || (this._baseState !== s ? "=" !== e && this._parseNamedEntityStrict() : this._parseLegacyEntity()), this._state = this._baseState, this._index--);}, me.prototype._decodeNumericEntity = function (e, t) {var n = this._sectionStart + e;if (n !== this._index) {var i = this._buffer.substring(n, this._index),a = parseInt(i, t);this._emitPartial(r(a)), this._sectionStart = this._index;} else this._sectionStart--;this._state = this._baseState;}, me.prototype._stateInNumericEntity = function (e) {";" === e ? (this._decodeNumericEntity(2, 10), this._sectionStart++) : (e < "0" || e > "9") && (this._xmlMode ? this._state = this._baseState : this._decodeNumericEntity(2, 10), this._index--);}, me.prototype._stateInHexEntity = function (e) {";" === e ? (this._decodeNumericEntity(3, 16), this._sectionStart++) : (e < "a" || e > "f") && (e < "A" || e > "F") && (e < "0" || e > "9") && (this._xmlMode ? this._state = this._baseState : this._decodeNumericEntity(3, 16), this._index--);}, me.prototype._cleanup = function () {this._sectionStart < 0 ? (this._buffer = "", this._bufferOffset += this._index, this._index = 0) : this._running && (this._state === s ? (this._sectionStart !== this._index && this._cbs.ontext(this._buffer.substr(this._sectionStart)), this._buffer = "", this._bufferOffset += this._index, this._index = 0) : this._sectionStart === this._index ? (this._buffer = "", this._bufferOffset += this._index, this._index = 0) : (this._buffer = this._buffer.substr(this._sectionStart), this._index -= this._sectionStart, this._bufferOffset += this._sectionStart), this._sectionStart = 0);}, me.prototype.write = function (e) {this._ended && this._cbs.onerror(Error(".write() after done!")), this._buffer += e, this._parse();}, me.prototype._parse = function () {for (; this._index < this._buffer.length && this._running;) {var e = this._buffer.charAt(this._index);this._state === s ? this._stateText(e) : this._state === l ? this._stateBeforeTagName(e) : this._state === c ? this._stateInTagName(e) : this._state === d ? this._stateBeforeCloseingTagName(e) : this._state === p ? this._stateInCloseingTagName(e) : this._state === h ? this._stateAfterCloseingTagName(e) : this._state === f ? this._stateInSelfClosingTag(e) : this._state === g ? this._stateBeforeAttributeName(e) : this._state === m ? this._stateInAttributeName(e) : this._state === v ? this._stateAfterAttributeName(e) : this._state === b ? this._stateBeforeAttributeValue(e) : this._state === y ? this._stateInAttributeValueDoubleQuotes(e) : this._state === _ ? this._stateInAttributeValueSingleQuotes(e) : this._state === x ? this._stateInAttributeValueNoQuotes(e) : this._state === S ? this._stateBeforeDeclaration(e) : this._state === T ? this._stateInDeclaration(e) : this._state === w ? this._stateInProcessingInstruction(e) : this._state === E ? this._stateBeforeComment(e) : this._state === C ? this._stateInComment(e) : this._state === k ? this._stateAfterComment1(e) : this._state === P ? this._stateAfterComment2(e) : this._state === R ? this._stateBeforeCdata1(e) : this._state === O ? this._stateBeforeCdata2(e) : this._state === A ? this._stateBeforeCdata3(e) : this._state === I ? this._stateBeforeCdata4(e) : this._state === N ? this._stateBeforeCdata5(e) : this._state === q ? this._stateBeforeCdata6(e) : this._state === L ? this._stateInCdata(e) : this._state === z ? this._stateAfterCdata1(e) : this._state === D ? this._stateAfterCdata2(e) : this._state === j ? this._stateBeforeSpecial(e) : this._state === B ? this._stateBeforeSpecialEnd(e) : this._state === M ? this._stateBeforeScript1(e) : this._state === F ? this._stateBeforeScript2(e) : this._state === Z ? this._stateBeforeScript3(e) : this._state === U ? this._stateBeforeScript4(e) : this._state === V ? this._stateBeforeScript5(e) : this._state === W ? this._stateAfterScript1(e) : this._state === G ? this._stateAfterScript2(e) : this._state === H ? this._stateAfterScript3(e) : this._state === K ? this._stateAfterScript4(e) : this._state === Y ? this._stateAfterScript5(e) : this._state === $ ? this._stateBeforeStyle1(e) : this._state === Q ? this._stateBeforeStyle2(e) : this._state === X ? this._stateBeforeStyle3(e) : this._state === J ? this._stateBeforeStyle4(e) : this._state === ee ? this._stateAfterStyle1(e) : this._state === te ? this._stateAfterStyle2(e) : this._state === ne ? this._stateAfterStyle3(e) : this._state === re ? this._stateAfterStyle4(e) : this._state === ie ? this._stateBeforeEntity(e) : this._state === ae ? this._stateBeforeNumericEntity(e) : this._state === oe ? this._stateInNamedEntity(e) : this._state === ue ? this._stateInNumericEntity(e) : this._state === se ? this._stateInHexEntity(e) : this._cbs.onerror(Error("unknown _state"), this._state), this._index++;}this._cleanup();}, me.prototype.pause = function () {this._running = !1;}, me.prototype.resume = function () {this._running = !0, this._index < this._buffer.length && this._parse(), this._ended && this._finish();}, me.prototype.end = function (e) {this._ended && this._cbs.onerror(Error(".end() after done!")), e && this.write(e), this._ended = !0, this._running && this._finish();}, me.prototype._finish = function () {this._sectionStart < this._index && this._handleTrailingData(), this._cbs.onend();}, me.prototype._handleTrailingData = function () {var e = this._buffer.substr(this._sectionStart);this._state === L || this._state === z || this._state === D ? this._cbs.oncdata(e) : this._state === C || this._state === k || this._state === P ? this._cbs.oncomment(e) : this._state !== oe || this._xmlMode ? this._state !== ue || this._xmlMode ? this._state !== se || this._xmlMode ? this._state !== c && this._state !== g && this._state !== b && this._state !== v && this._state !== m && this._state !== _ && this._state !== y && this._state !== x && this._state !== p && this._cbs.ontext(e) : (this._decodeNumericEntity(3, 16), this._sectionStart < this._index && (this._state = this._baseState, this._handleTrailingData())) : (this._decodeNumericEntity(2, 10), this._sectionStart < this._index && (this._state = this._baseState, this._handleTrailingData())) : (this._parseLegacyEntity(), this._sectionStart < this._index && (this._state = this._baseState, this._handleTrailingData()));}, me.prototype.reset = function () {me.call(this, { xmlMode: this._xmlMode, decodeEntities: this._decodeEntities }, this._cbs);}, me.prototype.getAbsoluteIndex = function () {return this._bufferOffset + this._index;}, me.prototype._getSection = function () {return this._buffer.substring(this._sectionStart, this._index);}, me.prototype._emitToken = function (e) {this._cbs[e](this._getSection()), this._sectionStart = -1;}, me.prototype._emitPartial = function (e) {this._baseState !== s ? this._cbs.onattribdata(e) : this._cbs.ontext(e);};}, function (e, t, n) {var r = n(137);e.exports = function (e) {if (e >= 55296 && e <= 57343 || e > 1114111) return "�";e in r && (e = r[e]);var t = "";e > 65535 && (e -= 65536, t += String.fromCharCode(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e);return t += String.fromCharCode(e);};}, function (e) {e.exports = JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}');}, function (e, t, n) {var r = n(24),i = /\s+/g,a = n(79),o = n(139);function u(e, t, n) {"object" == typeof e ? (n = t, t = e, e = null) : "function" == typeof t && (n = t, t = s), this._callback = e, this._options = t || s, this._elementCB = n, this.dom = [], this._done = !1, this._tagStack = [], this._parser = this._parser || null;}var s = { normalizeWhitespace: !1, withStartIndices: !1 };u.prototype.onparserinit = function (e) {this._parser = e;}, u.prototype.onreset = function () {u.call(this, this._callback, this._options, this._elementCB);}, u.prototype.onend = function () {this._done || (this._done = !0, this._parser = null, this._handleCallback(null));}, u.prototype._handleCallback = u.prototype.onerror = function (e) {if ("function" == typeof this._callback) this._callback(e, this.dom);else if (e) throw e;}, u.prototype.onclosetag = function () {var e = this._tagStack.pop();this._elementCB && this._elementCB(e);}, u.prototype._addDomElement = function (e) {var t = this._tagStack[this._tagStack.length - 1],n = t ? t.children : this.dom,r = n[n.length - 1];e.next = null, this._options.withStartIndices && (e.startIndex = this._parser.startIndex), this._options.withDomLvl1 && (e.__proto__ = "tag" === e.type ? o : a), r ? (e.prev = r, r.next = e) : e.prev = null, n.push(e), e.parent = t || null;}, u.prototype.onopentag = function (e, t) {var n = { type: "script" === e ? r.Script : "style" === e ? r.Style : r.Tag, name: e, attribs: t, children: [] };this._addDomElement(n), this._tagStack.push(n);}, u.prototype.ontext = function (e) {var t,n = this._options.normalizeWhitespace || this._options.ignoreWhitespace;!this._tagStack.length && this.dom.length && (t = this.dom[this.dom.length - 1]).type === r.Text || this._tagStack.length && (t = this._tagStack[this._tagStack.length - 1]) && (t = t.children[t.children.length - 1]) && t.type === r.Text ? n ? t.data = (t.data + e).replace(i, " ") : t.data += e : (n && (e = e.replace(i, " ")), this._addDomElement({ data: e, type: r.Text }));}, u.prototype.oncomment = function (e) {var t = this._tagStack[this._tagStack.length - 1];if (t && t.type === r.Comment) t.data += e;else {var n = { data: e, type: r.Comment };this._addDomElement(n), this._tagStack.push(n);}}, u.prototype.oncdatastart = function () {var e = { children: [{ data: "", type: r.Text }], type: r.CDATA };this._addDomElement(e), this._tagStack.push(e);}, u.prototype.oncommentend = u.prototype.oncdataend = function () {this._tagStack.pop();}, u.prototype.onprocessinginstruction = function (e, t) {this._addDomElement({ name: e, data: t, type: r.Directive });}, e.exports = u;}, function (e, t) {var n = e.exports = { get firstChild() {var e = this.children;return e && e[0] || null;}, get lastChild() {var e = this.children;return e && e[e.length - 1] || null;}, get nodeType() {return i[this.type] || i.element;} },r = { tagName: "name", childNodes: "children", parentNode: "parent", previousSibling: "prev", nextSibling: "next", nodeValue: "data" },i = { element: 1, text: 3, cdata: 4, comment: 8 };Object.keys(r).forEach(function (e) {var t = r[e];Object.defineProperty(n, e, { get: function () {return this[t] || null;}, set: function (e) {return this[t] = e, e;} });});}, function (e, t, n) {var r = e.exports;[n(141), n(146), n(147), n(148), n(149), n(150)].forEach(function (e) {Object.keys(e).forEach(function (t) {r[t] = e[t].bind(r);});});}, function (e, t, n) {e.exports = u;var r = n(74),i = n(152).Writable,a = n(153).StringDecoder,o = n(82).Buffer;function u(e, t) {var n = this._parser = new r(e, t),o = this._decoder = new a();i.call(this, { decodeStrings: !1 }), this.once("finish", function () {n.end(o.end());});}n(31)(u, i), u.prototype._write = function (e, t, n) {e instanceof o && (e = this._decoder.write(e)), this._parser.write(e), n();};}, function (e, t, n) {"use strict";(function (e) {
    /*!
     * The buffer module from node.js, for the browser.
     *
     * @author   Feross Aboukhadijeh <http://feross.org>
     * @license  MIT
     */
    var r = n(155),i = n(156),a = n(157);function o() {return s.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;}function u(e, t) {if (o() < t) throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = s.prototype : (null === e && (e = new s(t)), e.length = t), e;}function s(e, t, n) {if (!(s.TYPED_ARRAY_SUPPORT || this instanceof s)) return new s(e, t, n);if ("number" == typeof e) {if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string");return f(this, e);}return l(this, e, t, n);}function l(e, t, n, r) {if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function (e, t, n, r) {if (t.byteLength, n < 0 || t.byteLength < n) throw new RangeError("'offset' is out of bounds");if (t.byteLength < n + (r || 0)) throw new RangeError("'length' is out of bounds");t = void 0 === n && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, n) : new Uint8Array(t, n, r);s.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = s.prototype : e = d(e, t);return e;}(e, t, n, r) : "string" == typeof t ? function (e, t, n) {"string" == typeof n && "" !== n || (n = "utf8");if (!s.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding');var r = 0 | h(t, n),i = (e = u(e, r)).write(t, n);i !== r && (e = e.slice(0, i));return e;}(e, t, n) : function (e, t) {if (s.isBuffer(t)) {var n = 0 | p(t.length);return 0 === (e = u(e, n)).length || t.copy(e, 0, 0, n), e;}if (t) {if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || (r = t.length) != r ? u(e, 0) : d(e, t);if ("Buffer" === t.type && a(t.data)) return d(e, t.data);}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");}(e, t);}function c(e) {if ("number" != typeof e) throw new TypeError('"size" argument must be a number');if (e < 0) throw new RangeError('"size" argument must not be negative');}function f(e, t) {if (c(t), e = u(e, t < 0 ? 0 : 0 | p(t)), !s.TYPED_ARRAY_SUPPORT) for (var n = 0; n < t; ++n) e[n] = 0;return e;}function d(e, t) {var n = t.length < 0 ? 0 : 0 | p(t.length);e = u(e, n);for (var r = 0; r < n; r += 1) e[r] = 255 & t[r];return e;}function p(e) {if (e >= o()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + o().toString(16) + " bytes");return 0 | e;}function h(e, t) {if (s.isBuffer(e)) return e.length;if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;"string" != typeof e && (e = "" + e);var n = e.length;if (0 === n) return 0;for (var r = !1;;) switch (t) {case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":case void 0:return M(e).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2 * n;case "hex":return n >>> 1;case "base64":return F(e).length;default:if (r) return M(e).length;t = ("" + t).toLowerCase(), r = !0;}}function g(e, t, n) {var r = !1;if ((void 0 === t || t < 0) && (t = 0), t > this.length) return "";if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return "";if ((n >>>= 0) <= (t >>>= 0)) return "";for (e || (e = "utf8");;) switch (e) {case "hex":return R(this, t, n);case "utf8":case "utf-8":return C(this, t, n);case "ascii":return k(this, t, n);case "latin1":case "binary":return P(this, t, n);case "base64":return E(this, t, n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return O(this, t, n);default:if (r) throw new TypeError("Unknown encoding: " + e);e = (e + "").toLowerCase(), r = !0;}}function m(e, t, n) {var r = e[t];e[t] = e[n], e[n] = r;}function v(e, t, n, r, i) {if (0 === e.length) return -1;if ("string" == typeof n ? (r = n, n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n = -2147483648), n = +n, isNaN(n) && (n = i ? 0 : e.length - 1), n < 0 && (n = e.length + n), n >= e.length) {if (i) return -1;n = e.length - 1;} else if (n < 0) {if (!i) return -1;n = 0;}if ("string" == typeof t && (t = s.from(t, r)), s.isBuffer(t)) return 0 === t.length ? -1 : b(e, t, n, r, i);if ("number" == typeof t) return t &= 255, s.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : b(e, [t], n, r, i);throw new TypeError("val must be string, number or Buffer");}function b(e, t, n, r, i) {var a,o = 1,u = e.length,s = t.length;if (void 0 !== r && ("ucs2" === (r = String(r).toLowerCase()) || "ucs-2" === r || "utf16le" === r || "utf-16le" === r)) {if (e.length < 2 || t.length < 2) return -1;o = 2, u /= 2, s /= 2, n /= 2;}function l(e, t) {return 1 === o ? e[t] : e.readUInt16BE(t * o);}if (i) {var c = -1;for (a = n; a < u; a++) if (l(e, a) === l(t, -1 === c ? 0 : a - c)) {if (-1 === c && (c = a), a - c + 1 === s) return c * o;} else -1 !== c && (a -= a - c), c = -1;} else for (n + s > u && (n = u - s), a = n; a >= 0; a--) {for (var f = !0, d = 0; d < s; d++) if (l(e, a + d) !== l(t, d)) {f = !1;break;}if (f) return a;}return -1;}function y(e, t, n, r) {n = Number(n) || 0;var i = e.length - n;r ? (r = Number(r)) > i && (r = i) : r = i;var a = t.length;if (a % 2 != 0) throw new TypeError("Invalid hex string");r > a / 2 && (r = a / 2);for (var o = 0; o < r; ++o) {var u = parseInt(t.substr(2 * o, 2), 16);if (isNaN(u)) return o;e[n + o] = u;}return o;}function _(e, t, n, r) {return Z(M(t, e.length - n), e, n, r);}function x(e, t, n, r) {return Z(function (e) {for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n));return t;}(t), e, n, r);}function S(e, t, n, r) {return x(e, t, n, r);}function T(e, t, n, r) {return Z(F(t), e, n, r);}function w(e, t, n, r) {return Z(function (e, t) {for (var n, r, i, a = [], o = 0; o < e.length && !((t -= 2) < 0); ++o) n = e.charCodeAt(o), r = n >> 8, i = n % 256, a.push(i), a.push(r);return a;}(t, e.length - n), e, n, r);}function E(e, t, n) {return 0 === t && n === e.length ? r.fromByteArray(e) : r.fromByteArray(e.slice(t, n));}function C(e, t, n) {n = Math.min(e.length, n);for (var r = [], i = t; i < n;) {var a,o,u,s,l = e[i],c = null,f = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;if (i + f <= n) switch (f) {case 1:l < 128 && (c = l);break;case 2:128 == (192 & (a = e[i + 1])) && (s = (31 & l) << 6 | 63 & a) > 127 && (c = s);break;case 3:a = e[i + 1], o = e[i + 2], 128 == (192 & a) && 128 == (192 & o) && (s = (15 & l) << 12 | (63 & a) << 6 | 63 & o) > 2047 && (s < 55296 || s > 57343) && (c = s);break;case 4:a = e[i + 1], o = e[i + 2], u = e[i + 3], 128 == (192 & a) && 128 == (192 & o) && 128 == (192 & u) && (s = (15 & l) << 18 | (63 & a) << 12 | (63 & o) << 6 | 63 & u) > 65535 && s < 1114112 && (c = s);}null === c ? (c = 65533, f = 1) : c > 65535 && (c -= 65536, r.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), r.push(c), i += f;}return function (e) {var t = e.length;if (t <= 4096) return String.fromCharCode.apply(String, e);var n = "",r = 0;for (; r < t;) n += String.fromCharCode.apply(String, e.slice(r, r += 4096));return n;}(r);}t.Buffer = s, t.SlowBuffer = function (e) {+e != e && (e = 0);return s.alloc(+e);}, t.INSPECT_MAX_BYTES = 50, s.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function () {try {var e = new Uint8Array(1);return e.__proto__ = { __proto__: Uint8Array.prototype, foo: function () {return 42;} }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength;} catch (e) {return !1;}}(), t.kMaxLength = o(), s.poolSize = 8192, s._augment = function (e) {return e.__proto__ = s.prototype, e;}, s.from = function (e, t, n) {return l(null, e, t, n);}, s.TYPED_ARRAY_SUPPORT && (s.prototype.__proto__ = Uint8Array.prototype, s.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && s[Symbol.species] === s && Object.defineProperty(s, Symbol.species, { value: null, configurable: !0 })), s.alloc = function (e, t, n) {return function (e, t, n, r) {return c(t), t <= 0 ? u(e, t) : void 0 !== n ? "string" == typeof r ? u(e, t).fill(n, r) : u(e, t).fill(n) : u(e, t);}(null, e, t, n);}, s.allocUnsafe = function (e) {return f(null, e);}, s.allocUnsafeSlow = function (e) {return f(null, e);}, s.isBuffer = function (e) {return !(null == e || !e._isBuffer);}, s.compare = function (e, t) {if (!s.isBuffer(e) || !s.isBuffer(t)) throw new TypeError("Arguments must be Buffers");if (e === t) return 0;for (var n = e.length, r = t.length, i = 0, a = Math.min(n, r); i < a; ++i) if (e[i] !== t[i]) {n = e[i], r = t[i];break;}return n < r ? -1 : r < n ? 1 : 0;}, s.isEncoding = function (e) {switch (String(e).toLowerCase()) {case "hex":case "utf8":case "utf-8":case "ascii":case "latin1":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return !0;default:return !1;}}, s.concat = function (e, t) {if (!a(e)) throw new TypeError('"list" argument must be an Array of Buffers');if (0 === e.length) return s.alloc(0);var n;if (void 0 === t) for (t = 0, n = 0; n < e.length; ++n) t += e[n].length;var r = s.allocUnsafe(t),i = 0;for (n = 0; n < e.length; ++n) {var o = e[n];if (!s.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r, i), i += o.length;}return r;}, s.byteLength = h, s.prototype._isBuffer = !0, s.prototype.swap16 = function () {var e = this.length;if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");for (var t = 0; t < e; t += 2) m(this, t, t + 1);return this;}, s.prototype.swap32 = function () {var e = this.length;if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");for (var t = 0; t < e; t += 4) m(this, t, t + 3), m(this, t + 1, t + 2);return this;}, s.prototype.swap64 = function () {var e = this.length;if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");for (var t = 0; t < e; t += 8) m(this, t, t + 7), m(this, t + 1, t + 6), m(this, t + 2, t + 5), m(this, t + 3, t + 4);return this;}, s.prototype.toString = function () {var e = 0 | this.length;return 0 === e ? "" : 0 === arguments.length ? C(this, 0, e) : g.apply(this, arguments);}, s.prototype.equals = function (e) {if (!s.isBuffer(e)) throw new TypeError("Argument must be a Buffer");return this === e || 0 === s.compare(this, e);}, s.prototype.inspect = function () {var e = "",n = t.INSPECT_MAX_BYTES;return this.length > 0 && (e = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (e += " ... ")), "<Buffer " + e + ">";}, s.prototype.compare = function (e, t, n, r, i) {if (!s.isBuffer(e)) throw new TypeError("Argument must be a Buffer");if (void 0 === t && (t = 0), void 0 === n && (n = e ? e.length : 0), void 0 === r && (r = 0), void 0 === i && (i = this.length), t < 0 || n > e.length || r < 0 || i > this.length) throw new RangeError("out of range index");if (r >= i && t >= n) return 0;if (r >= i) return -1;if (t >= n) return 1;if (this === e) return 0;for (var a = (i >>>= 0) - (r >>>= 0), o = (n >>>= 0) - (t >>>= 0), u = Math.min(a, o), l = this.slice(r, i), c = e.slice(t, n), f = 0; f < u; ++f) if (l[f] !== c[f]) {a = l[f], o = c[f];break;}return a < o ? -1 : o < a ? 1 : 0;}, s.prototype.includes = function (e, t, n) {return -1 !== this.indexOf(e, t, n);}, s.prototype.indexOf = function (e, t, n) {return v(this, e, t, n, !0);}, s.prototype.lastIndexOf = function (e, t, n) {return v(this, e, t, n, !1);}, s.prototype.write = function (e, t, n, r) {if (void 0 === t) r = "utf8", n = this.length, t = 0;else if (void 0 === n && "string" == typeof t) r = t, n = this.length, t = 0;else {if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t |= 0, isFinite(n) ? (n |= 0, void 0 === r && (r = "utf8")) : (r = n, n = void 0);}var i = this.length - t;if ((void 0 === n || n > i) && (n = i), e.length > 0 && (n < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds");r || (r = "utf8");for (var a = !1;;) switch (r) {case "hex":return y(this, e, t, n);case "utf8":case "utf-8":return _(this, e, t, n);case "ascii":return x(this, e, t, n);case "latin1":case "binary":return S(this, e, t, n);case "base64":return T(this, e, t, n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return w(this, e, t, n);default:if (a) throw new TypeError("Unknown encoding: " + r);r = ("" + r).toLowerCase(), a = !0;}}, s.prototype.toJSON = function () {return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) };};function k(e, t, n) {var r = "";n = Math.min(e.length, n);for (var i = t; i < n; ++i) r += String.fromCharCode(127 & e[i]);return r;}function P(e, t, n) {var r = "";n = Math.min(e.length, n);for (var i = t; i < n; ++i) r += String.fromCharCode(e[i]);return r;}function R(e, t, n) {var r = e.length;(!t || t < 0) && (t = 0), (!n || n < 0 || n > r) && (n = r);for (var i = "", a = t; a < n; ++a) i += B(e[a]);return i;}function O(e, t, n) {for (var r = e.slice(t, n), i = "", a = 0; a < r.length; a += 2) i += String.fromCharCode(r[a] + 256 * r[a + 1]);return i;}function A(e, t, n) {if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint");if (e + t > n) throw new RangeError("Trying to access beyond buffer length");}function I(e, t, n, r, i, a) {if (!s.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');if (t > i || t < a) throw new RangeError('"value" argument is out of bounds');if (n + r > e.length) throw new RangeError("Index out of range");}function N(e, t, n, r) {t < 0 && (t = 65535 + t + 1);for (var i = 0, a = Math.min(e.length - n, 2); i < a; ++i) e[n + i] = (t & 255 << 8 * (r ? i : 1 - i)) >>> 8 * (r ? i : 1 - i);}function q(e, t, n, r) {t < 0 && (t = 4294967295 + t + 1);for (var i = 0, a = Math.min(e.length - n, 4); i < a; ++i) e[n + i] = t >>> 8 * (r ? i : 3 - i) & 255;}function L(e, t, n, r, i, a) {if (n + r > e.length) throw new RangeError("Index out of range");if (n < 0) throw new RangeError("Index out of range");}function z(e, t, n, r, a) {return a || L(e, 0, n, 4), i.write(e, t, n, r, 23, 4), n + 4;}function D(e, t, n, r, a) {return a || L(e, 0, n, 8), i.write(e, t, n, r, 52, 8), n + 8;}s.prototype.slice = function (e, t) {var n,r = this.length;if ((e = ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), (t = void 0 === t ? r : ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e), s.TYPED_ARRAY_SUPPORT) (n = this.subarray(e, t)).__proto__ = s.prototype;else {var i = t - e;n = new s(i, void 0);for (var a = 0; a < i; ++a) n[a] = this[a + e];}return n;}, s.prototype.readUIntLE = function (e, t, n) {e |= 0, t |= 0, n || A(e, t, this.length);for (var r = this[e], i = 1, a = 0; ++a < t && (i *= 256);) r += this[e + a] * i;return r;}, s.prototype.readUIntBE = function (e, t, n) {e |= 0, t |= 0, n || A(e, t, this.length);for (var r = this[e + --t], i = 1; t > 0 && (i *= 256);) r += this[e + --t] * i;return r;}, s.prototype.readUInt8 = function (e, t) {return t || A(e, 1, this.length), this[e];}, s.prototype.readUInt16LE = function (e, t) {return t || A(e, 2, this.length), this[e] | this[e + 1] << 8;}, s.prototype.readUInt16BE = function (e, t) {return t || A(e, 2, this.length), this[e] << 8 | this[e + 1];}, s.prototype.readUInt32LE = function (e, t) {return t || A(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3];}, s.prototype.readUInt32BE = function (e, t) {return t || A(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]);}, s.prototype.readIntLE = function (e, t, n) {e |= 0, t |= 0, n || A(e, t, this.length);for (var r = this[e], i = 1, a = 0; ++a < t && (i *= 256);) r += this[e + a] * i;return r >= (i *= 128) && (r -= Math.pow(2, 8 * t)), r;}, s.prototype.readIntBE = function (e, t, n) {e |= 0, t |= 0, n || A(e, t, this.length);for (var r = t, i = 1, a = this[e + --r]; r > 0 && (i *= 256);) a += this[e + --r] * i;return a >= (i *= 128) && (a -= Math.pow(2, 8 * t)), a;}, s.prototype.readInt8 = function (e, t) {return t || A(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];}, s.prototype.readInt16LE = function (e, t) {t || A(e, 2, this.length);var n = this[e] | this[e + 1] << 8;return 32768 & n ? 4294901760 | n : n;}, s.prototype.readInt16BE = function (e, t) {t || A(e, 2, this.length);var n = this[e + 1] | this[e] << 8;return 32768 & n ? 4294901760 | n : n;}, s.prototype.readInt32LE = function (e, t) {return t || A(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24;}, s.prototype.readInt32BE = function (e, t) {return t || A(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3];}, s.prototype.readFloatLE = function (e, t) {return t || A(e, 4, this.length), i.read(this, e, !0, 23, 4);}, s.prototype.readFloatBE = function (e, t) {return t || A(e, 4, this.length), i.read(this, e, !1, 23, 4);}, s.prototype.readDoubleLE = function (e, t) {return t || A(e, 8, this.length), i.read(this, e, !0, 52, 8);}, s.prototype.readDoubleBE = function (e, t) {return t || A(e, 8, this.length), i.read(this, e, !1, 52, 8);}, s.prototype.writeUIntLE = function (e, t, n, r) {(e = +e, t |= 0, n |= 0, r) || I(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);var i = 1,a = 0;for (this[t] = 255 & e; ++a < n && (i *= 256);) this[t + a] = e / i & 255;return t + n;}, s.prototype.writeUIntBE = function (e, t, n, r) {(e = +e, t |= 0, n |= 0, r) || I(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);var i = n - 1,a = 1;for (this[t + i] = 255 & e; --i >= 0 && (a *= 256);) this[t + i] = e / a & 255;return t + n;}, s.prototype.writeUInt8 = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 1, 255, 0), s.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1;}, s.prototype.writeUInt16LE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 2, 65535, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : N(this, e, t, !0), t + 2;}, s.prototype.writeUInt16BE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 2, 65535, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : N(this, e, t, !1), t + 2;}, s.prototype.writeUInt32LE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 4, 4294967295, 0), s.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : q(this, e, t, !0), t + 4;}, s.prototype.writeUInt32BE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 4, 4294967295, 0), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : q(this, e, t, !1), t + 4;}, s.prototype.writeIntLE = function (e, t, n, r) {if (e = +e, t |= 0, !r) {var i = Math.pow(2, 8 * n - 1);I(this, e, t, n, i - 1, -i);}var a = 0,o = 1,u = 0;for (this[t] = 255 & e; ++a < n && (o *= 256);) e < 0 && 0 === u && 0 !== this[t + a - 1] && (u = 1), this[t + a] = (e / o >> 0) - u & 255;return t + n;}, s.prototype.writeIntBE = function (e, t, n, r) {if (e = +e, t |= 0, !r) {var i = Math.pow(2, 8 * n - 1);I(this, e, t, n, i - 1, -i);}var a = n - 1,o = 1,u = 0;for (this[t + a] = 255 & e; --a >= 0 && (o *= 256);) e < 0 && 0 === u && 0 !== this[t + a + 1] && (u = 1), this[t + a] = (e / o >> 0) - u & 255;return t + n;}, s.prototype.writeInt8 = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 1, 127, -128), s.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1;}, s.prototype.writeInt16LE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 2, 32767, -32768), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : N(this, e, t, !0), t + 2;}, s.prototype.writeInt16BE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 2, 32767, -32768), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : N(this, e, t, !1), t + 2;}, s.prototype.writeInt32LE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 4, 2147483647, -2147483648), s.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : q(this, e, t, !0), t + 4;}, s.prototype.writeInt32BE = function (e, t, n) {return e = +e, t |= 0, n || I(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), s.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : q(this, e, t, !1), t + 4;}, s.prototype.writeFloatLE = function (e, t, n) {return z(this, e, t, !0, n);}, s.prototype.writeFloatBE = function (e, t, n) {return z(this, e, t, !1, n);}, s.prototype.writeDoubleLE = function (e, t, n) {return D(this, e, t, !0, n);}, s.prototype.writeDoubleBE = function (e, t, n) {return D(this, e, t, !1, n);}, s.prototype.copy = function (e, t, n, r) {if (n || (n = 0), r || 0 === r || (r = this.length), t >= e.length && (t = e.length), t || (t = 0), r > 0 && r < n && (r = n), r === n) return 0;if (0 === e.length || 0 === this.length) return 0;if (t < 0) throw new RangeError("targetStart out of bounds");if (n < 0 || n >= this.length) throw new RangeError("sourceStart out of bounds");if (r < 0) throw new RangeError("sourceEnd out of bounds");r > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n);var i,a = r - n;if (this === e && n < t && t < r) for (i = a - 1; i >= 0; --i) e[i + t] = this[i + n];else if (a < 1e3 || !s.TYPED_ARRAY_SUPPORT) for (i = 0; i < a; ++i) e[i + t] = this[i + n];else Uint8Array.prototype.set.call(e, this.subarray(n, n + a), t);return a;}, s.prototype.fill = function (e, t, n, r) {if ("string" == typeof e) {if ("string" == typeof t ? (r = t, t = 0, n = this.length) : "string" == typeof n && (r = n, n = this.length), 1 === e.length) {var i = e.charCodeAt(0);i < 256 && (e = i);}if (void 0 !== r && "string" != typeof r) throw new TypeError("encoding must be a string");if ("string" == typeof r && !s.isEncoding(r)) throw new TypeError("Unknown encoding: " + r);} else "number" == typeof e && (e &= 255);if (t < 0 || this.length < t || this.length < n) throw new RangeError("Out of range index");if (n <= t) return this;var a;if (t >>>= 0, n = void 0 === n ? this.length : n >>> 0, e || (e = 0), "number" == typeof e) for (a = t; a < n; ++a) this[a] = e;else {var o = s.isBuffer(e) ? e : M(new s(e, r).toString()),u = o.length;for (a = 0; a < n - t; ++a) this[a + t] = o[a % u];}return this;};var j = /[^+\/0-9A-Za-z-_]/g;function B(e) {return e < 16 ? "0" + e.toString(16) : e.toString(16);}function M(e, t) {var n;t = t || 1 / 0;for (var r = e.length, i = null, a = [], o = 0; o < r; ++o) {if ((n = e.charCodeAt(o)) > 55295 && n < 57344) {if (!i) {if (n > 56319) {(t -= 3) > -1 && a.push(239, 191, 189);continue;}if (o + 1 === r) {(t -= 3) > -1 && a.push(239, 191, 189);continue;}i = n;continue;}if (n < 56320) {(t -= 3) > -1 && a.push(239, 191, 189), i = n;continue;}n = 65536 + (i - 55296 << 10 | n - 56320);} else i && (t -= 3) > -1 && a.push(239, 191, 189);if (i = null, n < 128) {if ((t -= 1) < 0) break;a.push(n);} else if (n < 2048) {if ((t -= 2) < 0) break;a.push(n >> 6 | 192, 63 & n | 128);} else if (n < 65536) {if ((t -= 3) < 0) break;a.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128);} else {if (!(n < 1114112)) throw new Error("Invalid code point");if ((t -= 4) < 0) break;a.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128);}}return a;}function F(e) {return r.toByteArray(function (e) {if ((e = function (e) {return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "");}(e).replace(j, "")).length < 2) return "";for (; e.length % 4 != 0;) e += "=";return e;}(e));}function Z(e, t, n, r) {for (var i = 0; i < r && !(i + n >= t.length || i >= e.length); ++i) t[i + n] = e[i];return i;}}).call(this, n(71));}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;};t.default = function (e, t) {var n = r({}, (0, i.default)(e), { key: t });"string" == typeof n.style || n.style instanceof String ? n.style = (0, a.default)(n.style) : delete n.style;return n;};var i = o(n(162)),a = o(n(165));function o(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {i.hasOwnProperty(e) || (i[e] = r.test(e));return i[e];};var r = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,i = {};}, function (e, t) {function n(t) {return e.exports = n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;}, e.exports.__esModule = !0, e.exports.default = e.exports, n(t);}e.exports = n, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t) {e.exports = function (e, t) {if (null == e) return {};var n = {};for (var r in e) if ({}.hasOwnProperty.call(e, r)) {if (t.includes(r)) continue;n[r] = e[r];}return n;}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";
  /*!
   * content-type
   * Copyright(c) 2015 Douglas Christopher Wilson
   * MIT Licensed
   */var r = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,i = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,a = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,o = /\\([\u000b\u0020-\u00ff])/g,u = /([\\"])/g,s = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function l(e) {var t = String(e);if (a.test(t)) return t;if (t.length > 0 && !i.test(t)) throw new TypeError("invalid parameter value");return '"' + t.replace(u, "\\$1") + '"';}function c(e) {this.parameters = Object.create(null), this.type = e;}t.format = function (e) {if (!e || "object" != typeof e) throw new TypeError("argument obj is required");var t = e.parameters,n = e.type;if (!n || !s.test(n)) throw new TypeError("invalid type");var r = n;if (t && "object" == typeof t) for (var i, o = Object.keys(t).sort(), u = 0; u < o.length; u++) {if (i = o[u], !a.test(i)) throw new TypeError("invalid parameter name");r += "; " + i + "=" + l(t[i]);}return r;}, t.parse = function (e) {if (!e) throw new TypeError("argument string is required");var t = "object" == typeof e ? function (e) {var t;"function" == typeof e.getHeader ? t = e.getHeader("content-type") : "object" == typeof e.headers && (t = e.headers && e.headers["content-type"]);if ("string" != typeof t) throw new TypeError("content-type header is missing from object");return t;}(e) : e;if ("string" != typeof t) throw new TypeError("argument string is required to be a string");var n = t.indexOf(";"),i = -1 !== n ? t.slice(0, n).trim() : t.trim();if (!s.test(i)) throw new TypeError("invalid media type");var a = new c(i.toLowerCase());if (-1 !== n) {var u, l, f;for (r.lastIndex = n; l = r.exec(t);) {if (l.index !== n) throw new TypeError("invalid parameter format");n += l[0].length, u = l[1].toLowerCase(), 34 === (f = l[2]).charCodeAt(0) && -1 !== (f = f.slice(1, -1)).indexOf("\\") && (f = f.replace(o, "$1")), a.parameters[u] = f;}if (n !== t.length) throw new TypeError("invalid parameter format");}return a;};}, function (e, t, n) {"use strict";n(90), n(115);var r = u(n(0)),i = u(n(118)),a = u(n(122)),o = u(n(216));function u(e) {return e && e.__esModule ? e : { default: e };}window.gsb_zoll_und_post_app = function (e, t) {console.log("ZuP: Running zoll_und_post_app"), i.default.render(r.default.createElement(o.default, null, r.default.createElement(a.default, { assets: t, id: e })), document.getElementById(e));};},, function (e, t, n) {n(49), n(56), n(62), n(105), e.exports = n(17).Map;}, function (e, t, n) {e.exports = n(33)("native-function-to-string", Function.toString);}, function (e, t, n) {var r = n(35),i = n(36);e.exports = function (e) {return function (t, n) {var a,o,u = String(i(t)),s = r(n),l = u.length;return s < 0 || s >= l ? e ? "" : void 0 : (a = u.charCodeAt(s)) < 55296 || a > 56319 || s + 1 === l || (o = u.charCodeAt(s + 1)) < 56320 || o > 57343 ? e ? u.charAt(s) : a : e ? u.slice(s, s + 2) : o - 56320 + (a - 55296 << 10) + 65536;};};}, function (e, t) {e.exports = function (e) {if ("function" != typeof e) throw TypeError(e + " is not a function!");return e;};}, function (e, t, n) {"use strict";var r = n(58),i = n(34),a = n(39),o = {};n(19)(o, n(7)("iterator"), function () {return this;}), e.exports = function (e, t, n) {e.prototype = r(o, { next: i(1, n) }), a(e, t + " Iterator");};}, function (e, t, n) {var r = n(20),i = n(21),a = n(59);e.exports = n(14) ? Object.defineProperties : function (e, t) {i(e);for (var n, o = a(t), u = o.length, s = 0; u > s;) r.f(e, n = o[s++], t[n]);return e;};}, function (e, t, n) {var r = n(22),i = n(30),a = n(98)(!1),o = n(38)("IE_PROTO");e.exports = function (e, t) {var n,u = i(e),s = 0,l = [];for (n in u) n != o && r(u, n) && l.push(n);for (; t.length > s;) r(u, n = t[s++]) && (~a(l, n) || l.push(n));return l;};}, function (e, t, n) {var r = n(51);e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {return "String" == r(e) ? e.split("") : Object(e);};}, function (e, t, n) {var r = n(30),i = n(60),a = n(99);e.exports = function (e) {return function (t, n, o) {var u,s = r(t),l = i(s.length),c = a(o, l);if (e && n != n) {for (; l > c;) if ((u = s[c++]) != u) return !0;} else for (; l > c; c++) if ((e || c in s) && s[c] === n) return e || c || 0;return !e && -1;};};}, function (e, t, n) {var r = n(35),i = Math.max,a = Math.min;e.exports = function (e, t) {return (e = r(e)) < 0 ? i(e + t, 0) : a(e, t);};}, function (e, t, n) {var r = n(8).document;e.exports = r && r.documentElement;}, function (e, t, n) {var r = n(22),i = n(102),a = n(38)("IE_PROTO"),o = Object.prototype;e.exports = Object.getPrototypeOf || function (e) {return e = i(e), r(e, a) ? e[a] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? o : null;};}, function (e, t, n) {var r = n(36);e.exports = function (e) {return Object(r(e));};}, function (e, t, n) {"use strict";var r = n(104),i = n(63),a = n(26),o = n(30);e.exports = n(37)(Array, "Array", function (e, t) {this._t = o(e), this._i = 0, this._k = t;}, function () {var e = this._t,t = this._k,n = this._i++;return !e || n >= e.length ? (this._t = void 0, i(1)) : i(0, "keys" == t ? n : "values" == t ? e[n] : [n, e[n]]);}, "values"), a.Arguments = a.Array, r("keys"), r("values"), r("entries");}, function (e, t, n) {var r = n(7)("unscopables"),i = Array.prototype;null == i[r] && n(19)(i, r, {}), e.exports = function (e) {i[r][e] = !0;};}, function (e, t, n) {"use strict";var r = n(64),i = n(40);e.exports = n(69)("Map", function (e) {return function () {return e(this, arguments.length > 0 ? arguments[0] : void 0);};}, { get: function (e) {var t = r.getEntry(i(this, "Map"), e);return t && t.v;}, set: function (e, t) {return r.def(i(this, "Map"), 0 === e ? 0 : e, t);} }, r, !0);}, function (e, t, n) {var r = n(21);e.exports = function (e, t, n, i) {try {return i ? t(r(n)[0], n[1]) : t(n);} catch (t) {var a = e.return;throw void 0 !== a && r(a.call(e)), t;}};}, function (e, t, n) {var r = n(26),i = n(7)("iterator"),a = Array.prototype;e.exports = function (e) {return void 0 !== e && (r.Array === e || a[i] === e);};}, function (e, t, n) {var r = n(50),i = n(7)("iterator"),a = n(26);e.exports = n(17).getIteratorMethod = function (e) {if (null != e) return e[i] || e["@@iterator"] || a[r(e)];};}, function (e, t, n) {"use strict";var r = n(8),i = n(20),a = n(14),o = n(7)("species");e.exports = function (e) {var t = r[e];a && t && !t[o] && i.f(t, o, { configurable: !0, get: function () {return this;} });};}, function (e, t, n) {var r = n(7)("iterator"),i = !1;try {var a = [7][r]();a.return = function () {i = !0;}, Array.from(a, function () {throw 2;});} catch (e) {}e.exports = function (e, t) {if (!t && !i) return !1;var n = !1;try {var a = [7],o = a[r]();o.next = function () {return { done: n = !0 };}, a[r] = function () {return o;}, e(a);} catch (e) {}return n;};}, function (e, t, n) {var r = n(12),i = n(112).set;e.exports = function (e, t, n) {var a,o = t.constructor;return o !== n && "function" == typeof o && (a = o.prototype) !== n.prototype && r(a) && i && i(e, a), e;};}, function (e, t, n) {var r = n(12),i = n(21),a = function (e, t) {if (i(e), !r(t) && null !== t) throw TypeError(t + ": can't set as prototype!");};e.exports = { set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, t, r) {try {(r = n(29)(Function.call, n(113).f(Object.prototype, "__proto__").set, 2))(e, []), t = !(e instanceof Array);} catch (e) {t = !0;}return function (e, n) {return a(e, n), t ? e.__proto__ = n : r(e, n), e;};}({}, !1) : void 0), check: a };}, function (e, t, n) {var r = n(114),i = n(34),a = n(30),o = n(55),u = n(22),s = n(53),l = Object.getOwnPropertyDescriptor;t.f = n(14) ? l : function (e, t) {if (e = a(e), t = o(t, !0), s) try {return l(e, t);} catch (e) {}if (u(e, t)) return i(!r.f.call(e, t), e[t]);};}, function (e, t) {t.f = {}.propertyIsEnumerable;}, function (e, t, n) {n(49), n(56), n(62), n(116), e.exports = n(17).Set;}, function (e, t, n) {"use strict";var r = n(64),i = n(40);e.exports = n(69)("Set", function (e) {return function () {return e(this, arguments.length > 0 ? arguments[0] : void 0);};}, { add: function (e) {return r.def(i(this, "Set"), e = 0 === e ? 0 : e, e);} }, r);}, function (e, t, n) {"use strict";
  /** @license React v16.14.0
   * react.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */var r = n(70),i = "function" == typeof Symbol && Symbol.for,a = i ? Symbol.for("react.element") : 60103,o = i ? Symbol.for("react.portal") : 60106,u = i ? Symbol.for("react.fragment") : 60107,s = i ? Symbol.for("react.strict_mode") : 60108,l = i ? Symbol.for("react.profiler") : 60114,c = i ? Symbol.for("react.provider") : 60109,f = i ? Symbol.for("react.context") : 60110,d = i ? Symbol.for("react.forward_ref") : 60112,p = i ? Symbol.for("react.suspense") : 60113,h = i ? Symbol.for("react.memo") : 60115,g = i ? Symbol.for("react.lazy") : 60116,m = "function" == typeof Symbol && Symbol.iterator;function v(e) {for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++) t += "&args[]=" + encodeURIComponent(arguments[n]);return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";}var b = { isMounted: function () {return !1;}, enqueueForceUpdate: function () {}, enqueueReplaceState: function () {}, enqueueSetState: function () {} },y = {};function _(e, t, n) {this.props = e, this.context = t, this.refs = y, this.updater = n || b;}function x() {}function S(e, t, n) {this.props = e, this.context = t, this.refs = y, this.updater = n || b;}_.prototype.isReactComponent = {}, _.prototype.setState = function (e, t) {if ("object" != typeof e && "function" != typeof e && null != e) throw Error(v(85));this.updater.enqueueSetState(this, e, t, "setState");}, _.prototype.forceUpdate = function (e) {this.updater.enqueueForceUpdate(this, e, "forceUpdate");}, x.prototype = _.prototype;var T = S.prototype = new x();T.constructor = S, r(T, _.prototype), T.isPureReactComponent = !0;var w = { current: null },E = Object.prototype.hasOwnProperty,C = { key: !0, ref: !0, __self: !0, __source: !0 };function k(e, t, n) {var r,i = {},o = null,u = null;if (null != t) for (r in void 0 !== t.ref && (u = t.ref), void 0 !== t.key && (o = "" + t.key), t) E.call(t, r) && !C.hasOwnProperty(r) && (i[r] = t[r]);var s = arguments.length - 2;if (1 === s) i.children = n;else if (1 < s) {for (var l = Array(s), c = 0; c < s; c++) l[c] = arguments[c + 2];i.children = l;}if (e && e.defaultProps) for (r in s = e.defaultProps) void 0 === i[r] && (i[r] = s[r]);return { $$typeof: a, type: e, key: o, ref: u, props: i, _owner: w.current };}function P(e) {return "object" == typeof e && null !== e && e.$$typeof === a;}var R = /\/+/g,O = [];function A(e, t, n, r) {if (O.length) {var i = O.pop();return i.result = e, i.keyPrefix = t, i.func = n, i.context = r, i.count = 0, i;}return { result: e, keyPrefix: t, func: n, context: r, count: 0 };}function I(e) {e.result = null, e.keyPrefix = null, e.func = null, e.context = null, e.count = 0, 10 > O.length && O.push(e);}function N(e, t, n) {return null == e ? 0 : function e(t, n, r, i) {var u = typeof t;"undefined" !== u && "boolean" !== u || (t = null);var s = !1;if (null === t) s = !0;else switch (u) {case "string":case "number":s = !0;break;case "object":switch (t.$$typeof) {case a:case o:s = !0;}}if (s) return r(i, t, "" === n ? "." + q(t, 0) : n), 1;if (s = 0, n = "" === n ? "." : n + ":", Array.isArray(t)) for (var l = 0; l < t.length; l++) {var c = n + q(u = t[l], l);s += e(u, c, r, i);} else if (null === t || "object" != typeof t ? c = null : c = "function" == typeof (c = m && t[m] || t["@@iterator"]) ? c : null, "function" == typeof c) for (t = c.call(t), l = 0; !(u = t.next()).done;) s += e(u = u.value, c = n + q(u, l++), r, i);else if ("object" === u) throw r = "" + t, Error(v(31, "[object Object]" === r ? "object with keys {" + Object.keys(t).join(", ") + "}" : r, ""));return s;}(e, "", t, n);}function q(e, t) {return "object" == typeof e && null !== e && null != e.key ? function (e) {var t = { "=": "=0", ":": "=2" };return "$" + ("" + e).replace(/[=:]/g, function (e) {return t[e];});}(e.key) : t.toString(36);}function L(e, t) {e.func.call(e.context, t, e.count++);}function z(e, t, n) {var r = e.result,i = e.keyPrefix;e = e.func.call(e.context, t, e.count++), Array.isArray(e) ? D(e, r, n, function (e) {return e;}) : null != e && (P(e) && (e = function (e, t) {return { $$typeof: a, type: e.type, key: t, ref: e.ref, props: e.props, _owner: e._owner };}(e, i + (!e.key || t && t.key === e.key ? "" : ("" + e.key).replace(R, "$&/") + "/") + n)), r.push(e));}function D(e, t, n, r, i) {var a = "";null != n && (a = ("" + n).replace(R, "$&/") + "/"), N(e, z, t = A(t, a, r, i)), I(t);}var j = { current: null };function B() {var e = j.current;if (null === e) throw Error(v(321));return e;}var M = { ReactCurrentDispatcher: j, ReactCurrentBatchConfig: { suspense: null }, ReactCurrentOwner: w, IsSomeRendererActing: { current: !1 }, assign: r };t.Children = { map: function (e, t, n) {if (null == e) return e;var r = [];return D(e, r, null, t, n), r;}, forEach: function (e, t, n) {if (null == e) return e;N(e, L, t = A(null, null, t, n)), I(t);}, count: function (e) {return N(e, function () {return null;}, null);}, toArray: function (e) {var t = [];return D(e, t, null, function (e) {return e;}), t;}, only: function (e) {if (!P(e)) throw Error(v(143));return e;} }, t.Component = _, t.Fragment = u, t.Profiler = l, t.PureComponent = S, t.StrictMode = s, t.Suspense = p, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = M, t.cloneElement = function (e, t, n) {if (null == e) throw Error(v(267, e));var i = r({}, e.props),o = e.key,u = e.ref,s = e._owner;if (null != t) {if (void 0 !== t.ref && (u = t.ref, s = w.current), void 0 !== t.key && (o = "" + t.key), e.type && e.type.defaultProps) var l = e.type.defaultProps;for (c in t) E.call(t, c) && !C.hasOwnProperty(c) && (i[c] = void 0 === t[c] && void 0 !== l ? l[c] : t[c]);}var c = arguments.length - 2;if (1 === c) i.children = n;else if (1 < c) {l = Array(c);for (var f = 0; f < c; f++) l[f] = arguments[f + 2];i.children = l;}return { $$typeof: a, type: e.type, key: o, ref: u, props: i, _owner: s };}, t.createContext = function (e, t) {return void 0 === t && (t = null), (e = { $$typeof: f, _calculateChangedBits: t, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null }).Provider = { $$typeof: c, _context: e }, e.Consumer = e;}, t.createElement = k, t.createFactory = function (e) {var t = k.bind(null, e);return t.type = e, t;}, t.createRef = function () {return { current: null };}, t.forwardRef = function (e) {return { $$typeof: d, render: e };}, t.isValidElement = P, t.lazy = function (e) {return { $$typeof: g, _ctor: e, _status: -1, _result: null };}, t.memo = function (e, t) {return { $$typeof: h, type: e, compare: void 0 === t ? null : t };}, t.useCallback = function (e, t) {return B().useCallback(e, t);}, t.useContext = function (e, t) {return B().useContext(e, t);}, t.useDebugValue = function () {}, t.useEffect = function (e, t) {return B().useEffect(e, t);}, t.useImperativeHandle = function (e, t, n) {return B().useImperativeHandle(e, t, n);}, t.useLayoutEffect = function (e, t) {return B().useLayoutEffect(e, t);}, t.useMemo = function (e, t) {return B().useMemo(e, t);}, t.useReducer = function (e, t, n) {return B().useReducer(e, t, n);}, t.useRef = function (e) {return B().useRef(e);}, t.useState = function (e) {return B().useState(e);}, t.version = "16.14.0";}, function (e, t, n) {"use strict";!function e() {if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) {0;try {__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);} catch (e) {console.error(e);}}}(), e.exports = n(119);}, function (e, t, n) {"use strict";
  /** @license React v16.14.0
   * react-dom.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */var r = n(0),i = n(70),a = n(120);function o(e) {for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++) t += "&args[]=" + encodeURIComponent(arguments[n]);return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";}if (!r) throw Error(o(227));function u(e, t, n, r, i, a, o, u, s) {var l = Array.prototype.slice.call(arguments, 3);try {t.apply(n, l);} catch (e) {this.onError(e);}}var s = !1,l = null,c = !1,f = null,d = { onError: function (e) {s = !0, l = e;} };function p(e, t, n, r, i, a, o, c, f) {s = !1, l = null, u.apply(d, arguments);}var h = null,g = null,m = null;function v(e, t, n) {var r = e.type || "unknown-event";e.currentTarget = m(n), function (e, t, n, r, i, a, u, d, h) {if (p.apply(this, arguments), s) {if (!s) throw Error(o(198));var g = l;s = !1, l = null, c || (c = !0, f = g);}}(r, t, void 0, e), e.currentTarget = null;}var b = null,y = {};function _() {if (b) for (var e in y) {var t = y[e],n = b.indexOf(e);if (!(-1 < n)) throw Error(o(96, e));if (!S[n]) {if (!t.extractEvents) throw Error(o(97, e));for (var r in S[n] = t, n = t.eventTypes) {var i = void 0,a = n[r],u = t,s = r;if (T.hasOwnProperty(s)) throw Error(o(99, s));T[s] = a;var l = a.phasedRegistrationNames;if (l) {for (i in l) l.hasOwnProperty(i) && x(l[i], u, s);i = !0;} else a.registrationName ? (x(a.registrationName, u, s), i = !0) : i = !1;if (!i) throw Error(o(98, r, e));}}}}function x(e, t, n) {if (w[e]) throw Error(o(100, e));w[e] = t, E[e] = t.eventTypes[n].dependencies;}var S = [],T = {},w = {},E = {};function C(e) {var t,n = !1;for (t in e) if (e.hasOwnProperty(t)) {var r = e[t];if (!y.hasOwnProperty(t) || y[t] !== r) {if (y[t]) throw Error(o(102, t));y[t] = r, n = !0;}}n && _();}var k = !("undefined" == typeof window || void 0 === window.document || void 0 === window.document.createElement),P = null,R = null,O = null;function A(e) {if (e = g(e)) {if ("function" != typeof P) throw Error(o(280));var t = e.stateNode;t && (t = h(t), P(e.stateNode, e.type, t));}}function I(e) {R ? O ? O.push(e) : O = [e] : R = e;}function N() {if (R) {var e = R,t = O;if (O = R = null, A(e), t) for (e = 0; e < t.length; e++) A(t[e]);}}function q(e, t) {return e(t);}function L(e, t, n, r, i) {return e(t, n, r, i);}function z() {}var D = q,j = !1,B = !1;function M() {null === R && null === O || (z(), N());}function F(e, t, n) {if (B) return e(t, n);B = !0;try {return D(e, t, n);} finally {B = !1, M();}}var Z = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,U = Object.prototype.hasOwnProperty,V = {},W = {};function G(e, t, n, r, i, a) {this.acceptsBooleans = 2 === t || 3 === t || 4 === t, this.attributeName = r, this.attributeNamespace = i, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = a;}var H = {};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function (e) {H[e] = new G(e, 0, !1, e, null, !1);}), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function (e) {var t = e[0];H[t] = new G(t, 1, !1, e[1], null, !1);}), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function (e) {H[e] = new G(e, 2, !1, e.toLowerCase(), null, !1);}), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function (e) {H[e] = new G(e, 2, !1, e, null, !1);}), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function (e) {H[e] = new G(e, 3, !1, e.toLowerCase(), null, !1);}), ["checked", "multiple", "muted", "selected"].forEach(function (e) {H[e] = new G(e, 3, !0, e, null, !1);}), ["capture", "download"].forEach(function (e) {H[e] = new G(e, 4, !1, e, null, !1);}), ["cols", "rows", "size", "span"].forEach(function (e) {H[e] = new G(e, 6, !1, e, null, !1);}), ["rowSpan", "start"].forEach(function (e) {H[e] = new G(e, 5, !1, e.toLowerCase(), null, !1);});var K = /[\-:]([a-z])/g;function Y(e) {return e[1].toUpperCase();}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function (e) {var t = e.replace(K, Y);H[t] = new G(t, 1, !1, e, null, !1);}), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function (e) {var t = e.replace(K, Y);H[t] = new G(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1);}), ["xml:base", "xml:lang", "xml:space"].forEach(function (e) {var t = e.replace(K, Y);H[t] = new G(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1);}), ["tabIndex", "crossOrigin"].forEach(function (e) {H[e] = new G(e, 1, !1, e.toLowerCase(), null, !1);}), H.xlinkHref = new G("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0), ["src", "href", "action", "formAction"].forEach(function (e) {H[e] = new G(e, 1, !1, e.toLowerCase(), null, !0);});var $ = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Q(e, t, n, r) {var i = H.hasOwnProperty(t) ? H[t] : null;(null !== i ? 0 === i.type : !r && 2 < t.length && ("o" === t[0] || "O" === t[0]) && ("n" === t[1] || "N" === t[1])) || (function (e, t, n, r) {if (null == t || function (e, t, n, r) {if (null !== n && 0 === n.type) return !1;switch (typeof t) {case "function":case "symbol":return !0;case "boolean":return !r && (null !== n ? !n.acceptsBooleans : "data-" !== (e = e.toLowerCase().slice(0, 5)) && "aria-" !== e);default:return !1;}}(e, t, n, r)) return !0;if (r) return !1;if (null !== n) switch (n.type) {case 3:return !t;case 4:return !1 === t;case 5:return isNaN(t);case 6:return isNaN(t) || 1 > t;}return !1;}(t, n, i, r) && (n = null), r || null === i ? function (e) {return !!U.call(W, e) || !U.call(V, e) && (Z.test(e) ? W[e] = !0 : (V[e] = !0, !1));}(t) && (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = null === n ? 3 !== i.type && "" : n : (t = i.attributeName, r = i.attributeNamespace, null === n ? e.removeAttribute(t) : (n = 3 === (i = i.type) || 4 === i && !0 === n ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));}$.hasOwnProperty("ReactCurrentDispatcher") || ($.ReactCurrentDispatcher = { current: null }), $.hasOwnProperty("ReactCurrentBatchConfig") || ($.ReactCurrentBatchConfig = { suspense: null });var X = /^(.*)[\\\/]/,J = "function" == typeof Symbol && Symbol.for,ee = J ? Symbol.for("react.element") : 60103,te = J ? Symbol.for("react.portal") : 60106,ne = J ? Symbol.for("react.fragment") : 60107,re = J ? Symbol.for("react.strict_mode") : 60108,ie = J ? Symbol.for("react.profiler") : 60114,ae = J ? Symbol.for("react.provider") : 60109,oe = J ? Symbol.for("react.context") : 60110,ue = J ? Symbol.for("react.concurrent_mode") : 60111,se = J ? Symbol.for("react.forward_ref") : 60112,le = J ? Symbol.for("react.suspense") : 60113,ce = J ? Symbol.for("react.suspense_list") : 60120,fe = J ? Symbol.for("react.memo") : 60115,de = J ? Symbol.for("react.lazy") : 60116,pe = J ? Symbol.for("react.block") : 60121,he = "function" == typeof Symbol && Symbol.iterator;function ge(e) {return null === e || "object" != typeof e ? null : "function" == typeof (e = he && e[he] || e["@@iterator"]) ? e : null;}function me(e) {if (null == e) return null;if ("function" == typeof e) return e.displayName || e.name || null;if ("string" == typeof e) return e;switch (e) {case ne:return "Fragment";case te:return "Portal";case ie:return "Profiler";case re:return "StrictMode";case le:return "Suspense";case ce:return "SuspenseList";}if ("object" == typeof e) switch (e.$$typeof) {case oe:return "Context.Consumer";case ae:return "Context.Provider";case se:var t = e.render;return t = t.displayName || t.name || "", e.displayName || ("" !== t ? "ForwardRef(" + t + ")" : "ForwardRef");case fe:return me(e.type);case pe:return me(e.render);case de:if (e = 1 === e._status ? e._result : null) return me(e);}return null;}function ve(e) {var t = "";do {e: switch (e.tag) {case 3:case 4:case 6:case 7:case 10:case 9:var n = "";break e;default:var r = e._debugOwner,i = e._debugSource,a = me(e.type);n = null, r && (n = me(r.type)), r = a, a = "", i ? a = " (at " + i.fileName.replace(X, "") + ":" + i.lineNumber + ")" : n && (a = " (created by " + n + ")"), n = "\n    in " + (r || "Unknown") + a;}t += n, e = e.return;} while (e);return t;}function be(e) {switch (typeof e) {case "boolean":case "number":case "object":case "string":case "undefined":return e;default:return "";}}function ye(e) {var t = e.type;return (e = e.nodeName) && "input" === e.toLowerCase() && ("checkbox" === t || "radio" === t);}function _e(e) {e._valueTracker || (e._valueTracker = function (e) {var t = ye(e) ? "checked" : "value",n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t),r = "" + e[t];if (!e.hasOwnProperty(t) && void 0 !== n && "function" == typeof n.get && "function" == typeof n.set) {var i = n.get,a = n.set;return Object.defineProperty(e, t, { configurable: !0, get: function () {return i.call(this);}, set: function (e) {r = "" + e, a.call(this, e);} }), Object.defineProperty(e, t, { enumerable: n.enumerable }), { getValue: function () {return r;}, setValue: function (e) {r = "" + e;}, stopTracking: function () {e._valueTracker = null, delete e[t];} };}}(e));}function xe(e) {if (!e) return !1;var t = e._valueTracker;if (!t) return !0;var n = t.getValue(),r = "";return e && (r = ye(e) ? e.checked ? "true" : "false" : e.value), (e = r) !== n && (t.setValue(e), !0);}function Se(e, t) {var n = t.checked;return i({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != n ? n : e._wrapperState.initialChecked });}function Te(e, t) {var n = null == t.defaultValue ? "" : t.defaultValue,r = null != t.checked ? t.checked : t.defaultChecked;n = be(null != t.value ? t.value : n), e._wrapperState = { initialChecked: r, initialValue: n, controlled: "checkbox" === t.type || "radio" === t.type ? null != t.checked : null != t.value };}function we(e, t) {null != (t = t.checked) && Q(e, "checked", t, !1);}function Ee(e, t) {we(e, t);var n = be(t.value),r = t.type;if (null != n) "number" === r ? (0 === n && "" === e.value || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n);else if ("submit" === r || "reset" === r) return void e.removeAttribute("value");t.hasOwnProperty("value") ? ke(e, t.type, n) : t.hasOwnProperty("defaultValue") && ke(e, t.type, be(t.defaultValue)), null == t.checked && null != t.defaultChecked && (e.defaultChecked = !!t.defaultChecked);}function Ce(e, t, n) {if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {var r = t.type;if (!("submit" !== r && "reset" !== r || void 0 !== t.value && null !== t.value)) return;t = "" + e._wrapperState.initialValue, n || t === e.value || (e.value = t), e.defaultValue = t;}"" !== (n = e.name) && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, "" !== n && (e.name = n);}function ke(e, t, n) {"number" === t && e.ownerDocument.activeElement === e || (null == n ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));}function Pe(e, t) {return e = i({ children: void 0 }, t), (t = function (e) {var t = "";return r.Children.forEach(e, function (e) {null != e && (t += e);}), t;}(t.children)) && (e.children = t), e;}function Re(e, t, n, r) {if (e = e.options, t) {t = {};for (var i = 0; i < n.length; i++) t["$" + n[i]] = !0;for (n = 0; n < e.length; n++) i = t.hasOwnProperty("$" + e[n].value), e[n].selected !== i && (e[n].selected = i), i && r && (e[n].defaultSelected = !0);} else {for (n = "" + be(n), t = null, i = 0; i < e.length; i++) {if (e[i].value === n) return e[i].selected = !0, void (r && (e[i].defaultSelected = !0));null !== t || e[i].disabled || (t = e[i]);}null !== t && (t.selected = !0);}}function Oe(e, t) {if (null != t.dangerouslySetInnerHTML) throw Error(o(91));return i({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });}function Ae(e, t) {var n = t.value;if (null == n) {if (n = t.children, t = t.defaultValue, null != n) {if (null != t) throw Error(o(92));if (Array.isArray(n)) {if (!(1 >= n.length)) throw Error(o(93));n = n[0];}t = n;}null == t && (t = ""), n = t;}e._wrapperState = { initialValue: be(n) };}function Ie(e, t) {var n = be(t.value),r = be(t.defaultValue);null != n && ((n = "" + n) !== e.value && (e.value = n), null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)), null != r && (e.defaultValue = "" + r);}function Ne(e) {var t = e.textContent;t === e._wrapperState.initialValue && "" !== t && null !== t && (e.value = t);}var qe = "http://www.w3.org/1999/xhtml",Le = "http://www.w3.org/2000/svg";function ze(e) {switch (e) {case "svg":return "http://www.w3.org/2000/svg";case "math":return "http://www.w3.org/1998/Math/MathML";default:return "http://www.w3.org/1999/xhtml";}}function De(e, t) {return null == e || "http://www.w3.org/1999/xhtml" === e ? ze(t) : "http://www.w3.org/2000/svg" === e && "foreignObject" === t ? "http://www.w3.org/1999/xhtml" : e;}var je,Be = function (e) {return "undefined" != typeof MSApp && MSApp.execUnsafeLocalFunction ? function (t, n, r, i) {MSApp.execUnsafeLocalFunction(function () {return e(t, n);});} : e;}(function (e, t) {if (e.namespaceURI !== Le || "innerHTML" in e) e.innerHTML = t;else {for ((je = je || document.createElement("div")).innerHTML = "<svg>" + t.valueOf().toString() + "</svg>", t = je.firstChild; e.firstChild;) e.removeChild(e.firstChild);for (; t.firstChild;) e.appendChild(t.firstChild);}});function Me(e, t) {if (t) {var n = e.firstChild;if (n && n === e.lastChild && 3 === n.nodeType) return void (n.nodeValue = t);}e.textContent = t;}function Fe(e, t) {var n = {};return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;}var Ze = { animationend: Fe("Animation", "AnimationEnd"), animationiteration: Fe("Animation", "AnimationIteration"), animationstart: Fe("Animation", "AnimationStart"), transitionend: Fe("Transition", "TransitionEnd") },Ue = {},Ve = {};function We(e) {if (Ue[e]) return Ue[e];if (!Ze[e]) return e;var t,n = Ze[e];for (t in n) if (n.hasOwnProperty(t) && t in Ve) return Ue[e] = n[t];return e;}k && (Ve = document.createElement("div").style, "AnimationEvent" in window || (delete Ze.animationend.animation, delete Ze.animationiteration.animation, delete Ze.animationstart.animation), "TransitionEvent" in window || delete Ze.transitionend.transition);var Ge = We("animationend"),He = We("animationiteration"),Ke = We("animationstart"),Ye = We("transitionend"),$e = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Qe = new ("function" == typeof WeakMap ? WeakMap : Map)();function Xe(e) {var t = Qe.get(e);return void 0 === t && (t = new Map(), Qe.set(e, t)), t;}function Je(e) {var t = e,n = e;if (e.alternate) for (; t.return;) t = t.return;else {e = t;do {0 != (1026 & (t = e).effectTag) && (n = t.return), e = t.return;} while (e);}return 3 === t.tag ? n : null;}function et(e) {if (13 === e.tag) {var t = e.memoizedState;if (null === t && null !== (e = e.alternate) && (t = e.memoizedState), null !== t) return t.dehydrated;}return null;}function tt(e) {if (Je(e) !== e) throw Error(o(188));}function nt(e) {if (!(e = function (e) {var t = e.alternate;if (!t) {if (null === (t = Je(e))) throw Error(o(188));return t !== e ? null : e;}for (var n = e, r = t;;) {var i = n.return;if (null === i) break;var a = i.alternate;if (null === a) {if (null !== (r = i.return)) {n = r;continue;}break;}if (i.child === a.child) {for (a = i.child; a;) {if (a === n) return tt(i), e;if (a === r) return tt(i), t;a = a.sibling;}throw Error(o(188));}if (n.return !== r.return) n = i, r = a;else {for (var u = !1, s = i.child; s;) {if (s === n) {u = !0, n = i, r = a;break;}if (s === r) {u = !0, r = i, n = a;break;}s = s.sibling;}if (!u) {for (s = a.child; s;) {if (s === n) {u = !0, n = a, r = i;break;}if (s === r) {u = !0, r = a, n = i;break;}s = s.sibling;}if (!u) throw Error(o(189));}}if (n.alternate !== r) throw Error(o(190));}if (3 !== n.tag) throw Error(o(188));return n.stateNode.current === n ? e : t;}(e))) return null;for (var t = e;;) {if (5 === t.tag || 6 === t.tag) return t;if (t.child) t.child.return = t, t = t.child;else {if (t === e) break;for (; !t.sibling;) {if (!t.return || t.return === e) return null;t = t.return;}t.sibling.return = t.return, t = t.sibling;}}return null;}function rt(e, t) {if (null == t) throw Error(o(30));return null == e ? t : Array.isArray(e) ? Array.isArray(t) ? (e.push.apply(e, t), e) : (e.push(t), e) : Array.isArray(t) ? [e].concat(t) : [e, t];}function it(e, t, n) {Array.isArray(e) ? e.forEach(t, n) : e && t.call(n, e);}var at = null;function ot(e) {if (e) {var t = e._dispatchListeners,n = e._dispatchInstances;if (Array.isArray(t)) for (var r = 0; r < t.length && !e.isPropagationStopped(); r++) v(e, t[r], n[r]);else t && v(e, t, n);e._dispatchListeners = null, e._dispatchInstances = null, e.isPersistent() || e.constructor.release(e);}}function ut(e) {if (null !== e && (at = rt(at, e)), e = at, at = null, e) {if (it(e, ot), at) throw Error(o(95));if (c) throw e = f, c = !1, f = null, e;}}function st(e) {return (e = e.target || e.srcElement || window).correspondingUseElement && (e = e.correspondingUseElement), 3 === e.nodeType ? e.parentNode : e;}function lt(e) {if (!k) return !1;var t = ((e = "on" + e) in document);return t || ((t = document.createElement("div")).setAttribute(e, "return;"), t = "function" == typeof t[e]), t;}var ct = [];function ft(e) {e.topLevelType = null, e.nativeEvent = null, e.targetInst = null, e.ancestors.length = 0, 10 > ct.length && ct.push(e);}function dt(e, t, n, r) {if (ct.length) {var i = ct.pop();return i.topLevelType = e, i.eventSystemFlags = r, i.nativeEvent = t, i.targetInst = n, i;}return { topLevelType: e, eventSystemFlags: r, nativeEvent: t, targetInst: n, ancestors: [] };}function pt(e) {var t = e.targetInst,n = t;do {if (!n) {e.ancestors.push(n);break;}var r = n;if (3 === r.tag) r = r.stateNode.containerInfo;else {for (; r.return;) r = r.return;r = 3 !== r.tag ? null : r.stateNode.containerInfo;}if (!r) break;5 !== (t = n.tag) && 6 !== t || e.ancestors.push(n), n = kn(r);} while (n);for (n = 0; n < e.ancestors.length; n++) {t = e.ancestors[n];var i = st(e.nativeEvent);r = e.topLevelType;var a = e.nativeEvent,o = e.eventSystemFlags;0 === n && (o |= 64);for (var u = null, s = 0; s < S.length; s++) {var l = S[s];l && (l = l.extractEvents(r, t, a, i, o)) && (u = rt(u, l));}ut(u);}}function ht(e, t, n) {if (!n.has(e)) {switch (e) {case "scroll":Kt(t, "scroll", !0);break;case "focus":case "blur":Kt(t, "focus", !0), Kt(t, "blur", !0), n.set("blur", null), n.set("focus", null);break;case "cancel":case "close":lt(e) && Kt(t, e, !0);break;case "invalid":case "submit":case "reset":break;default:-1 === $e.indexOf(e) && Ht(e, t);}n.set(e, null);}}var gt,mt,vt,bt = !1,yt = [],_t = null,xt = null,St = null,Tt = new Map(),wt = new Map(),Et = [],Ct = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),kt = "focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Pt(e, t, n, r, i) {return { blockedOn: e, topLevelType: t, eventSystemFlags: 32 | n, nativeEvent: i, container: r };}function Rt(e, t) {switch (e) {case "focus":case "blur":_t = null;break;case "dragenter":case "dragleave":xt = null;break;case "mouseover":case "mouseout":St = null;break;case "pointerover":case "pointerout":Tt.delete(t.pointerId);break;case "gotpointercapture":case "lostpointercapture":wt.delete(t.pointerId);}}function Ot(e, t, n, r, i, a) {return null === e || e.nativeEvent !== a ? (e = Pt(t, n, r, i, a), null !== t && null !== (t = Pn(t)) && mt(t), e) : (e.eventSystemFlags |= r, e);}function At(e) {var t = kn(e.target);if (null !== t) {var n = Je(t);if (null !== n) if (13 === (t = n.tag)) {if (null !== (t = et(n))) return e.blockedOn = t, void a.unstable_runWithPriority(e.priority, function () {vt(n);});} else if (3 === t && n.stateNode.hydrate) return void (e.blockedOn = 3 === n.tag ? n.stateNode.containerInfo : null);}e.blockedOn = null;}function It(e) {if (null !== e.blockedOn) return !1;var t = Xt(e.topLevelType, e.eventSystemFlags, e.container, e.nativeEvent);if (null !== t) {var n = Pn(t);return null !== n && mt(n), e.blockedOn = t, !1;}return !0;}function Nt(e, t, n) {It(e) && n.delete(t);}function qt() {for (bt = !1; 0 < yt.length;) {var e = yt[0];if (null !== e.blockedOn) {null !== (e = Pn(e.blockedOn)) && gt(e);break;}var t = Xt(e.topLevelType, e.eventSystemFlags, e.container, e.nativeEvent);null !== t ? e.blockedOn = t : yt.shift();}null !== _t && It(_t) && (_t = null), null !== xt && It(xt) && (xt = null), null !== St && It(St) && (St = null), Tt.forEach(Nt), wt.forEach(Nt);}function Lt(e, t) {e.blockedOn === t && (e.blockedOn = null, bt || (bt = !0, a.unstable_scheduleCallback(a.unstable_NormalPriority, qt)));}function zt(e) {function t(t) {return Lt(t, e);}if (0 < yt.length) {Lt(yt[0], e);for (var n = 1; n < yt.length; n++) {var r = yt[n];r.blockedOn === e && (r.blockedOn = null);}}for (null !== _t && Lt(_t, e), null !== xt && Lt(xt, e), null !== St && Lt(St, e), Tt.forEach(t), wt.forEach(t), n = 0; n < Et.length; n++) (r = Et[n]).blockedOn === e && (r.blockedOn = null);for (; 0 < Et.length && null === (n = Et[0]).blockedOn;) At(n), null === n.blockedOn && Et.shift();}var Dt = {},jt = new Map(),Bt = new Map(),Mt = ["abort", "abort", Ge, "animationEnd", He, "animationIteration", Ke, "animationStart", "canplay", "canPlay", "canplaythrough", "canPlayThrough", "durationchange", "durationChange", "emptied", "emptied", "encrypted", "encrypted", "ended", "ended", "error", "error", "gotpointercapture", "gotPointerCapture", "load", "load", "loadeddata", "loadedData", "loadedmetadata", "loadedMetadata", "loadstart", "loadStart", "lostpointercapture", "lostPointerCapture", "playing", "playing", "progress", "progress", "seeking", "seeking", "stalled", "stalled", "suspend", "suspend", "timeupdate", "timeUpdate", Ye, "transitionEnd", "waiting", "waiting"];function Ft(e, t) {for (var n = 0; n < e.length; n += 2) {var r = e[n],i = e[n + 1],a = "on" + (i[0].toUpperCase() + i.slice(1));a = { phasedRegistrationNames: { bubbled: a, captured: a + "Capture" }, dependencies: [r], eventPriority: t }, Bt.set(r, t), jt.set(r, a), Dt[i] = a;}}Ft("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "), 0), Ft("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "), 1), Ft(Mt, 2);for (var Zt = "change selectionchange textInput compositionstart compositionend compositionupdate".split(" "), Ut = 0; Ut < Zt.length; Ut++) Bt.set(Zt[Ut], 0);var Vt = a.unstable_UserBlockingPriority,Wt = a.unstable_runWithPriority,Gt = !0;function Ht(e, t) {Kt(t, e, !1);}function Kt(e, t, n) {var r = Bt.get(t);switch (void 0 === r ? 2 : r) {case 0:r = Yt.bind(null, t, 1, e);break;case 1:r = $t.bind(null, t, 1, e);break;default:r = Qt.bind(null, t, 1, e);}n ? e.addEventListener(t, r, !0) : e.addEventListener(t, r, !1);}function Yt(e, t, n, r) {j || z();var i = Qt,a = j;j = !0;try {L(i, e, t, n, r);} finally {(j = a) || M();}}function $t(e, t, n, r) {Wt(Vt, Qt.bind(null, e, t, n, r));}function Qt(e, t, n, r) {if (Gt) if (0 < yt.length && -1 < Ct.indexOf(e)) e = Pt(null, e, t, n, r), yt.push(e);else {var i = Xt(e, t, n, r);if (null === i) Rt(e, r);else if (-1 < Ct.indexOf(e)) e = Pt(i, e, t, n, r), yt.push(e);else if (!function (e, t, n, r, i) {switch (t) {case "focus":return _t = Ot(_t, e, t, n, r, i), !0;case "dragenter":return xt = Ot(xt, e, t, n, r, i), !0;case "mouseover":return St = Ot(St, e, t, n, r, i), !0;case "pointerover":var a = i.pointerId;return Tt.set(a, Ot(Tt.get(a) || null, e, t, n, r, i)), !0;case "gotpointercapture":return a = i.pointerId, wt.set(a, Ot(wt.get(a) || null, e, t, n, r, i)), !0;}return !1;}(i, e, t, n, r)) {Rt(e, r), e = dt(e, r, null, t);try {F(pt, e);} finally {ft(e);}}}}function Xt(e, t, n, r) {if (null !== (n = kn(n = st(r)))) {var i = Je(n);if (null === i) n = null;else {var a = i.tag;if (13 === a) {if (null !== (n = et(i))) return n;n = null;} else if (3 === a) {if (i.stateNode.hydrate) return 3 === i.tag ? i.stateNode.containerInfo : null;n = null;} else i !== n && (n = null);}}e = dt(e, r, n, t);try {F(pt, e);} finally {ft(e);}return null;}var Jt = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridArea: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 },en = ["Webkit", "ms", "Moz", "O"];function tn(e, t, n) {return null == t || "boolean" == typeof t || "" === t ? "" : n || "number" != typeof t || 0 === t || Jt.hasOwnProperty(e) && Jt[e] ? ("" + t).trim() : t + "px";}function nn(e, t) {for (var n in e = e.style, t) if (t.hasOwnProperty(n)) {var r = 0 === n.indexOf("--"),i = tn(n, t[n], r);"float" === n && (n = "cssFloat"), r ? e.setProperty(n, i) : e[n] = i;}}Object.keys(Jt).forEach(function (e) {en.forEach(function (t) {t = t + e.charAt(0).toUpperCase() + e.substring(1), Jt[t] = Jt[e];});});var rn = i({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });function an(e, t) {if (t) {if (rn[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) throw Error(o(137, e, ""));if (null != t.dangerouslySetInnerHTML) {if (null != t.children) throw Error(o(60));if ("object" != typeof t.dangerouslySetInnerHTML || !("__html" in t.dangerouslySetInnerHTML)) throw Error(o(61));}if (null != t.style && "object" != typeof t.style) throw Error(o(62, ""));}}function on(e, t) {if (-1 === e.indexOf("-")) return "string" == typeof t.is;switch (e) {case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return !1;default:return !0;}}var un = qe;function sn(e, t) {var n = Xe(e = 9 === e.nodeType || 11 === e.nodeType ? e : e.ownerDocument);t = E[t];for (var r = 0; r < t.length; r++) ht(t[r], e, n);}function ln() {}function cn(e) {if (void 0 === (e = e || ("undefined" != typeof document ? document : void 0))) return null;try {return e.activeElement || e.body;} catch (t) {return e.body;}}function fn(e) {for (; e && e.firstChild;) e = e.firstChild;return e;}function dn(e, t) {var n,r = fn(e);for (e = 0; r;) {if (3 === r.nodeType) {if (n = e + r.textContent.length, e <= t && n >= t) return { node: r, offset: t - e };e = n;}e: {for (; r;) {if (r.nextSibling) {r = r.nextSibling;break e;}r = r.parentNode;}r = void 0;}r = fn(r);}}function pn() {for (var e = window, t = cn(); t instanceof e.HTMLIFrameElement;) {try {var n = "string" == typeof t.contentWindow.location.href;} catch (e) {n = !1;}if (!n) break;t = cn((e = t.contentWindow).document);}return t;}function hn(e) {var t = e && e.nodeName && e.nodeName.toLowerCase();return t && ("input" === t && ("text" === e.type || "search" === e.type || "tel" === e.type || "url" === e.type || "password" === e.type) || "textarea" === t || "true" === e.contentEditable);}var gn = null,mn = null;function vn(e, t) {switch (e) {case "button":case "input":case "select":case "textarea":return !!t.autoFocus;}return !1;}function bn(e, t) {return "textarea" === e || "option" === e || "noscript" === e || "string" == typeof t.children || "number" == typeof t.children || "object" == typeof t.dangerouslySetInnerHTML && null !== t.dangerouslySetInnerHTML && null != t.dangerouslySetInnerHTML.__html;}var yn = "function" == typeof setTimeout ? setTimeout : void 0,_n = "function" == typeof clearTimeout ? clearTimeout : void 0;function xn(e) {for (; null != e; e = e.nextSibling) {var t = e.nodeType;if (1 === t || 3 === t) break;}return e;}function Sn(e) {e = e.previousSibling;for (var t = 0; e;) {if (8 === e.nodeType) {var n = e.data;if ("$" === n || "$!" === n || "$?" === n) {if (0 === t) return e;t--;} else "/$" === n && t++;}e = e.previousSibling;}return null;}var Tn = Math.random().toString(36).slice(2),wn = "__reactInternalInstance$" + Tn,En = "__reactEventHandlers$" + Tn,Cn = "__reactContainere$" + Tn;function kn(e) {var t = e[wn];if (t) return t;for (var n = e.parentNode; n;) {if (t = n[Cn] || n[wn]) {if (n = t.alternate, null !== t.child || null !== n && null !== n.child) for (e = Sn(e); null !== e;) {if (n = e[wn]) return n;e = Sn(e);}return t;}n = (e = n).parentNode;}return null;}function Pn(e) {return !(e = e[wn] || e[Cn]) || 5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag ? null : e;}function Rn(e) {if (5 === e.tag || 6 === e.tag) return e.stateNode;throw Error(o(33));}function On(e) {return e[En] || null;}function An(e) {do {e = e.return;} while (e && 5 !== e.tag);return e || null;}function In(e, t) {var n = e.stateNode;if (!n) return null;var r = h(n);if (!r) return null;n = r[t];e: switch (t) {case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":case "onMouseEnter":(r = !r.disabled) || (r = !("button" === (e = e.type) || "input" === e || "select" === e || "textarea" === e)), e = !r;break e;default:e = !1;}if (e) return null;if (n && "function" != typeof n) throw Error(o(231, t, typeof n));return n;}function Nn(e, t, n) {(t = In(e, n.dispatchConfig.phasedRegistrationNames[t])) && (n._dispatchListeners = rt(n._dispatchListeners, t), n._dispatchInstances = rt(n._dispatchInstances, e));}function qn(e) {if (e && e.dispatchConfig.phasedRegistrationNames) {for (var t = e._targetInst, n = []; t;) n.push(t), t = An(t);for (t = n.length; 0 < t--;) Nn(n[t], "captured", e);for (t = 0; t < n.length; t++) Nn(n[t], "bubbled", e);}}function Ln(e, t, n) {e && n && n.dispatchConfig.registrationName && (t = In(e, n.dispatchConfig.registrationName)) && (n._dispatchListeners = rt(n._dispatchListeners, t), n._dispatchInstances = rt(n._dispatchInstances, e));}function zn(e) {e && e.dispatchConfig.registrationName && Ln(e._targetInst, null, e);}function Dn(e) {it(e, qn);}var jn = null,Bn = null,Mn = null;function Fn() {if (Mn) return Mn;var e,t,n = Bn,r = n.length,i = "value" in jn ? jn.value : jn.textContent,a = i.length;for (e = 0; e < r && n[e] === i[e]; e++);var o = r - e;for (t = 1; t <= o && n[r - t] === i[a - t]; t++);return Mn = i.slice(e, 1 < t ? 1 - t : void 0);}function Zn() {return !0;}function Un() {return !1;}function Vn(e, t, n, r) {for (var i in this.dispatchConfig = e, this._targetInst = t, this.nativeEvent = n, e = this.constructor.Interface) e.hasOwnProperty(i) && ((t = e[i]) ? this[i] = t(n) : "target" === i ? this.target = r : this[i] = n[i]);return this.isDefaultPrevented = (null != n.defaultPrevented ? n.defaultPrevented : !1 === n.returnValue) ? Zn : Un, this.isPropagationStopped = Un, this;}function Wn(e, t, n, r) {if (this.eventPool.length) {var i = this.eventPool.pop();return this.call(i, e, t, n, r), i;}return new this(e, t, n, r);}function Gn(e) {if (!(e instanceof this)) throw Error(o(279));e.destructor(), 10 > this.eventPool.length && this.eventPool.push(e);}function Hn(e) {e.eventPool = [], e.getPooled = Wn, e.release = Gn;}i(Vn.prototype, { preventDefault: function () {this.defaultPrevented = !0;var e = this.nativeEvent;e && (e.preventDefault ? e.preventDefault() : "unknown" != typeof e.returnValue && (e.returnValue = !1), this.isDefaultPrevented = Zn);}, stopPropagation: function () {var e = this.nativeEvent;e && (e.stopPropagation ? e.stopPropagation() : "unknown" != typeof e.cancelBubble && (e.cancelBubble = !0), this.isPropagationStopped = Zn);}, persist: function () {this.isPersistent = Zn;}, isPersistent: Un, destructor: function () {var e,t = this.constructor.Interface;for (e in t) this[e] = null;this.nativeEvent = this._targetInst = this.dispatchConfig = null, this.isPropagationStopped = this.isDefaultPrevented = Un, this._dispatchInstances = this._dispatchListeners = null;} }), Vn.Interface = { type: null, target: null, currentTarget: function () {return null;}, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (e) {return e.timeStamp || Date.now();}, defaultPrevented: null, isTrusted: null }, Vn.extend = function (e) {function t() {}function n() {return r.apply(this, arguments);}var r = this;t.prototype = r.prototype;var a = new t();return i(a, n.prototype), n.prototype = a, n.prototype.constructor = n, n.Interface = i({}, r.Interface, e), n.extend = r.extend, Hn(n), n;}, Hn(Vn);var Kn = Vn.extend({ data: null }),Yn = Vn.extend({ data: null }),$n = [9, 13, 27, 32],Qn = k && "CompositionEvent" in window,Xn = null;k && "documentMode" in document && (Xn = document.documentMode);var Jn = k && "TextEvent" in window && !Xn,er = k && (!Qn || Xn && 8 < Xn && 11 >= Xn),tr = String.fromCharCode(32),nr = { beforeInput: { phasedRegistrationNames: { bubbled: "onBeforeInput", captured: "onBeforeInputCapture" }, dependencies: ["compositionend", "keypress", "textInput", "paste"] }, compositionEnd: { phasedRegistrationNames: { bubbled: "onCompositionEnd", captured: "onCompositionEndCapture" }, dependencies: "blur compositionend keydown keypress keyup mousedown".split(" ") }, compositionStart: { phasedRegistrationNames: { bubbled: "onCompositionStart", captured: "onCompositionStartCapture" }, dependencies: "blur compositionstart keydown keypress keyup mousedown".split(" ") }, compositionUpdate: { phasedRegistrationNames: { bubbled: "onCompositionUpdate", captured: "onCompositionUpdateCapture" }, dependencies: "blur compositionupdate keydown keypress keyup mousedown".split(" ") } },rr = !1;function ir(e, t) {switch (e) {case "keyup":return -1 !== $n.indexOf(t.keyCode);case "keydown":return 229 !== t.keyCode;case "keypress":case "mousedown":case "blur":return !0;default:return !1;}}function ar(e) {return "object" == typeof (e = e.detail) && "data" in e ? e.data : null;}var or = !1;var ur = { eventTypes: nr, extractEvents: function (e, t, n, r) {var i;if (Qn) e: {switch (e) {case "compositionstart":var a = nr.compositionStart;break e;case "compositionend":a = nr.compositionEnd;break e;case "compositionupdate":a = nr.compositionUpdate;break e;}a = void 0;} else or ? ir(e, n) && (a = nr.compositionEnd) : "keydown" === e && 229 === n.keyCode && (a = nr.compositionStart);return a ? (er && "ko" !== n.locale && (or || a !== nr.compositionStart ? a === nr.compositionEnd && or && (i = Fn()) : (Bn = "value" in (jn = r) ? jn.value : jn.textContent, or = !0)), a = Kn.getPooled(a, t, n, r), i ? a.data = i : null !== (i = ar(n)) && (a.data = i), Dn(a), i = a) : i = null, (e = Jn ? function (e, t) {switch (e) {case "compositionend":return ar(t);case "keypress":return 32 !== t.which ? null : (rr = !0, tr);case "textInput":return (e = t.data) === tr && rr ? null : e;default:return null;}}(e, n) : function (e, t) {if (or) return "compositionend" === e || !Qn && ir(e, t) ? (e = Fn(), Mn = Bn = jn = null, or = !1, e) : null;switch (e) {case "paste":return null;case "keypress":if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) {if (t.char && 1 < t.char.length) return t.char;if (t.which) return String.fromCharCode(t.which);}return null;case "compositionend":return er && "ko" !== t.locale ? null : t.data;default:return null;}}(e, n)) ? ((t = Yn.getPooled(nr.beforeInput, t, n, r)).data = e, Dn(t)) : t = null, null === i ? t : null === t ? i : [i, t];} },sr = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };function lr(e) {var t = e && e.nodeName && e.nodeName.toLowerCase();return "input" === t ? !!sr[e.type] : "textarea" === t;}var cr = { change: { phasedRegistrationNames: { bubbled: "onChange", captured: "onChangeCapture" }, dependencies: "blur change click focus input keydown keyup selectionchange".split(" ") } };function fr(e, t, n) {return (e = Vn.getPooled(cr.change, e, t, n)).type = "change", I(n), Dn(e), e;}var dr = null,pr = null;function hr(e) {ut(e);}function gr(e) {if (xe(Rn(e))) return e;}function mr(e, t) {if ("change" === e) return t;}var vr = !1;function br() {dr && (dr.detachEvent("onpropertychange", yr), pr = dr = null);}function yr(e) {if ("value" === e.propertyName && gr(pr)) if (e = fr(pr, e, st(e)), j) ut(e);else {j = !0;try {q(hr, e);} finally {j = !1, M();}}}function _r(e, t, n) {"focus" === e ? (br(), pr = n, (dr = t).attachEvent("onpropertychange", yr)) : "blur" === e && br();}function xr(e) {if ("selectionchange" === e || "keyup" === e || "keydown" === e) return gr(pr);}function Sr(e, t) {if ("click" === e) return gr(t);}function Tr(e, t) {if ("input" === e || "change" === e) return gr(t);}k && (vr = lt("input") && (!document.documentMode || 9 < document.documentMode));var wr = { eventTypes: cr, _isInputEventSupported: vr, extractEvents: function (e, t, n, r) {var i = t ? Rn(t) : window,a = i.nodeName && i.nodeName.toLowerCase();if ("select" === a || "input" === a && "file" === i.type) var o = mr;else if (lr(i)) {if (vr) o = Tr;else {o = xr;var u = _r;}} else (a = i.nodeName) && "input" === a.toLowerCase() && ("checkbox" === i.type || "radio" === i.type) && (o = Sr);if (o && (o = o(e, t))) return fr(o, n, r);u && u(e, i, t), "blur" === e && (e = i._wrapperState) && e.controlled && "number" === i.type && ke(i, "number", i.value);} },Er = Vn.extend({ view: null, detail: null }),Cr = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };function kr(e) {var t = this.nativeEvent;return t.getModifierState ? t.getModifierState(e) : !!(e = Cr[e]) && !!t[e];}function Pr() {return kr;}var Rr = 0,Or = 0,Ar = !1,Ir = !1,Nr = Er.extend({ screenX: null, screenY: null, clientX: null, clientY: null, pageX: null, pageY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: Pr, button: null, buttons: null, relatedTarget: function (e) {return e.relatedTarget || (e.fromElement === e.srcElement ? e.toElement : e.fromElement);}, movementX: function (e) {if ("movementX" in e) return e.movementX;var t = Rr;return Rr = e.screenX, Ar ? "mousemove" === e.type ? e.screenX - t : 0 : (Ar = !0, 0);}, movementY: function (e) {if ("movementY" in e) return e.movementY;var t = Or;return Or = e.screenY, Ir ? "mousemove" === e.type ? e.screenY - t : 0 : (Ir = !0, 0);} }),qr = Nr.extend({ pointerId: null, width: null, height: null, pressure: null, tangentialPressure: null, tiltX: null, tiltY: null, twist: null, pointerType: null, isPrimary: null }),Lr = { mouseEnter: { registrationName: "onMouseEnter", dependencies: ["mouseout", "mouseover"] }, mouseLeave: { registrationName: "onMouseLeave", dependencies: ["mouseout", "mouseover"] }, pointerEnter: { registrationName: "onPointerEnter", dependencies: ["pointerout", "pointerover"] }, pointerLeave: { registrationName: "onPointerLeave", dependencies: ["pointerout", "pointerover"] } },zr = { eventTypes: Lr, extractEvents: function (e, t, n, r, i) {var a = "mouseover" === e || "pointerover" === e,o = "mouseout" === e || "pointerout" === e;if (a && 0 == (32 & i) && (n.relatedTarget || n.fromElement) || !o && !a) return null;(a = r.window === r ? r : (a = r.ownerDocument) ? a.defaultView || a.parentWindow : window, o) ? (o = t, null !== (t = (t = n.relatedTarget || n.toElement) ? kn(t) : null) && (t !== Je(t) || 5 !== t.tag && 6 !== t.tag) && (t = null)) : o = null;if (o === t) return null;if ("mouseout" === e || "mouseover" === e) var u = Nr,s = Lr.mouseLeave,l = Lr.mouseEnter,c = "mouse";else "pointerout" !== e && "pointerover" !== e || (u = qr, s = Lr.pointerLeave, l = Lr.pointerEnter, c = "pointer");if (e = null == o ? a : Rn(o), a = null == t ? a : Rn(t), (s = u.getPooled(s, o, n, r)).type = c + "leave", s.target = e, s.relatedTarget = a, (n = u.getPooled(l, t, n, r)).type = c + "enter", n.target = a, n.relatedTarget = e, c = t, (r = o) && c) e: {for (l = c, o = 0, e = u = r; e; e = An(e)) o++;for (e = 0, t = l; t; t = An(t)) e++;for (; 0 < o - e;) u = An(u), o--;for (; 0 < e - o;) l = An(l), e--;for (; o--;) {if (u === l || u === l.alternate) break e;u = An(u), l = An(l);}u = null;} else u = null;for (l = u, u = []; r && r !== l && (null === (o = r.alternate) || o !== l);) u.push(r), r = An(r);for (r = []; c && c !== l && (null === (o = c.alternate) || o !== l);) r.push(c), c = An(c);for (c = 0; c < u.length; c++) Ln(u[c], "bubbled", s);for (c = r.length; 0 < c--;) Ln(r[c], "captured", n);return 0 == (64 & i) ? [s] : [s, n];} };var Dr = "function" == typeof Object.is ? Object.is : function (e, t) {return e === t && (0 !== e || 1 / e == 1 / t) || e != e && t != t;},jr = Object.prototype.hasOwnProperty;function Br(e, t) {if (Dr(e, t)) return !0;if ("object" != typeof e || null === e || "object" != typeof t || null === t) return !1;var n = Object.keys(e),r = Object.keys(t);if (n.length !== r.length) return !1;for (r = 0; r < n.length; r++) if (!jr.call(t, n[r]) || !Dr(e[n[r]], t[n[r]])) return !1;return !0;}var Mr = k && "documentMode" in document && 11 >= document.documentMode,Fr = { select: { phasedRegistrationNames: { bubbled: "onSelect", captured: "onSelectCapture" }, dependencies: "blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ") } },Zr = null,Ur = null,Vr = null,Wr = !1;function Gr(e, t) {var n = t.window === t ? t.document : 9 === t.nodeType ? t : t.ownerDocument;return Wr || null == Zr || Zr !== cn(n) ? null : ("selectionStart" in (n = Zr) && hn(n) ? n = { start: n.selectionStart, end: n.selectionEnd } : n = { anchorNode: (n = (n.ownerDocument && n.ownerDocument.defaultView || window).getSelection()).anchorNode, anchorOffset: n.anchorOffset, focusNode: n.focusNode, focusOffset: n.focusOffset }, Vr && Br(Vr, n) ? null : (Vr = n, (e = Vn.getPooled(Fr.select, Ur, e, t)).type = "select", e.target = Zr, Dn(e), e));}var Hr = { eventTypes: Fr, extractEvents: function (e, t, n, r, i, a) {if (!(a = !(i = a || (r.window === r ? r.document : 9 === r.nodeType ? r : r.ownerDocument)))) {e: {i = Xe(i), a = E.onSelect;for (var o = 0; o < a.length; o++) if (!i.has(a[o])) {i = !1;break e;}i = !0;}a = !i;}if (a) return null;switch (i = t ? Rn(t) : window, e) {case "focus":(lr(i) || "true" === i.contentEditable) && (Zr = i, Ur = t, Vr = null);break;case "blur":Vr = Ur = Zr = null;break;case "mousedown":Wr = !0;break;case "contextmenu":case "mouseup":case "dragend":return Wr = !1, Gr(n, r);case "selectionchange":if (Mr) break;case "keydown":case "keyup":return Gr(n, r);}return null;} },Kr = Vn.extend({ animationName: null, elapsedTime: null, pseudoElement: null }),Yr = Vn.extend({ clipboardData: function (e) {return "clipboardData" in e ? e.clipboardData : window.clipboardData;} }),$r = Er.extend({ relatedTarget: null });function Qr(e) {var t = e.keyCode;return "charCode" in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : e = t, 10 === e && (e = 13), 32 <= e || 13 === e ? e : 0;}var Xr = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" },Jr = { 8: "Backspace", 9: "Tab", 12: "Clear", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Escape", 32: " ", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "ArrowLeft", 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", 45: "Insert", 46: "Delete", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 144: "NumLock", 145: "ScrollLock", 224: "Meta" },ei = Er.extend({ key: function (e) {if (e.key) {var t = Xr[e.key] || e.key;if ("Unidentified" !== t) return t;}return "keypress" === e.type ? 13 === (e = Qr(e)) ? "Enter" : String.fromCharCode(e) : "keydown" === e.type || "keyup" === e.type ? Jr[e.keyCode] || "Unidentified" : "";}, location: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, repeat: null, locale: null, getModifierState: Pr, charCode: function (e) {return "keypress" === e.type ? Qr(e) : 0;}, keyCode: function (e) {return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0;}, which: function (e) {return "keypress" === e.type ? Qr(e) : "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0;} }),ti = Nr.extend({ dataTransfer: null }),ni = Er.extend({ touches: null, targetTouches: null, changedTouches: null, altKey: null, metaKey: null, ctrlKey: null, shiftKey: null, getModifierState: Pr }),ri = Vn.extend({ propertyName: null, elapsedTime: null, pseudoElement: null }),ii = Nr.extend({ deltaX: function (e) {return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;}, deltaY: function (e) {return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0;}, deltaZ: null, deltaMode: null }),ai = { eventTypes: Dt, extractEvents: function (e, t, n, r) {var i = jt.get(e);if (!i) return null;switch (e) {case "keypress":if (0 === Qr(n)) return null;case "keydown":case "keyup":e = ei;break;case "blur":case "focus":e = $r;break;case "click":if (2 === n.button) return null;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":e = Nr;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":e = ti;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":e = ni;break;case Ge:case He:case Ke:e = Kr;break;case Ye:e = ri;break;case "scroll":e = Er;break;case "wheel":e = ii;break;case "copy":case "cut":case "paste":e = Yr;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":e = qr;break;default:e = Vn;}return Dn(t = e.getPooled(i, t, n, r)), t;} };if (b) throw Error(o(101));b = Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")), _(), h = On, g = Pn, m = Rn, C({ SimpleEventPlugin: ai, EnterLeaveEventPlugin: zr, ChangeEventPlugin: wr, SelectEventPlugin: Hr, BeforeInputEventPlugin: ur });var oi = [],ui = -1;function si(e) {0 > ui || (e.current = oi[ui], oi[ui] = null, ui--);}function li(e, t) {ui++, oi[ui] = e.current, e.current = t;}var ci = {},fi = { current: ci },di = { current: !1 },pi = ci;function hi(e, t) {var n = e.type.contextTypes;if (!n) return ci;var r = e.stateNode;if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) return r.__reactInternalMemoizedMaskedChildContext;var i,a = {};for (i in n) a[i] = t[i];return r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = a), a;}function gi(e) {return null != (e = e.childContextTypes);}function mi() {si(di), si(fi);}function vi(e, t, n) {if (fi.current !== ci) throw Error(o(168));li(fi, t), li(di, n);}function bi(e, t, n) {var r = e.stateNode;if (e = t.childContextTypes, "function" != typeof r.getChildContext) return n;for (var a in r = r.getChildContext()) if (!(a in e)) throw Error(o(108, me(t) || "Unknown", a));return i({}, n, {}, r);}function yi(e) {return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || ci, pi = fi.current, li(fi, e), li(di, di.current), !0;}function _i(e, t, n) {var r = e.stateNode;if (!r) throw Error(o(169));n ? (e = bi(e, t, pi), r.__reactInternalMemoizedMergedChildContext = e, si(di), si(fi), li(fi, e)) : si(di), li(di, n);}var xi = a.unstable_runWithPriority,Si = a.unstable_scheduleCallback,Ti = a.unstable_cancelCallback,wi = a.unstable_requestPaint,Ei = a.unstable_now,Ci = a.unstable_getCurrentPriorityLevel,ki = a.unstable_ImmediatePriority,Pi = a.unstable_UserBlockingPriority,Ri = a.unstable_NormalPriority,Oi = a.unstable_LowPriority,Ai = a.unstable_IdlePriority,Ii = {},Ni = a.unstable_shouldYield,qi = void 0 !== wi ? wi : function () {},Li = null,zi = null,Di = !1,ji = Ei(),Bi = 1e4 > ji ? Ei : function () {return Ei() - ji;};function Mi() {switch (Ci()) {case ki:return 99;case Pi:return 98;case Ri:return 97;case Oi:return 96;case Ai:return 95;default:throw Error(o(332));}}function Fi(e) {switch (e) {case 99:return ki;case 98:return Pi;case 97:return Ri;case 96:return Oi;case 95:return Ai;default:throw Error(o(332));}}function Zi(e, t) {return e = Fi(e), xi(e, t);}function Ui(e, t, n) {return e = Fi(e), Si(e, t, n);}function Vi(e) {return null === Li ? (Li = [e], zi = Si(ki, Gi)) : Li.push(e), Ii;}function Wi() {if (null !== zi) {var e = zi;zi = null, Ti(e);}Gi();}function Gi() {if (!Di && null !== Li) {Di = !0;var e = 0;try {var t = Li;Zi(99, function () {for (; e < t.length; e++) {var n = t[e];do {n = n(!0);} while (null !== n);}}), Li = null;} catch (t) {throw null !== Li && (Li = Li.slice(e + 1)), Si(ki, Wi), t;} finally {Di = !1;}}}function Hi(e, t, n) {return 1073741821 - (1 + ((1073741821 - e + t / 10) / (n /= 10) | 0)) * n;}function Ki(e, t) {if (e && e.defaultProps) for (var n in t = i({}, t), e = e.defaultProps) void 0 === t[n] && (t[n] = e[n]);return t;}var Yi = { current: null },$i = null,Qi = null,Xi = null;function Ji() {Xi = Qi = $i = null;}function ea(e) {var t = Yi.current;si(Yi), e.type._context._currentValue = t;}function ta(e, t) {for (; null !== e;) {var n = e.alternate;if (e.childExpirationTime < t) e.childExpirationTime = t, null !== n && n.childExpirationTime < t && (n.childExpirationTime = t);else {if (!(null !== n && n.childExpirationTime < t)) break;n.childExpirationTime = t;}e = e.return;}}function na(e, t) {$i = e, Xi = Qi = null, null !== (e = e.dependencies) && null !== e.firstContext && (e.expirationTime >= t && (Oo = !0), e.firstContext = null);}function ra(e, t) {if (Xi !== e && !1 !== t && 0 !== t) if ("number" == typeof t && 1073741823 !== t || (Xi = e, t = 1073741823), t = { context: e, observedBits: t, next: null }, null === Qi) {if (null === $i) throw Error(o(308));Qi = t, $i.dependencies = { expirationTime: 0, firstContext: t, responders: null };} else Qi = Qi.next = t;return e._currentValue;}var ia = !1;function aa(e) {e.updateQueue = { baseState: e.memoizedState, baseQueue: null, shared: { pending: null }, effects: null };}function oa(e, t) {e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, baseQueue: e.baseQueue, shared: e.shared, effects: e.effects });}function ua(e, t) {return (e = { expirationTime: e, suspenseConfig: t, tag: 0, payload: null, callback: null, next: null }).next = e;}function sa(e, t) {if (null !== (e = e.updateQueue)) {var n = (e = e.shared).pending;null === n ? t.next = t : (t.next = n.next, n.next = t), e.pending = t;}}function la(e, t) {var n = e.alternate;null !== n && oa(n, e), null === (n = (e = e.updateQueue).baseQueue) ? (e.baseQueue = t.next = t, t.next = t) : (t.next = n.next, n.next = t);}function ca(e, t, n, r) {var a = e.updateQueue;ia = !1;var o = a.baseQueue,u = a.shared.pending;if (null !== u) {if (null !== o) {var s = o.next;o.next = u.next, u.next = s;}o = u, a.shared.pending = null, null !== (s = e.alternate) && null !== (s = s.updateQueue) && (s.baseQueue = u);}if (null !== o) {s = o.next;var l = a.baseState,c = 0,f = null,d = null,p = null;if (null !== s) for (var h = s;;) {if ((u = h.expirationTime) < r) {var g = { expirationTime: h.expirationTime, suspenseConfig: h.suspenseConfig, tag: h.tag, payload: h.payload, callback: h.callback, next: null };null === p ? (d = p = g, f = l) : p = p.next = g, u > c && (c = u);} else {null !== p && (p = p.next = { expirationTime: 1073741823, suspenseConfig: h.suspenseConfig, tag: h.tag, payload: h.payload, callback: h.callback, next: null }), as(u, h.suspenseConfig);e: {var m = e,v = h;switch (u = t, g = n, v.tag) {case 1:if ("function" == typeof (m = v.payload)) {l = m.call(g, l, u);break e;}l = m;break e;case 3:m.effectTag = -4097 & m.effectTag | 64;case 0:if (null == (u = "function" == typeof (m = v.payload) ? m.call(g, l, u) : m)) break e;l = i({}, l, u);break e;case 2:ia = !0;}}null !== h.callback && (e.effectTag |= 32, null === (u = a.effects) ? a.effects = [h] : u.push(h));}if (null === (h = h.next) || h === s) {if (null === (u = a.shared.pending)) break;h = o.next = u.next, u.next = s, a.baseQueue = o = u, a.shared.pending = null;}}null === p ? f = l : p.next = d, a.baseState = f, a.baseQueue = p, os(c), e.expirationTime = c, e.memoizedState = l;}}function fa(e, t, n) {if (e = t.effects, t.effects = null, null !== e) for (t = 0; t < e.length; t++) {var r = e[t],i = r.callback;if (null !== i) {if (r.callback = null, r = i, i = n, "function" != typeof r) throw Error(o(191, r));r.call(i);}}}var da = $.ReactCurrentBatchConfig,pa = new r.Component().refs;function ha(e, t, n, r) {n = null == (n = n(r, t = e.memoizedState)) ? t : i({}, t, n), e.memoizedState = n, 0 === e.expirationTime && (e.updateQueue.baseState = n);}var ga = { isMounted: function (e) {return !!(e = e._reactInternalFiber) && Je(e) === e;}, enqueueSetState: function (e, t, n) {e = e._reactInternalFiber;var r = Gu(),i = da.suspense;(i = ua(r = Hu(r, e, i), i)).payload = t, null != n && (i.callback = n), sa(e, i), Ku(e, r);}, enqueueReplaceState: function (e, t, n) {e = e._reactInternalFiber;var r = Gu(),i = da.suspense;(i = ua(r = Hu(r, e, i), i)).tag = 1, i.payload = t, null != n && (i.callback = n), sa(e, i), Ku(e, r);}, enqueueForceUpdate: function (e, t) {e = e._reactInternalFiber;var n = Gu(),r = da.suspense;(r = ua(n = Hu(n, e, r), r)).tag = 2, null != t && (r.callback = t), sa(e, r), Ku(e, n);} };function ma(e, t, n, r, i, a, o) {return "function" == typeof (e = e.stateNode).shouldComponentUpdate ? e.shouldComponentUpdate(r, a, o) : !t.prototype || !t.prototype.isPureReactComponent || !Br(n, r) || !Br(i, a);}function va(e, t, n) {var r = !1,i = ci,a = t.contextType;return "object" == typeof a && null !== a ? a = ra(a) : (i = gi(t) ? pi : fi.current, a = (r = null != (r = t.contextTypes)) ? hi(e, i) : ci), t = new t(n, a), e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null, t.updater = ga, e.stateNode = t, t._reactInternalFiber = e, r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = a), t;}function ba(e, t, n, r) {e = t.state, "function" == typeof t.componentWillReceiveProps && t.componentWillReceiveProps(n, r), "function" == typeof t.UNSAFE_componentWillReceiveProps && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && ga.enqueueReplaceState(t, t.state, null);}function ya(e, t, n, r) {var i = e.stateNode;i.props = n, i.state = e.memoizedState, i.refs = pa, aa(e);var a = t.contextType;"object" == typeof a && null !== a ? i.context = ra(a) : (a = gi(t) ? pi : fi.current, i.context = hi(e, a)), ca(e, n, i, r), i.state = e.memoizedState, "function" == typeof (a = t.getDerivedStateFromProps) && (ha(e, t, a, n), i.state = e.memoizedState), "function" == typeof t.getDerivedStateFromProps || "function" == typeof i.getSnapshotBeforeUpdate || "function" != typeof i.UNSAFE_componentWillMount && "function" != typeof i.componentWillMount || (t = i.state, "function" == typeof i.componentWillMount && i.componentWillMount(), "function" == typeof i.UNSAFE_componentWillMount && i.UNSAFE_componentWillMount(), t !== i.state && ga.enqueueReplaceState(i, i.state, null), ca(e, n, i, r), i.state = e.memoizedState), "function" == typeof i.componentDidMount && (e.effectTag |= 4);}var _a = Array.isArray;function xa(e, t, n) {if (null !== (e = n.ref) && "function" != typeof e && "object" != typeof e) {if (n._owner) {if (n = n._owner) {if (1 !== n.tag) throw Error(o(309));var r = n.stateNode;}if (!r) throw Error(o(147, e));var i = "" + e;return null !== t && null !== t.ref && "function" == typeof t.ref && t.ref._stringRef === i ? t.ref : ((t = function (e) {var t = r.refs;t === pa && (t = r.refs = {}), null === e ? delete t[i] : t[i] = e;})._stringRef = i, t);}if ("string" != typeof e) throw Error(o(284));if (!n._owner) throw Error(o(290, e));}return e;}function Sa(e, t) {if ("textarea" !== e.type) throw Error(o(31, "[object Object]" === Object.prototype.toString.call(t) ? "object with keys {" + Object.keys(t).join(", ") + "}" : t, ""));}function Ta(e) {function t(t, n) {if (e) {var r = t.lastEffect;null !== r ? (r.nextEffect = n, t.lastEffect = n) : t.firstEffect = t.lastEffect = n, n.nextEffect = null, n.effectTag = 8;}}function n(n, r) {if (!e) return null;for (; null !== r;) t(n, r), r = r.sibling;return null;}function r(e, t) {for (e = new Map(); null !== t;) null !== t.key ? e.set(t.key, t) : e.set(t.index, t), t = t.sibling;return e;}function i(e, t) {return (e = Cs(e, t)).index = 0, e.sibling = null, e;}function a(t, n, r) {return t.index = r, e ? null !== (r = t.alternate) ? (r = r.index) < n ? (t.effectTag = 2, n) : r : (t.effectTag = 2, n) : n;}function u(t) {return e && null === t.alternate && (t.effectTag = 2), t;}function s(e, t, n, r) {return null === t || 6 !== t.tag ? ((t = Rs(n, e.mode, r)).return = e, t) : ((t = i(t, n)).return = e, t);}function l(e, t, n, r) {return null !== t && t.elementType === n.type ? ((r = i(t, n.props)).ref = xa(e, t, n), r.return = e, r) : ((r = ks(n.type, n.key, n.props, null, e.mode, r)).ref = xa(e, t, n), r.return = e, r);}function c(e, t, n, r) {return null === t || 4 !== t.tag || t.stateNode.containerInfo !== n.containerInfo || t.stateNode.implementation !== n.implementation ? ((t = Os(n, e.mode, r)).return = e, t) : ((t = i(t, n.children || [])).return = e, t);}function f(e, t, n, r, a) {return null === t || 7 !== t.tag ? ((t = Ps(n, e.mode, r, a)).return = e, t) : ((t = i(t, n)).return = e, t);}function d(e, t, n) {if ("string" == typeof t || "number" == typeof t) return (t = Rs("" + t, e.mode, n)).return = e, t;if ("object" == typeof t && null !== t) {switch (t.$$typeof) {case ee:return (n = ks(t.type, t.key, t.props, null, e.mode, n)).ref = xa(e, null, t), n.return = e, n;case te:return (t = Os(t, e.mode, n)).return = e, t;}if (_a(t) || ge(t)) return (t = Ps(t, e.mode, n, null)).return = e, t;Sa(e, t);}return null;}function p(e, t, n, r) {var i = null !== t ? t.key : null;if ("string" == typeof n || "number" == typeof n) return null !== i ? null : s(e, t, "" + n, r);if ("object" == typeof n && null !== n) {switch (n.$$typeof) {case ee:return n.key === i ? n.type === ne ? f(e, t, n.props.children, r, i) : l(e, t, n, r) : null;case te:return n.key === i ? c(e, t, n, r) : null;}if (_a(n) || ge(n)) return null !== i ? null : f(e, t, n, r, null);Sa(e, n);}return null;}function h(e, t, n, r, i) {if ("string" == typeof r || "number" == typeof r) return s(t, e = e.get(n) || null, "" + r, i);if ("object" == typeof r && null !== r) {switch (r.$$typeof) {case ee:return e = e.get(null === r.key ? n : r.key) || null, r.type === ne ? f(t, e, r.props.children, i, r.key) : l(t, e, r, i);case te:return c(t, e = e.get(null === r.key ? n : r.key) || null, r, i);}if (_a(r) || ge(r)) return f(t, e = e.get(n) || null, r, i, null);Sa(t, r);}return null;}function g(i, o, u, s) {for (var l = null, c = null, f = o, g = o = 0, m = null; null !== f && g < u.length; g++) {f.index > g ? (m = f, f = null) : m = f.sibling;var v = p(i, f, u[g], s);if (null === v) {null === f && (f = m);break;}e && f && null === v.alternate && t(i, f), o = a(v, o, g), null === c ? l = v : c.sibling = v, c = v, f = m;}if (g === u.length) return n(i, f), l;if (null === f) {for (; g < u.length; g++) null !== (f = d(i, u[g], s)) && (o = a(f, o, g), null === c ? l = f : c.sibling = f, c = f);return l;}for (f = r(i, f); g < u.length; g++) null !== (m = h(f, i, g, u[g], s)) && (e && null !== m.alternate && f.delete(null === m.key ? g : m.key), o = a(m, o, g), null === c ? l = m : c.sibling = m, c = m);return e && f.forEach(function (e) {return t(i, e);}), l;}function m(i, u, s, l) {var c = ge(s);if ("function" != typeof c) throw Error(o(150));if (null == (s = c.call(s))) throw Error(o(151));for (var f = c = null, g = u, m = u = 0, v = null, b = s.next(); null !== g && !b.done; m++, b = s.next()) {g.index > m ? (v = g, g = null) : v = g.sibling;var y = p(i, g, b.value, l);if (null === y) {null === g && (g = v);break;}e && g && null === y.alternate && t(i, g), u = a(y, u, m), null === f ? c = y : f.sibling = y, f = y, g = v;}if (b.done) return n(i, g), c;if (null === g) {for (; !b.done; m++, b = s.next()) null !== (b = d(i, b.value, l)) && (u = a(b, u, m), null === f ? c = b : f.sibling = b, f = b);return c;}for (g = r(i, g); !b.done; m++, b = s.next()) null !== (b = h(g, i, m, b.value, l)) && (e && null !== b.alternate && g.delete(null === b.key ? m : b.key), u = a(b, u, m), null === f ? c = b : f.sibling = b, f = b);return e && g.forEach(function (e) {return t(i, e);}), c;}return function (e, r, a, s) {var l = "object" == typeof a && null !== a && a.type === ne && null === a.key;l && (a = a.props.children);var c = "object" == typeof a && null !== a;if (c) switch (a.$$typeof) {case ee:e: {for (c = a.key, l = r; null !== l;) {if (l.key === c) {switch (l.tag) {case 7:if (a.type === ne) {n(e, l.sibling), (r = i(l, a.props.children)).return = e, e = r;break e;}break;default:if (l.elementType === a.type) {n(e, l.sibling), (r = i(l, a.props)).ref = xa(e, l, a), r.return = e, e = r;break e;}}n(e, l);break;}t(e, l), l = l.sibling;}a.type === ne ? ((r = Ps(a.props.children, e.mode, s, a.key)).return = e, e = r) : ((s = ks(a.type, a.key, a.props, null, e.mode, s)).ref = xa(e, r, a), s.return = e, e = s);}return u(e);case te:e: {for (l = a.key; null !== r;) {if (r.key === l) {if (4 === r.tag && r.stateNode.containerInfo === a.containerInfo && r.stateNode.implementation === a.implementation) {n(e, r.sibling), (r = i(r, a.children || [])).return = e, e = r;break e;}n(e, r);break;}t(e, r), r = r.sibling;}(r = Os(a, e.mode, s)).return = e, e = r;}return u(e);}if ("string" == typeof a || "number" == typeof a) return a = "" + a, null !== r && 6 === r.tag ? (n(e, r.sibling), (r = i(r, a)).return = e, e = r) : (n(e, r), (r = Rs(a, e.mode, s)).return = e, e = r), u(e);if (_a(a)) return g(e, r, a, s);if (ge(a)) return m(e, r, a, s);if (c && Sa(e, a), void 0 === a && !l) switch (e.tag) {case 1:case 0:throw e = e.type, Error(o(152, e.displayName || e.name || "Component"));}return n(e, r);};}var wa = Ta(!0),Ea = Ta(!1),Ca = {},ka = { current: Ca },Pa = { current: Ca },Ra = { current: Ca };function Oa(e) {if (e === Ca) throw Error(o(174));return e;}function Aa(e, t) {switch (li(Ra, t), li(Pa, e), li(ka, Ca), e = t.nodeType) {case 9:case 11:t = (t = t.documentElement) ? t.namespaceURI : De(null, "");break;default:t = De(t = (e = 8 === e ? t.parentNode : t).namespaceURI || null, e = e.tagName);}si(ka), li(ka, t);}function Ia() {si(ka), si(Pa), si(Ra);}function Na(e) {Oa(Ra.current);var t = Oa(ka.current),n = De(t, e.type);t !== n && (li(Pa, e), li(ka, n));}function qa(e) {Pa.current === e && (si(ka), si(Pa));}var La = { current: 0 };function za(e) {for (var t = e; null !== t;) {if (13 === t.tag) {var n = t.memoizedState;if (null !== n && (null === (n = n.dehydrated) || "$?" === n.data || "$!" === n.data)) return t;} else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) {if (0 != (64 & t.effectTag)) return t;} else if (null !== t.child) {t.child.return = t, t = t.child;continue;}if (t === e) break;for (; null === t.sibling;) {if (null === t.return || t.return === e) return null;t = t.return;}t.sibling.return = t.return, t = t.sibling;}return null;}function Da(e, t) {return { responder: e, props: t };}var ja = $.ReactCurrentDispatcher,Ba = $.ReactCurrentBatchConfig,Ma = 0,Fa = null,Za = null,Ua = null,Va = !1;function Wa() {throw Error(o(321));}function Ga(e, t) {if (null === t) return !1;for (var n = 0; n < t.length && n < e.length; n++) if (!Dr(e[n], t[n])) return !1;return !0;}function Ha(e, t, n, r, i, a) {if (Ma = a, Fa = t, t.memoizedState = null, t.updateQueue = null, t.expirationTime = 0, ja.current = null === e || null === e.memoizedState ? vo : bo, e = n(r, i), t.expirationTime === Ma) {a = 0;do {if (t.expirationTime = 0, !(25 > a)) throw Error(o(301));a += 1, Ua = Za = null, t.updateQueue = null, ja.current = yo, e = n(r, i);} while (t.expirationTime === Ma);}if (ja.current = mo, t = null !== Za && null !== Za.next, Ma = 0, Ua = Za = Fa = null, Va = !1, t) throw Error(o(300));return e;}function Ka() {var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };return null === Ua ? Fa.memoizedState = Ua = e : Ua = Ua.next = e, Ua;}function Ya() {if (null === Za) {var e = Fa.alternate;e = null !== e ? e.memoizedState : null;} else e = Za.next;var t = null === Ua ? Fa.memoizedState : Ua.next;if (null !== t) Ua = t, Za = e;else {if (null === e) throw Error(o(310));e = { memoizedState: (Za = e).memoizedState, baseState: Za.baseState, baseQueue: Za.baseQueue, queue: Za.queue, next: null }, null === Ua ? Fa.memoizedState = Ua = e : Ua = Ua.next = e;}return Ua;}function $a(e, t) {return "function" == typeof t ? t(e) : t;}function Qa(e) {var t = Ya(),n = t.queue;if (null === n) throw Error(o(311));n.lastRenderedReducer = e;var r = Za,i = r.baseQueue,a = n.pending;if (null !== a) {if (null !== i) {var u = i.next;i.next = a.next, a.next = u;}r.baseQueue = i = a, n.pending = null;}if (null !== i) {i = i.next, r = r.baseState;var s = u = a = null,l = i;do {var c = l.expirationTime;if (c < Ma) {var f = { expirationTime: l.expirationTime, suspenseConfig: l.suspenseConfig, action: l.action, eagerReducer: l.eagerReducer, eagerState: l.eagerState, next: null };null === s ? (u = s = f, a = r) : s = s.next = f, c > Fa.expirationTime && (Fa.expirationTime = c, os(c));} else null !== s && (s = s.next = { expirationTime: 1073741823, suspenseConfig: l.suspenseConfig, action: l.action, eagerReducer: l.eagerReducer, eagerState: l.eagerState, next: null }), as(c, l.suspenseConfig), r = l.eagerReducer === e ? l.eagerState : e(r, l.action);l = l.next;} while (null !== l && l !== i);null === s ? a = r : s.next = u, Dr(r, t.memoizedState) || (Oo = !0), t.memoizedState = r, t.baseState = a, t.baseQueue = s, n.lastRenderedState = r;}return [t.memoizedState, n.dispatch];}function Xa(e) {var t = Ya(),n = t.queue;if (null === n) throw Error(o(311));n.lastRenderedReducer = e;var r = n.dispatch,i = n.pending,a = t.memoizedState;if (null !== i) {n.pending = null;var u = i = i.next;do {a = e(a, u.action), u = u.next;} while (u !== i);Dr(a, t.memoizedState) || (Oo = !0), t.memoizedState = a, null === t.baseQueue && (t.baseState = a), n.lastRenderedState = a;}return [a, r];}function Ja(e) {var t = Ka();return "function" == typeof e && (e = e()), t.memoizedState = t.baseState = e, e = (e = t.queue = { pending: null, dispatch: null, lastRenderedReducer: $a, lastRenderedState: e }).dispatch = go.bind(null, Fa, e), [t.memoizedState, e];}function eo(e, t, n, r) {return e = { tag: e, create: t, destroy: n, deps: r, next: null }, null === (t = Fa.updateQueue) ? (t = { lastEffect: null }, Fa.updateQueue = t, t.lastEffect = e.next = e) : null === (n = t.lastEffect) ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e), e;}function to() {return Ya().memoizedState;}function no(e, t, n, r) {var i = Ka();Fa.effectTag |= e, i.memoizedState = eo(1 | t, n, void 0, void 0 === r ? null : r);}function ro(e, t, n, r) {var i = Ya();r = void 0 === r ? null : r;var a = void 0;if (null !== Za) {var o = Za.memoizedState;if (a = o.destroy, null !== r && Ga(r, o.deps)) return void eo(t, n, a, r);}Fa.effectTag |= e, i.memoizedState = eo(1 | t, n, a, r);}function io(e, t) {return no(516, 4, e, t);}function ao(e, t) {return ro(516, 4, e, t);}function oo(e, t) {return ro(4, 2, e, t);}function uo(e, t) {return "function" == typeof t ? (e = e(), t(e), function () {t(null);}) : null != t ? (e = e(), t.current = e, function () {t.current = null;}) : void 0;}function so(e, t, n) {return n = null != n ? n.concat([e]) : null, ro(4, 2, uo.bind(null, t, e), n);}function lo() {}function co(e, t) {return Ka().memoizedState = [e, void 0 === t ? null : t], e;}function fo(e, t) {var n = Ya();t = void 0 === t ? null : t;var r = n.memoizedState;return null !== r && null !== t && Ga(t, r[1]) ? r[0] : (n.memoizedState = [e, t], e);}function po(e, t) {var n = Ya();t = void 0 === t ? null : t;var r = n.memoizedState;return null !== r && null !== t && Ga(t, r[1]) ? r[0] : (e = e(), n.memoizedState = [e, t], e);}function ho(e, t, n) {var r = Mi();Zi(98 > r ? 98 : r, function () {e(!0);}), Zi(97 < r ? 97 : r, function () {var r = Ba.suspense;Ba.suspense = void 0 === t ? null : t;try {e(!1), n();} finally {Ba.suspense = r;}});}function go(e, t, n) {var r = Gu(),i = da.suspense;i = { expirationTime: r = Hu(r, e, i), suspenseConfig: i, action: n, eagerReducer: null, eagerState: null, next: null };var a = t.pending;if (null === a ? i.next = i : (i.next = a.next, a.next = i), t.pending = i, a = e.alternate, e === Fa || null !== a && a === Fa) Va = !0, i.expirationTime = Ma, Fa.expirationTime = Ma;else {if (0 === e.expirationTime && (null === a || 0 === a.expirationTime) && null !== (a = t.lastRenderedReducer)) try {var o = t.lastRenderedState,u = a(o, n);if (i.eagerReducer = a, i.eagerState = u, Dr(u, o)) return;} catch (e) {}Ku(e, r);}}var mo = { readContext: ra, useCallback: Wa, useContext: Wa, useEffect: Wa, useImperativeHandle: Wa, useLayoutEffect: Wa, useMemo: Wa, useReducer: Wa, useRef: Wa, useState: Wa, useDebugValue: Wa, useResponder: Wa, useDeferredValue: Wa, useTransition: Wa },vo = { readContext: ra, useCallback: co, useContext: ra, useEffect: io, useImperativeHandle: function (e, t, n) {return n = null != n ? n.concat([e]) : null, no(4, 2, uo.bind(null, t, e), n);}, useLayoutEffect: function (e, t) {return no(4, 2, e, t);}, useMemo: function (e, t) {var n = Ka();return t = void 0 === t ? null : t, e = e(), n.memoizedState = [e, t], e;}, useReducer: function (e, t, n) {var r = Ka();return t = void 0 !== n ? n(t) : t, r.memoizedState = r.baseState = t, e = (e = r.queue = { pending: null, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }).dispatch = go.bind(null, Fa, e), [r.memoizedState, e];}, useRef: function (e) {return e = { current: e }, Ka().memoizedState = e;}, useState: Ja, useDebugValue: lo, useResponder: Da, useDeferredValue: function (e, t) {var n = Ja(e),r = n[0],i = n[1];return io(function () {var n = Ba.suspense;Ba.suspense = void 0 === t ? null : t;try {i(e);} finally {Ba.suspense = n;}}, [e, t]), r;}, useTransition: function (e) {var t = Ja(!1),n = t[0];return t = t[1], [co(ho.bind(null, t, e), [t, e]), n];} },bo = { readContext: ra, useCallback: fo, useContext: ra, useEffect: ao, useImperativeHandle: so, useLayoutEffect: oo, useMemo: po, useReducer: Qa, useRef: to, useState: function () {return Qa($a);}, useDebugValue: lo, useResponder: Da, useDeferredValue: function (e, t) {var n = Qa($a),r = n[0],i = n[1];return ao(function () {var n = Ba.suspense;Ba.suspense = void 0 === t ? null : t;try {i(e);} finally {Ba.suspense = n;}}, [e, t]), r;}, useTransition: function (e) {var t = Qa($a),n = t[0];return t = t[1], [fo(ho.bind(null, t, e), [t, e]), n];} },yo = { readContext: ra, useCallback: fo, useContext: ra, useEffect: ao, useImperativeHandle: so, useLayoutEffect: oo, useMemo: po, useReducer: Xa, useRef: to, useState: function () {return Xa($a);}, useDebugValue: lo, useResponder: Da, useDeferredValue: function (e, t) {var n = Xa($a),r = n[0],i = n[1];return ao(function () {var n = Ba.suspense;Ba.suspense = void 0 === t ? null : t;try {i(e);} finally {Ba.suspense = n;}}, [e, t]), r;}, useTransition: function (e) {var t = Xa($a),n = t[0];return t = t[1], [fo(ho.bind(null, t, e), [t, e]), n];} },_o = null,xo = null,So = !1;function To(e, t) {var n = ws(5, null, null, 0);n.elementType = "DELETED", n.type = "DELETED", n.stateNode = t, n.return = e, n.effectTag = 8, null !== e.lastEffect ? (e.lastEffect.nextEffect = n, e.lastEffect = n) : e.firstEffect = e.lastEffect = n;}function wo(e, t) {switch (e.tag) {case 5:var n = e.type;return null !== (t = 1 !== t.nodeType || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t) && (e.stateNode = t, !0);case 6:return null !== (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && (e.stateNode = t, !0);case 13:default:return !1;}}function Eo(e) {if (So) {var t = xo;if (t) {var n = t;if (!wo(e, t)) {if (!(t = xn(n.nextSibling)) || !wo(e, t)) return e.effectTag = -1025 & e.effectTag | 2, So = !1, void (_o = e);To(_o, n);}_o = e, xo = xn(t.firstChild);} else e.effectTag = -1025 & e.effectTag | 2, So = !1, _o = e;}}function Co(e) {for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag;) e = e.return;_o = e;}function ko(e) {if (e !== _o) return !1;if (!So) return Co(e), So = !0, !1;var t = e.type;if (5 !== e.tag || "head" !== t && "body" !== t && !bn(t, e.memoizedProps)) for (t = xo; t;) To(e, t), t = xn(t.nextSibling);if (Co(e), 13 === e.tag) {if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) throw Error(o(317));e: {for (e = e.nextSibling, t = 0; e;) {if (8 === e.nodeType) {var n = e.data;if ("/$" === n) {if (0 === t) {xo = xn(e.nextSibling);break e;}t--;} else "$" !== n && "$!" !== n && "$?" !== n || t++;}e = e.nextSibling;}xo = null;}} else xo = _o ? xn(e.stateNode.nextSibling) : null;return !0;}function Po() {xo = _o = null, So = !1;}var Ro = $.ReactCurrentOwner,Oo = !1;function Ao(e, t, n, r) {t.child = null === e ? Ea(t, null, n, r) : wa(t, e.child, n, r);}function Io(e, t, n, r, i) {n = n.render;var a = t.ref;return na(t, i), r = Ha(e, t, n, r, a, i), null === e || Oo ? (t.effectTag |= 1, Ao(e, t, r, i), t.child) : (t.updateQueue = e.updateQueue, t.effectTag &= -517, e.expirationTime <= i && (e.expirationTime = 0), Ko(e, t, i));}function No(e, t, n, r, i, a) {if (null === e) {var o = n.type;return "function" != typeof o || Es(o) || void 0 !== o.defaultProps || null !== n.compare || void 0 !== n.defaultProps ? ((e = ks(n.type, null, r, null, t.mode, a)).ref = t.ref, e.return = t, t.child = e) : (t.tag = 15, t.type = o, qo(e, t, o, r, i, a));}return o = e.child, i < a && (i = o.memoizedProps, (n = null !== (n = n.compare) ? n : Br)(i, r) && e.ref === t.ref) ? Ko(e, t, a) : (t.effectTag |= 1, (e = Cs(o, r)).ref = t.ref, e.return = t, t.child = e);}function qo(e, t, n, r, i, a) {return null !== e && Br(e.memoizedProps, r) && e.ref === t.ref && (Oo = !1, i < a) ? (t.expirationTime = e.expirationTime, Ko(e, t, a)) : zo(e, t, n, r, a);}function Lo(e, t) {var n = t.ref;(null === e && null !== n || null !== e && e.ref !== n) && (t.effectTag |= 128);}function zo(e, t, n, r, i) {var a = gi(n) ? pi : fi.current;return a = hi(t, a), na(t, i), n = Ha(e, t, n, r, a, i), null === e || Oo ? (t.effectTag |= 1, Ao(e, t, n, i), t.child) : (t.updateQueue = e.updateQueue, t.effectTag &= -517, e.expirationTime <= i && (e.expirationTime = 0), Ko(e, t, i));}function Do(e, t, n, r, i) {if (gi(n)) {var a = !0;yi(t);} else a = !1;if (na(t, i), null === t.stateNode) null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), va(t, n, r), ya(t, n, r, i), r = !0;else if (null === e) {var o = t.stateNode,u = t.memoizedProps;o.props = u;var s = o.context,l = n.contextType;"object" == typeof l && null !== l ? l = ra(l) : l = hi(t, l = gi(n) ? pi : fi.current);var c = n.getDerivedStateFromProps,f = "function" == typeof c || "function" == typeof o.getSnapshotBeforeUpdate;f || "function" != typeof o.UNSAFE_componentWillReceiveProps && "function" != typeof o.componentWillReceiveProps || (u !== r || s !== l) && ba(t, o, r, l), ia = !1;var d = t.memoizedState;o.state = d, ca(t, r, o, i), s = t.memoizedState, u !== r || d !== s || di.current || ia ? ("function" == typeof c && (ha(t, n, c, r), s = t.memoizedState), (u = ia || ma(t, n, u, r, d, s, l)) ? (f || "function" != typeof o.UNSAFE_componentWillMount && "function" != typeof o.componentWillMount || ("function" == typeof o.componentWillMount && o.componentWillMount(), "function" == typeof o.UNSAFE_componentWillMount && o.UNSAFE_componentWillMount()), "function" == typeof o.componentDidMount && (t.effectTag |= 4)) : ("function" == typeof o.componentDidMount && (t.effectTag |= 4), t.memoizedProps = r, t.memoizedState = s), o.props = r, o.state = s, o.context = l, r = u) : ("function" == typeof o.componentDidMount && (t.effectTag |= 4), r = !1);} else o = t.stateNode, oa(e, t), u = t.memoizedProps, o.props = t.type === t.elementType ? u : Ki(t.type, u), s = o.context, "object" == typeof (l = n.contextType) && null !== l ? l = ra(l) : l = hi(t, l = gi(n) ? pi : fi.current), (f = "function" == typeof (c = n.getDerivedStateFromProps) || "function" == typeof o.getSnapshotBeforeUpdate) || "function" != typeof o.UNSAFE_componentWillReceiveProps && "function" != typeof o.componentWillReceiveProps || (u !== r || s !== l) && ba(t, o, r, l), ia = !1, s = t.memoizedState, o.state = s, ca(t, r, o, i), d = t.memoizedState, u !== r || s !== d || di.current || ia ? ("function" == typeof c && (ha(t, n, c, r), d = t.memoizedState), (c = ia || ma(t, n, u, r, s, d, l)) ? (f || "function" != typeof o.UNSAFE_componentWillUpdate && "function" != typeof o.componentWillUpdate || ("function" == typeof o.componentWillUpdate && o.componentWillUpdate(r, d, l), "function" == typeof o.UNSAFE_componentWillUpdate && o.UNSAFE_componentWillUpdate(r, d, l)), "function" == typeof o.componentDidUpdate && (t.effectTag |= 4), "function" == typeof o.getSnapshotBeforeUpdate && (t.effectTag |= 256)) : ("function" != typeof o.componentDidUpdate || u === e.memoizedProps && s === e.memoizedState || (t.effectTag |= 4), "function" != typeof o.getSnapshotBeforeUpdate || u === e.memoizedProps && s === e.memoizedState || (t.effectTag |= 256), t.memoizedProps = r, t.memoizedState = d), o.props = r, o.state = d, o.context = l, r = c) : ("function" != typeof o.componentDidUpdate || u === e.memoizedProps && s === e.memoizedState || (t.effectTag |= 4), "function" != typeof o.getSnapshotBeforeUpdate || u === e.memoizedProps && s === e.memoizedState || (t.effectTag |= 256), r = !1);return jo(e, t, n, r, a, i);}function jo(e, t, n, r, i, a) {Lo(e, t);var o = 0 != (64 & t.effectTag);if (!r && !o) return i && _i(t, n, !1), Ko(e, t, a);r = t.stateNode, Ro.current = t;var u = o && "function" != typeof n.getDerivedStateFromError ? null : r.render();return t.effectTag |= 1, null !== e && o ? (t.child = wa(t, e.child, null, a), t.child = wa(t, null, u, a)) : Ao(e, t, u, a), t.memoizedState = r.state, i && _i(t, n, !0), t.child;}function Bo(e) {var t = e.stateNode;t.pendingContext ? vi(0, t.pendingContext, t.pendingContext !== t.context) : t.context && vi(0, t.context, !1), Aa(e, t.containerInfo);}var Mo,Fo,Zo,Uo = { dehydrated: null, retryTime: 0 };function Vo(e, t, n) {var r,i = t.mode,a = t.pendingProps,o = La.current,u = !1;if ((r = 0 != (64 & t.effectTag)) || (r = 0 != (2 & o) && (null === e || null !== e.memoizedState)), r ? (u = !0, t.effectTag &= -65) : null !== e && null === e.memoizedState || void 0 === a.fallback || !0 === a.unstable_avoidThisFallback || (o |= 1), li(La, 1 & o), null === e) {if (void 0 !== a.fallback && Eo(t), u) {if (u = a.fallback, (a = Ps(null, i, 0, null)).return = t, 0 == (2 & t.mode)) for (e = null !== t.memoizedState ? t.child.child : t.child, a.child = e; null !== e;) e.return = a, e = e.sibling;return (n = Ps(u, i, n, null)).return = t, a.sibling = n, t.memoizedState = Uo, t.child = a, n;}return i = a.children, t.memoizedState = null, t.child = Ea(t, null, i, n);}if (null !== e.memoizedState) {if (i = (e = e.child).sibling, u) {if (a = a.fallback, (n = Cs(e, e.pendingProps)).return = t, 0 == (2 & t.mode) && (u = null !== t.memoizedState ? t.child.child : t.child) !== e.child) for (n.child = u; null !== u;) u.return = n, u = u.sibling;return (i = Cs(i, a)).return = t, n.sibling = i, n.childExpirationTime = 0, t.memoizedState = Uo, t.child = n, i;}return n = wa(t, e.child, a.children, n), t.memoizedState = null, t.child = n;}if (e = e.child, u) {if (u = a.fallback, (a = Ps(null, i, 0, null)).return = t, a.child = e, null !== e && (e.return = a), 0 == (2 & t.mode)) for (e = null !== t.memoizedState ? t.child.child : t.child, a.child = e; null !== e;) e.return = a, e = e.sibling;return (n = Ps(u, i, n, null)).return = t, a.sibling = n, n.effectTag |= 2, a.childExpirationTime = 0, t.memoizedState = Uo, t.child = a, n;}return t.memoizedState = null, t.child = wa(t, e, a.children, n);}function Wo(e, t) {e.expirationTime < t && (e.expirationTime = t);var n = e.alternate;null !== n && n.expirationTime < t && (n.expirationTime = t), ta(e.return, t);}function Go(e, t, n, r, i, a) {var o = e.memoizedState;null === o ? e.memoizedState = { isBackwards: t, rendering: null, renderingStartTime: 0, last: r, tail: n, tailExpiration: 0, tailMode: i, lastEffect: a } : (o.isBackwards = t, o.rendering = null, o.renderingStartTime = 0, o.last = r, o.tail = n, o.tailExpiration = 0, o.tailMode = i, o.lastEffect = a);}function Ho(e, t, n) {var r = t.pendingProps,i = r.revealOrder,a = r.tail;if (Ao(e, t, r.children, n), 0 != (2 & (r = La.current))) r = 1 & r | 2, t.effectTag |= 64;else {if (null !== e && 0 != (64 & e.effectTag)) e: for (e = t.child; null !== e;) {if (13 === e.tag) null !== e.memoizedState && Wo(e, n);else if (19 === e.tag) Wo(e, n);else if (null !== e.child) {e.child.return = e, e = e.child;continue;}if (e === t) break e;for (; null === e.sibling;) {if (null === e.return || e.return === t) break e;e = e.return;}e.sibling.return = e.return, e = e.sibling;}r &= 1;}if (li(La, r), 0 == (2 & t.mode)) t.memoizedState = null;else switch (i) {case "forwards":for (n = t.child, i = null; null !== n;) null !== (e = n.alternate) && null === za(e) && (i = n), n = n.sibling;null === (n = i) ? (i = t.child, t.child = null) : (i = n.sibling, n.sibling = null), Go(t, !1, i, n, a, t.lastEffect);break;case "backwards":for (n = null, i = t.child, t.child = null; null !== i;) {if (null !== (e = i.alternate) && null === za(e)) {t.child = i;break;}e = i.sibling, i.sibling = n, n = i, i = e;}Go(t, !0, n, null, a, t.lastEffect);break;case "together":Go(t, !1, null, null, void 0, t.lastEffect);break;default:t.memoizedState = null;}return t.child;}function Ko(e, t, n) {null !== e && (t.dependencies = e.dependencies);var r = t.expirationTime;if (0 !== r && os(r), t.childExpirationTime < n) return null;if (null !== e && t.child !== e.child) throw Error(o(153));if (null !== t.child) {for (n = Cs(e = t.child, e.pendingProps), t.child = n, n.return = t; null !== e.sibling;) e = e.sibling, (n = n.sibling = Cs(e, e.pendingProps)).return = t;n.sibling = null;}return t.child;}function Yo(e, t) {switch (e.tailMode) {case "hidden":t = e.tail;for (var n = null; null !== t;) null !== t.alternate && (n = t), t = t.sibling;null === n ? e.tail = null : n.sibling = null;break;case "collapsed":n = e.tail;for (var r = null; null !== n;) null !== n.alternate && (r = n), n = n.sibling;null === r ? t || null === e.tail ? e.tail = null : e.tail.sibling = null : r.sibling = null;}}function $o(e, t, n) {var r = t.pendingProps;switch (t.tag) {case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return gi(t.type) && mi(), null;case 3:return Ia(), si(di), si(fi), (n = t.stateNode).pendingContext && (n.context = n.pendingContext, n.pendingContext = null), null !== e && null !== e.child || !ko(t) || (t.effectTag |= 4), null;case 5:qa(t), n = Oa(Ra.current);var a = t.type;if (null !== e && null != t.stateNode) Fo(e, t, a, r, n), e.ref !== t.ref && (t.effectTag |= 128);else {if (!r) {if (null === t.stateNode) throw Error(o(166));return null;}if (e = Oa(ka.current), ko(t)) {r = t.stateNode, a = t.type;var u = t.memoizedProps;switch (r[wn] = t, r[En] = u, a) {case "iframe":case "object":case "embed":Ht("load", r);break;case "video":case "audio":for (e = 0; e < $e.length; e++) Ht($e[e], r);break;case "source":Ht("error", r);break;case "img":case "image":case "link":Ht("error", r), Ht("load", r);break;case "form":Ht("reset", r), Ht("submit", r);break;case "details":Ht("toggle", r);break;case "input":Te(r, u), Ht("invalid", r), sn(n, "onChange");break;case "select":r._wrapperState = { wasMultiple: !!u.multiple }, Ht("invalid", r), sn(n, "onChange");break;case "textarea":Ae(r, u), Ht("invalid", r), sn(n, "onChange");}for (var s in an(a, u), e = null, u) if (u.hasOwnProperty(s)) {var l = u[s];"children" === s ? "string" == typeof l ? r.textContent !== l && (e = ["children", l]) : "number" == typeof l && r.textContent !== "" + l && (e = ["children", "" + l]) : w.hasOwnProperty(s) && null != l && sn(n, s);}switch (a) {case "input":_e(r), Ce(r, u, !0);break;case "textarea":_e(r), Ne(r);break;case "select":case "option":break;default:"function" == typeof u.onClick && (r.onclick = ln);}n = e, t.updateQueue = n, null !== n && (t.effectTag |= 4);} else {switch (s = 9 === n.nodeType ? n : n.ownerDocument, e === un && (e = ze(a)), e === un ? "script" === a ? ((e = s.createElement("div")).innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : "string" == typeof r.is ? e = s.createElement(a, { is: r.is }) : (e = s.createElement(a), "select" === a && (s = e, r.multiple ? s.multiple = !0 : r.size && (s.size = r.size))) : e = s.createElementNS(e, a), e[wn] = t, e[En] = r, Mo(e, t), t.stateNode = e, s = on(a, r), a) {case "iframe":case "object":case "embed":Ht("load", e), l = r;break;case "video":case "audio":for (l = 0; l < $e.length; l++) Ht($e[l], e);l = r;break;case "source":Ht("error", e), l = r;break;case "img":case "image":case "link":Ht("error", e), Ht("load", e), l = r;break;case "form":Ht("reset", e), Ht("submit", e), l = r;break;case "details":Ht("toggle", e), l = r;break;case "input":Te(e, r), l = Se(e, r), Ht("invalid", e), sn(n, "onChange");break;case "option":l = Pe(e, r);break;case "select":e._wrapperState = { wasMultiple: !!r.multiple }, l = i({}, r, { value: void 0 }), Ht("invalid", e), sn(n, "onChange");break;case "textarea":Ae(e, r), l = Oe(e, r), Ht("invalid", e), sn(n, "onChange");break;default:l = r;}an(a, l);var c = l;for (u in c) if (c.hasOwnProperty(u)) {var f = c[u];"style" === u ? nn(e, f) : "dangerouslySetInnerHTML" === u ? null != (f = f ? f.__html : void 0) && Be(e, f) : "children" === u ? "string" == typeof f ? ("textarea" !== a || "" !== f) && Me(e, f) : "number" == typeof f && Me(e, "" + f) : "suppressContentEditableWarning" !== u && "suppressHydrationWarning" !== u && "autoFocus" !== u && (w.hasOwnProperty(u) ? null != f && sn(n, u) : null != f && Q(e, u, f, s));}switch (a) {case "input":_e(e), Ce(e, r, !1);break;case "textarea":_e(e), Ne(e);break;case "option":null != r.value && e.setAttribute("value", "" + be(r.value));break;case "select":e.multiple = !!r.multiple, null != (n = r.value) ? Re(e, !!r.multiple, n, !1) : null != r.defaultValue && Re(e, !!r.multiple, r.defaultValue, !0);break;default:"function" == typeof l.onClick && (e.onclick = ln);}vn(a, r) && (t.effectTag |= 4);}null !== t.ref && (t.effectTag |= 128);}return null;case 6:if (e && null != t.stateNode) Zo(0, t, e.memoizedProps, r);else {if ("string" != typeof r && null === t.stateNode) throw Error(o(166));n = Oa(Ra.current), Oa(ka.current), ko(t) ? (n = t.stateNode, r = t.memoizedProps, n[wn] = t, n.nodeValue !== r && (t.effectTag |= 4)) : ((n = (9 === n.nodeType ? n : n.ownerDocument).createTextNode(r))[wn] = t, t.stateNode = n);}return null;case 13:return si(La), r = t.memoizedState, 0 != (64 & t.effectTag) ? (t.expirationTime = n, t) : (n = null !== r, r = !1, null === e ? void 0 !== t.memoizedProps.fallback && ko(t) : (r = null !== (a = e.memoizedState), n || null === a || null !== (a = e.child.sibling) && (null !== (u = t.firstEffect) ? (t.firstEffect = a, a.nextEffect = u) : (t.firstEffect = t.lastEffect = a, a.nextEffect = null), a.effectTag = 8)), n && !r && 0 != (2 & t.mode) && (null === e && !0 !== t.memoizedProps.unstable_avoidThisFallback || 0 != (1 & La.current) ? ku === _u && (ku = xu) : (ku !== _u && ku !== xu || (ku = Su), 0 !== Iu && null !== wu && (Ns(wu, Cu), qs(wu, Iu)))), (n || r) && (t.effectTag |= 4), null);case 4:return Ia(), null;case 10:return ea(t), null;case 17:return gi(t.type) && mi(), null;case 19:if (si(La), null === (r = t.memoizedState)) return null;if (a = 0 != (64 & t.effectTag), null === (u = r.rendering)) {if (a) Yo(r, !1);else if (ku !== _u || null !== e && 0 != (64 & e.effectTag)) for (u = t.child; null !== u;) {if (null !== (e = za(u))) {for (t.effectTag |= 64, Yo(r, !1), null !== (a = e.updateQueue) && (t.updateQueue = a, t.effectTag |= 4), null === r.lastEffect && (t.firstEffect = null), t.lastEffect = r.lastEffect, r = t.child; null !== r;) u = n, (a = r).effectTag &= 2, a.nextEffect = null, a.firstEffect = null, a.lastEffect = null, null === (e = a.alternate) ? (a.childExpirationTime = 0, a.expirationTime = u, a.child = null, a.memoizedProps = null, a.memoizedState = null, a.updateQueue = null, a.dependencies = null) : (a.childExpirationTime = e.childExpirationTime, a.expirationTime = e.expirationTime, a.child = e.child, a.memoizedProps = e.memoizedProps, a.memoizedState = e.memoizedState, a.updateQueue = e.updateQueue, u = e.dependencies, a.dependencies = null === u ? null : { expirationTime: u.expirationTime, firstContext: u.firstContext, responders: u.responders }), r = r.sibling;return li(La, 1 & La.current | 2), t.child;}u = u.sibling;}} else {if (!a) if (null !== (e = za(u))) {if (t.effectTag |= 64, a = !0, null !== (n = e.updateQueue) && (t.updateQueue = n, t.effectTag |= 4), Yo(r, !0), null === r.tail && "hidden" === r.tailMode && !u.alternate) return null !== (t = t.lastEffect = r.lastEffect) && (t.nextEffect = null), null;} else 2 * Bi() - r.renderingStartTime > r.tailExpiration && 1 < n && (t.effectTag |= 64, a = !0, Yo(r, !1), t.expirationTime = t.childExpirationTime = n - 1);r.isBackwards ? (u.sibling = t.child, t.child = u) : (null !== (n = r.last) ? n.sibling = u : t.child = u, r.last = u);}return null !== r.tail ? (0 === r.tailExpiration && (r.tailExpiration = Bi() + 500), n = r.tail, r.rendering = n, r.tail = n.sibling, r.lastEffect = t.lastEffect, r.renderingStartTime = Bi(), n.sibling = null, t = La.current, li(La, a ? 1 & t | 2 : 1 & t), n) : null;}throw Error(o(156, t.tag));}function Qo(e) {switch (e.tag) {case 1:gi(e.type) && mi();var t = e.effectTag;return 4096 & t ? (e.effectTag = -4097 & t | 64, e) : null;case 3:if (Ia(), si(di), si(fi), 0 != (64 & (t = e.effectTag))) throw Error(o(285));return e.effectTag = -4097 & t | 64, e;case 5:return qa(e), null;case 13:return si(La), 4096 & (t = e.effectTag) ? (e.effectTag = -4097 & t | 64, e) : null;case 19:return si(La), null;case 4:return Ia(), null;case 10:return ea(e), null;default:return null;}}function Xo(e, t) {return { value: e, source: t, stack: ve(t) };}Mo = function (e, t) {for (var n = t.child; null !== n;) {if (5 === n.tag || 6 === n.tag) e.appendChild(n.stateNode);else if (4 !== n.tag && null !== n.child) {n.child.return = n, n = n.child;continue;}if (n === t) break;for (; null === n.sibling;) {if (null === n.return || n.return === t) return;n = n.return;}n.sibling.return = n.return, n = n.sibling;}}, Fo = function (e, t, n, r, a) {var o = e.memoizedProps;if (o !== r) {var u,s,l = t.stateNode;switch (Oa(ka.current), e = null, n) {case "input":o = Se(l, o), r = Se(l, r), e = [];break;case "option":o = Pe(l, o), r = Pe(l, r), e = [];break;case "select":o = i({}, o, { value: void 0 }), r = i({}, r, { value: void 0 }), e = [];break;case "textarea":o = Oe(l, o), r = Oe(l, r), e = [];break;default:"function" != typeof o.onClick && "function" == typeof r.onClick && (l.onclick = ln);}for (u in an(n, r), n = null, o) if (!r.hasOwnProperty(u) && o.hasOwnProperty(u) && null != o[u]) if ("style" === u) for (s in l = o[u]) l.hasOwnProperty(s) && (n || (n = {}), n[s] = "");else "dangerouslySetInnerHTML" !== u && "children" !== u && "suppressContentEditableWarning" !== u && "suppressHydrationWarning" !== u && "autoFocus" !== u && (w.hasOwnProperty(u) ? e || (e = []) : (e = e || []).push(u, null));for (u in r) {var c = r[u];if (l = null != o ? o[u] : void 0, r.hasOwnProperty(u) && c !== l && (null != c || null != l)) if ("style" === u) {if (l) {for (s in l) !l.hasOwnProperty(s) || c && c.hasOwnProperty(s) || (n || (n = {}), n[s] = "");for (s in c) c.hasOwnProperty(s) && l[s] !== c[s] && (n || (n = {}), n[s] = c[s]);} else n || (e || (e = []), e.push(u, n)), n = c;} else "dangerouslySetInnerHTML" === u ? (c = c ? c.__html : void 0, l = l ? l.__html : void 0, null != c && l !== c && (e = e || []).push(u, c)) : "children" === u ? l === c || "string" != typeof c && "number" != typeof c || (e = e || []).push(u, "" + c) : "suppressContentEditableWarning" !== u && "suppressHydrationWarning" !== u && (w.hasOwnProperty(u) ? (null != c && sn(a, u), e || l === c || (e = [])) : (e = e || []).push(u, c));}n && (e = e || []).push("style", n), a = e, (t.updateQueue = a) && (t.effectTag |= 4);}}, Zo = function (e, t, n, r) {n !== r && (t.effectTag |= 4);};var Jo = "function" == typeof WeakSet ? WeakSet : Set;function eu(e, t) {var n = t.source,r = t.stack;null === r && null !== n && (r = ve(n)), null !== n && me(n.type), t = t.value, null !== e && 1 === e.tag && me(e.type);try {console.error(t);} catch (e) {setTimeout(function () {throw e;});}}function tu(e) {var t = e.ref;if (null !== t) if ("function" == typeof t) try {t(null);} catch (t) {bs(e, t);} else t.current = null;}function nu(e, t) {switch (t.tag) {case 0:case 11:case 15:case 22:return;case 1:if (256 & t.effectTag && null !== e) {var n = e.memoizedProps,r = e.memoizedState;t = (e = t.stateNode).getSnapshotBeforeUpdate(t.elementType === t.type ? n : Ki(t.type, n), r), e.__reactInternalSnapshotBeforeUpdate = t;}return;case 3:case 5:case 6:case 4:case 17:return;}throw Error(o(163));}function ru(e, t) {if (null !== (t = null !== (t = t.updateQueue) ? t.lastEffect : null)) {var n = t = t.next;do {if ((n.tag & e) === e) {var r = n.destroy;n.destroy = void 0, void 0 !== r && r();}n = n.next;} while (n !== t);}}function iu(e, t) {if (null !== (t = null !== (t = t.updateQueue) ? t.lastEffect : null)) {var n = t = t.next;do {if ((n.tag & e) === e) {var r = n.create;n.destroy = r();}n = n.next;} while (n !== t);}}function au(e, t, n) {switch (n.tag) {case 0:case 11:case 15:case 22:return void iu(3, n);case 1:if (e = n.stateNode, 4 & n.effectTag) if (null === t) e.componentDidMount();else {var r = n.elementType === n.type ? t.memoizedProps : Ki(n.type, t.memoizedProps);e.componentDidUpdate(r, t.memoizedState, e.__reactInternalSnapshotBeforeUpdate);}return void (null !== (t = n.updateQueue) && fa(n, t, e));case 3:if (null !== (t = n.updateQueue)) {if (e = null, null !== n.child) switch (n.child.tag) {case 5:e = n.child.stateNode;break;case 1:e = n.child.stateNode;}fa(n, t, e);}return;case 5:return e = n.stateNode, void (null === t && 4 & n.effectTag && vn(n.type, n.memoizedProps) && e.focus());case 6:case 4:case 12:return;case 13:return void (null === n.memoizedState && (n = n.alternate, null !== n && (n = n.memoizedState, null !== n && (n = n.dehydrated, null !== n && zt(n)))));case 19:case 17:case 20:case 21:return;}throw Error(o(163));}function ou(e, t, n) {switch ("function" == typeof Ss && Ss(t), t.tag) {case 0:case 11:case 14:case 15:case 22:if (null !== (e = t.updateQueue) && null !== (e = e.lastEffect)) {var r = e.next;Zi(97 < n ? 97 : n, function () {var e = r;do {var n = e.destroy;if (void 0 !== n) {var i = t;try {n();} catch (e) {bs(i, e);}}e = e.next;} while (e !== r);});}break;case 1:tu(t), "function" == typeof (n = t.stateNode).componentWillUnmount && function (e, t) {try {t.props = e.memoizedProps, t.state = e.memoizedState, t.componentWillUnmount();} catch (t) {bs(e, t);}}(t, n);break;case 5:tu(t);break;case 4:cu(e, t, n);}}function uu(e) {var t = e.alternate;e.return = null, e.child = null, e.memoizedState = null, e.updateQueue = null, e.dependencies = null, e.alternate = null, e.firstEffect = null, e.lastEffect = null, e.pendingProps = null, e.memoizedProps = null, e.stateNode = null, null !== t && uu(t);}function su(e) {return 5 === e.tag || 3 === e.tag || 4 === e.tag;}function lu(e) {e: {for (var t = e.return; null !== t;) {if (su(t)) {var n = t;break e;}t = t.return;}throw Error(o(160));}switch (t = n.stateNode, n.tag) {case 5:var r = !1;break;case 3:case 4:t = t.containerInfo, r = !0;break;default:throw Error(o(161));}16 & n.effectTag && (Me(t, ""), n.effectTag &= -17);e: t: for (n = e;;) {for (; null === n.sibling;) {if (null === n.return || su(n.return)) {n = null;break e;}n = n.return;}for (n.sibling.return = n.return, n = n.sibling; 5 !== n.tag && 6 !== n.tag && 18 !== n.tag;) {if (2 & n.effectTag) continue t;if (null === n.child || 4 === n.tag) continue t;n.child.return = n, n = n.child;}if (!(2 & n.effectTag)) {n = n.stateNode;break e;}}r ? function e(t, n, r) {var i = t.tag,a = 5 === i || 6 === i;if (a) t = a ? t.stateNode : t.stateNode.instance, n ? 8 === r.nodeType ? r.parentNode.insertBefore(t, n) : r.insertBefore(t, n) : (8 === r.nodeType ? (n = r.parentNode).insertBefore(t, r) : (n = r).appendChild(t), null !== (r = r._reactRootContainer) && void 0 !== r || null !== n.onclick || (n.onclick = ln));else if (4 !== i && null !== (t = t.child)) for (e(t, n, r), t = t.sibling; null !== t;) e(t, n, r), t = t.sibling;}(e, n, t) : function e(t, n, r) {var i = t.tag,a = 5 === i || 6 === i;if (a) t = a ? t.stateNode : t.stateNode.instance, n ? r.insertBefore(t, n) : r.appendChild(t);else if (4 !== i && null !== (t = t.child)) for (e(t, n, r), t = t.sibling; null !== t;) e(t, n, r), t = t.sibling;}(e, n, t);}function cu(e, t, n) {for (var r, i, a = t, u = !1;;) {if (!u) {u = a.return;e: for (;;) {if (null === u) throw Error(o(160));switch (r = u.stateNode, u.tag) {case 5:i = !1;break e;case 3:case 4:r = r.containerInfo, i = !0;break e;}u = u.return;}u = !0;}if (5 === a.tag || 6 === a.tag) {e: for (var s = e, l = a, c = n, f = l;;) if (ou(s, f, c), null !== f.child && 4 !== f.tag) f.child.return = f, f = f.child;else {if (f === l) break e;for (; null === f.sibling;) {if (null === f.return || f.return === l) break e;f = f.return;}f.sibling.return = f.return, f = f.sibling;}i ? (s = r, l = a.stateNode, 8 === s.nodeType ? s.parentNode.removeChild(l) : s.removeChild(l)) : r.removeChild(a.stateNode);} else if (4 === a.tag) {if (null !== a.child) {r = a.stateNode.containerInfo, i = !0, a.child.return = a, a = a.child;continue;}} else if (ou(e, a, n), null !== a.child) {a.child.return = a, a = a.child;continue;}if (a === t) break;for (; null === a.sibling;) {if (null === a.return || a.return === t) return;4 === (a = a.return).tag && (u = !1);}a.sibling.return = a.return, a = a.sibling;}}function fu(e, t) {switch (t.tag) {case 0:case 11:case 14:case 15:case 22:return void ru(3, t);case 1:return;case 5:var n = t.stateNode;if (null != n) {var r = t.memoizedProps,i = null !== e ? e.memoizedProps : r;e = t.type;var a = t.updateQueue;if (t.updateQueue = null, null !== a) {for (n[En] = r, "input" === e && "radio" === r.type && null != r.name && we(n, r), on(e, i), t = on(e, r), i = 0; i < a.length; i += 2) {var u = a[i],s = a[i + 1];"style" === u ? nn(n, s) : "dangerouslySetInnerHTML" === u ? Be(n, s) : "children" === u ? Me(n, s) : Q(n, u, s, t);}switch (e) {case "input":Ee(n, r);break;case "textarea":Ie(n, r);break;case "select":t = n._wrapperState.wasMultiple, n._wrapperState.wasMultiple = !!r.multiple, null != (e = r.value) ? Re(n, !!r.multiple, e, !1) : t !== !!r.multiple && (null != r.defaultValue ? Re(n, !!r.multiple, r.defaultValue, !0) : Re(n, !!r.multiple, r.multiple ? [] : "", !1));}}}return;case 6:if (null === t.stateNode) throw Error(o(162));return void (t.stateNode.nodeValue = t.memoizedProps);case 3:return void ((t = t.stateNode).hydrate && (t.hydrate = !1, zt(t.containerInfo)));case 12:return;case 13:if (n = t, null === t.memoizedState ? r = !1 : (r = !0, n = t.child, qu = Bi()), null !== n) e: for (e = n;;) {if (5 === e.tag) a = e.stateNode, r ? "function" == typeof (a = a.style).setProperty ? a.setProperty("display", "none", "important") : a.display = "none" : (a = e.stateNode, i = null != (i = e.memoizedProps.style) && i.hasOwnProperty("display") ? i.display : null, a.style.display = tn("display", i));else if (6 === e.tag) e.stateNode.nodeValue = r ? "" : e.memoizedProps;else {if (13 === e.tag && null !== e.memoizedState && null === e.memoizedState.dehydrated) {(a = e.child.sibling).return = e, e = a;continue;}if (null !== e.child) {e.child.return = e, e = e.child;continue;}}if (e === n) break;for (; null === e.sibling;) {if (null === e.return || e.return === n) break e;e = e.return;}e.sibling.return = e.return, e = e.sibling;}return void du(t);case 19:return void du(t);case 17:return;}throw Error(o(163));}function du(e) {var t = e.updateQueue;if (null !== t) {e.updateQueue = null;var n = e.stateNode;null === n && (n = e.stateNode = new Jo()), t.forEach(function (t) {var r = _s.bind(null, e, t);n.has(t) || (n.add(t), t.then(r, r));});}}var pu = "function" == typeof WeakMap ? WeakMap : Map;function hu(e, t, n) {(n = ua(n, null)).tag = 3, n.payload = { element: null };var r = t.value;return n.callback = function () {zu || (zu = !0, Du = r), eu(e, t);}, n;}function gu(e, t, n) {(n = ua(n, null)).tag = 3;var r = e.type.getDerivedStateFromError;if ("function" == typeof r) {var i = t.value;n.payload = function () {return eu(e, t), r(i);};}var a = e.stateNode;return null !== a && "function" == typeof a.componentDidCatch && (n.callback = function () {"function" != typeof r && (null === ju ? ju = new Set([this]) : ju.add(this), eu(e, t));var n = t.stack;this.componentDidCatch(t.value, { componentStack: null !== n ? n : "" });}), n;}var mu,vu = Math.ceil,bu = $.ReactCurrentDispatcher,yu = $.ReactCurrentOwner,_u = 0,xu = 3,Su = 4,Tu = 0,wu = null,Eu = null,Cu = 0,ku = _u,Pu = null,Ru = 1073741823,Ou = 1073741823,Au = null,Iu = 0,Nu = !1,qu = 0,Lu = null,zu = !1,Du = null,ju = null,Bu = !1,Mu = null,Fu = 90,Zu = null,Uu = 0,Vu = null,Wu = 0;function Gu() {return 0 != (48 & Tu) ? 1073741821 - (Bi() / 10 | 0) : 0 !== Wu ? Wu : Wu = 1073741821 - (Bi() / 10 | 0);}function Hu(e, t, n) {if (0 == (2 & (t = t.mode))) return 1073741823;var r = Mi();if (0 == (4 & t)) return 99 === r ? 1073741823 : 1073741822;if (0 != (16 & Tu)) return Cu;if (null !== n) e = Hi(e, 0 | n.timeoutMs || 5e3, 250);else switch (r) {case 99:e = 1073741823;break;case 98:e = Hi(e, 150, 100);break;case 97:case 96:e = Hi(e, 5e3, 250);break;case 95:e = 2;break;default:throw Error(o(326));}return null !== wu && e === Cu && --e, e;}function Ku(e, t) {if (50 < Uu) throw Uu = 0, Vu = null, Error(o(185));if (null !== (e = Yu(e, t))) {var n = Mi();1073741823 === t ? 0 != (8 & Tu) && 0 == (48 & Tu) ? Ju(e) : (Qu(e), 0 === Tu && Wi()) : Qu(e), 0 == (4 & Tu) || 98 !== n && 99 !== n || (null === Zu ? Zu = new Map([[e, t]]) : (void 0 === (n = Zu.get(e)) || n > t) && Zu.set(e, t));}}function Yu(e, t) {e.expirationTime < t && (e.expirationTime = t);var n = e.alternate;null !== n && n.expirationTime < t && (n.expirationTime = t);var r = e.return,i = null;if (null === r && 3 === e.tag) i = e.stateNode;else for (; null !== r;) {if (n = r.alternate, r.childExpirationTime < t && (r.childExpirationTime = t), null !== n && n.childExpirationTime < t && (n.childExpirationTime = t), null === r.return && 3 === r.tag) {i = r.stateNode;break;}r = r.return;}return null !== i && (wu === i && (os(t), ku === Su && Ns(i, Cu)), qs(i, t)), i;}function $u(e) {var t = e.lastExpiredTime;if (0 !== t) return t;if (!Is(e, t = e.firstPendingTime)) return t;var n = e.lastPingedTime;return 2 >= (e = n > (e = e.nextKnownPendingLevel) ? n : e) && t !== e ? 0 : e;}function Qu(e) {if (0 !== e.lastExpiredTime) e.callbackExpirationTime = 1073741823, e.callbackPriority = 99, e.callbackNode = Vi(Ju.bind(null, e));else {var t = $u(e),n = e.callbackNode;if (0 === t) null !== n && (e.callbackNode = null, e.callbackExpirationTime = 0, e.callbackPriority = 90);else {var r = Gu();if (1073741823 === t ? r = 99 : 1 === t || 2 === t ? r = 95 : r = 0 >= (r = 10 * (1073741821 - t) - 10 * (1073741821 - r)) ? 99 : 250 >= r ? 98 : 5250 >= r ? 97 : 95, null !== n) {var i = e.callbackPriority;if (e.callbackExpirationTime === t && i >= r) return;n !== Ii && Ti(n);}e.callbackExpirationTime = t, e.callbackPriority = r, t = 1073741823 === t ? Vi(Ju.bind(null, e)) : Ui(r, Xu.bind(null, e), { timeout: 10 * (1073741821 - t) - Bi() }), e.callbackNode = t;}}}function Xu(e, t) {if (Wu = 0, t) return Ls(e, t = Gu()), Qu(e), null;var n = $u(e);if (0 !== n) {if (t = e.callbackNode, 0 != (48 & Tu)) throw Error(o(327));if (gs(), e === wu && n === Cu || ns(e, n), null !== Eu) {var r = Tu;Tu |= 16;for (var i = is();;) try {ss();break;} catch (t) {rs(e, t);}if (Ji(), Tu = r, bu.current = i, 1 === ku) throw t = Pu, ns(e, n), Ns(e, n), Qu(e), t;if (null === Eu) switch (i = e.finishedWork = e.current.alternate, e.finishedExpirationTime = n, r = ku, wu = null, r) {case _u:case 1:throw Error(o(345));case 2:Ls(e, 2 < n ? 2 : n);break;case xu:if (Ns(e, n), n === (r = e.lastSuspendedTime) && (e.nextKnownPendingLevel = fs(i)), 1073741823 === Ru && 10 < (i = qu + 500 - Bi())) {if (Nu) {var a = e.lastPingedTime;if (0 === a || a >= n) {e.lastPingedTime = n, ns(e, n);break;}}if (0 !== (a = $u(e)) && a !== n) break;if (0 !== r && r !== n) {e.lastPingedTime = r;break;}e.timeoutHandle = yn(ds.bind(null, e), i);break;}ds(e);break;case Su:if (Ns(e, n), n === (r = e.lastSuspendedTime) && (e.nextKnownPendingLevel = fs(i)), Nu && (0 === (i = e.lastPingedTime) || i >= n)) {e.lastPingedTime = n, ns(e, n);break;}if (0 !== (i = $u(e)) && i !== n) break;if (0 !== r && r !== n) {e.lastPingedTime = r;break;}if (1073741823 !== Ou ? r = 10 * (1073741821 - Ou) - Bi() : 1073741823 === Ru ? r = 0 : (r = 10 * (1073741821 - Ru) - 5e3, 0 > (r = (i = Bi()) - r) && (r = 0), (n = 10 * (1073741821 - n) - i) < (r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * vu(r / 1960)) - r) && (r = n)), 10 < r) {e.timeoutHandle = yn(ds.bind(null, e), r);break;}ds(e);break;case 5:if (1073741823 !== Ru && null !== Au) {a = Ru;var u = Au;if (0 >= (r = 0 | u.busyMinDurationMs) ? r = 0 : (i = 0 | u.busyDelayMs, r = (a = Bi() - (10 * (1073741821 - a) - (0 | u.timeoutMs || 5e3))) <= i ? 0 : i + r - a), 10 < r) {Ns(e, n), e.timeoutHandle = yn(ds.bind(null, e), r);break;}}ds(e);break;default:throw Error(o(329));}if (Qu(e), e.callbackNode === t) return Xu.bind(null, e);}}return null;}function Ju(e) {var t = e.lastExpiredTime;if (t = 0 !== t ? t : 1073741823, 0 != (48 & Tu)) throw Error(o(327));if (gs(), e === wu && t === Cu || ns(e, t), null !== Eu) {var n = Tu;Tu |= 16;for (var r = is();;) try {us();break;} catch (t) {rs(e, t);}if (Ji(), Tu = n, bu.current = r, 1 === ku) throw n = Pu, ns(e, t), Ns(e, t), Qu(e), n;if (null !== Eu) throw Error(o(261));e.finishedWork = e.current.alternate, e.finishedExpirationTime = t, wu = null, ds(e), Qu(e);}return null;}function es(e, t) {var n = Tu;Tu |= 1;try {return e(t);} finally {0 === (Tu = n) && Wi();}}function ts(e, t) {var n = Tu;Tu &= -2, Tu |= 8;try {return e(t);} finally {0 === (Tu = n) && Wi();}}function ns(e, t) {e.finishedWork = null, e.finishedExpirationTime = 0;var n = e.timeoutHandle;if (-1 !== n && (e.timeoutHandle = -1, _n(n)), null !== Eu) for (n = Eu.return; null !== n;) {var r = n;switch (r.tag) {case 1:null != (r = r.type.childContextTypes) && mi();break;case 3:Ia(), si(di), si(fi);break;case 5:qa(r);break;case 4:Ia();break;case 13:case 19:si(La);break;case 10:ea(r);}n = n.return;}wu = e, Eu = Cs(e.current, null), Cu = t, ku = _u, Pu = null, Ou = Ru = 1073741823, Au = null, Iu = 0, Nu = !1;}function rs(e, t) {for (;;) {try {if (Ji(), ja.current = mo, Va) for (var n = Fa.memoizedState; null !== n;) {var r = n.queue;null !== r && (r.pending = null), n = n.next;}if (Ma = 0, Ua = Za = Fa = null, Va = !1, null === Eu || null === Eu.return) return ku = 1, Pu = t, Eu = null;e: {var i = e,a = Eu.return,o = Eu,u = t;if (t = Cu, o.effectTag |= 2048, o.firstEffect = o.lastEffect = null, null !== u && "object" == typeof u && "function" == typeof u.then) {var s = u;if (0 == (2 & o.mode)) {var l = o.alternate;l ? (o.updateQueue = l.updateQueue, o.memoizedState = l.memoizedState, o.expirationTime = l.expirationTime) : (o.updateQueue = null, o.memoizedState = null);}var c = 0 != (1 & La.current),f = a;do {var d;if (d = 13 === f.tag) {var p = f.memoizedState;if (null !== p) d = null !== p.dehydrated;else {var h = f.memoizedProps;d = void 0 !== h.fallback && (!0 !== h.unstable_avoidThisFallback || !c);}}if (d) {var g = f.updateQueue;if (null === g) {var m = new Set();m.add(s), f.updateQueue = m;} else g.add(s);if (0 == (2 & f.mode)) {if (f.effectTag |= 64, o.effectTag &= -2981, 1 === o.tag) if (null === o.alternate) o.tag = 17;else {var v = ua(1073741823, null);v.tag = 2, sa(o, v);}o.expirationTime = 1073741823;break e;}u = void 0, o = t;var b = i.pingCache;if (null === b ? (b = i.pingCache = new pu(), u = new Set(), b.set(s, u)) : void 0 === (u = b.get(s)) && (u = new Set(), b.set(s, u)), !u.has(o)) {u.add(o);var y = ys.bind(null, i, s, o);s.then(y, y);}f.effectTag |= 4096, f.expirationTime = t;break e;}f = f.return;} while (null !== f);u = Error((me(o.type) || "A React component") + " suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display." + ve(o));}5 !== ku && (ku = 2), u = Xo(u, o), f = a;do {switch (f.tag) {case 3:s = u, f.effectTag |= 4096, f.expirationTime = t, la(f, hu(f, s, t));break e;case 1:s = u;var _ = f.type,x = f.stateNode;if (0 == (64 & f.effectTag) && ("function" == typeof _.getDerivedStateFromError || null !== x && "function" == typeof x.componentDidCatch && (null === ju || !ju.has(x)))) {f.effectTag |= 4096, f.expirationTime = t, la(f, gu(f, s, t));break e;}}f = f.return;} while (null !== f);}Eu = cs(Eu);} catch (e) {t = e;continue;}break;}}function is() {var e = bu.current;return bu.current = mo, null === e ? mo : e;}function as(e, t) {e < Ru && 2 < e && (Ru = e), null !== t && e < Ou && 2 < e && (Ou = e, Au = t);}function os(e) {e > Iu && (Iu = e);}function us() {for (; null !== Eu;) Eu = ls(Eu);}function ss() {for (; null !== Eu && !Ni();) Eu = ls(Eu);}function ls(e) {var t = mu(e.alternate, e, Cu);return e.memoizedProps = e.pendingProps, null === t && (t = cs(e)), yu.current = null, t;}function cs(e) {Eu = e;do {var t = Eu.alternate;if (e = Eu.return, 0 == (2048 & Eu.effectTag)) {if (t = $o(t, Eu, Cu), 1 === Cu || 1 !== Eu.childExpirationTime) {for (var n = 0, r = Eu.child; null !== r;) {var i = r.expirationTime,a = r.childExpirationTime;i > n && (n = i), a > n && (n = a), r = r.sibling;}Eu.childExpirationTime = n;}if (null !== t) return t;null !== e && 0 == (2048 & e.effectTag) && (null === e.firstEffect && (e.firstEffect = Eu.firstEffect), null !== Eu.lastEffect && (null !== e.lastEffect && (e.lastEffect.nextEffect = Eu.firstEffect), e.lastEffect = Eu.lastEffect), 1 < Eu.effectTag && (null !== e.lastEffect ? e.lastEffect.nextEffect = Eu : e.firstEffect = Eu, e.lastEffect = Eu));} else {if (null !== (t = Qo(Eu))) return t.effectTag &= 2047, t;null !== e && (e.firstEffect = e.lastEffect = null, e.effectTag |= 2048);}if (null !== (t = Eu.sibling)) return t;Eu = e;} while (null !== Eu);return ku === _u && (ku = 5), null;}function fs(e) {var t = e.expirationTime;return t > (e = e.childExpirationTime) ? t : e;}function ds(e) {var t = Mi();return Zi(99, ps.bind(null, e, t)), null;}function ps(e, t) {do {gs();} while (null !== Mu);if (0 != (48 & Tu)) throw Error(o(327));var n = e.finishedWork,r = e.finishedExpirationTime;if (null === n) return null;if (e.finishedWork = null, e.finishedExpirationTime = 0, n === e.current) throw Error(o(177));e.callbackNode = null, e.callbackExpirationTime = 0, e.callbackPriority = 90, e.nextKnownPendingLevel = 0;var i = fs(n);if (e.firstPendingTime = i, r <= e.lastSuspendedTime ? e.firstSuspendedTime = e.lastSuspendedTime = e.nextKnownPendingLevel = 0 : r <= e.firstSuspendedTime && (e.firstSuspendedTime = r - 1), r <= e.lastPingedTime && (e.lastPingedTime = 0), r <= e.lastExpiredTime && (e.lastExpiredTime = 0), e === wu && (Eu = wu = null, Cu = 0), 1 < n.effectTag ? null !== n.lastEffect ? (n.lastEffect.nextEffect = n, i = n.firstEffect) : i = n : i = n.firstEffect, null !== i) {var a = Tu;Tu |= 32, yu.current = null, gn = Gt;var u = pn();if (hn(u)) {if ("selectionStart" in u) var s = { start: u.selectionStart, end: u.selectionEnd };else e: {var l = (s = (s = u.ownerDocument) && s.defaultView || window).getSelection && s.getSelection();if (l && 0 !== l.rangeCount) {s = l.anchorNode;var c = l.anchorOffset,f = l.focusNode;l = l.focusOffset;try {s.nodeType, f.nodeType;} catch (e) {s = null;break e;}var d = 0,p = -1,h = -1,g = 0,m = 0,v = u,b = null;t: for (;;) {for (var y; v !== s || 0 !== c && 3 !== v.nodeType || (p = d + c), v !== f || 0 !== l && 3 !== v.nodeType || (h = d + l), 3 === v.nodeType && (d += v.nodeValue.length), null !== (y = v.firstChild);) b = v, v = y;for (;;) {if (v === u) break t;if (b === s && ++g === c && (p = d), b === f && ++m === l && (h = d), null !== (y = v.nextSibling)) break;b = (v = b).parentNode;}v = y;}s = -1 === p || -1 === h ? null : { start: p, end: h };} else s = null;}s = s || { start: 0, end: 0 };} else s = null;mn = { activeElementDetached: null, focusedElem: u, selectionRange: s }, Gt = !1, Lu = i;do {try {hs();} catch (e) {if (null === Lu) throw Error(o(330));bs(Lu, e), Lu = Lu.nextEffect;}} while (null !== Lu);Lu = i;do {try {for (u = e, s = t; null !== Lu;) {var _ = Lu.effectTag;if (16 & _ && Me(Lu.stateNode, ""), 128 & _) {var x = Lu.alternate;if (null !== x) {var S = x.ref;null !== S && ("function" == typeof S ? S(null) : S.current = null);}}switch (1038 & _) {case 2:lu(Lu), Lu.effectTag &= -3;break;case 6:lu(Lu), Lu.effectTag &= -3, fu(Lu.alternate, Lu);break;case 1024:Lu.effectTag &= -1025;break;case 1028:Lu.effectTag &= -1025, fu(Lu.alternate, Lu);break;case 4:fu(Lu.alternate, Lu);break;case 8:cu(u, c = Lu, s), uu(c);}Lu = Lu.nextEffect;}} catch (e) {if (null === Lu) throw Error(o(330));bs(Lu, e), Lu = Lu.nextEffect;}} while (null !== Lu);if (S = mn, x = pn(), _ = S.focusedElem, s = S.selectionRange, x !== _ && _ && _.ownerDocument && function e(t, n) {return !(!t || !n) && (t === n || (!t || 3 !== t.nodeType) && (n && 3 === n.nodeType ? e(t, n.parentNode) : "contains" in t ? t.contains(n) : !!t.compareDocumentPosition && !!(16 & t.compareDocumentPosition(n))));}(_.ownerDocument.documentElement, _)) {null !== s && hn(_) && (x = s.start, void 0 === (S = s.end) && (S = x), "selectionStart" in _ ? (_.selectionStart = x, _.selectionEnd = Math.min(S, _.value.length)) : (S = (x = _.ownerDocument || document) && x.defaultView || window).getSelection && (S = S.getSelection(), c = _.textContent.length, u = Math.min(s.start, c), s = void 0 === s.end ? u : Math.min(s.end, c), !S.extend && u > s && (c = s, s = u, u = c), c = dn(_, u), f = dn(_, s), c && f && (1 !== S.rangeCount || S.anchorNode !== c.node || S.anchorOffset !== c.offset || S.focusNode !== f.node || S.focusOffset !== f.offset) && ((x = x.createRange()).setStart(c.node, c.offset), S.removeAllRanges(), u > s ? (S.addRange(x), S.extend(f.node, f.offset)) : (x.setEnd(f.node, f.offset), S.addRange(x))))), x = [];for (S = _; S = S.parentNode;) 1 === S.nodeType && x.push({ element: S, left: S.scrollLeft, top: S.scrollTop });for ("function" == typeof _.focus && _.focus(), _ = 0; _ < x.length; _++) (S = x[_]).element.scrollLeft = S.left, S.element.scrollTop = S.top;}Gt = !!gn, mn = gn = null, e.current = n, Lu = i;do {try {for (_ = e; null !== Lu;) {var T = Lu.effectTag;if (36 & T && au(_, Lu.alternate, Lu), 128 & T) {x = void 0;var w = Lu.ref;if (null !== w) {var E = Lu.stateNode;switch (Lu.tag) {case 5:x = E;break;default:x = E;}"function" == typeof w ? w(x) : w.current = x;}}Lu = Lu.nextEffect;}} catch (e) {if (null === Lu) throw Error(o(330));bs(Lu, e), Lu = Lu.nextEffect;}} while (null !== Lu);Lu = null, qi(), Tu = a;} else e.current = n;if (Bu) Bu = !1, Mu = e, Fu = t;else for (Lu = i; null !== Lu;) t = Lu.nextEffect, Lu.nextEffect = null, Lu = t;if (0 === (t = e.firstPendingTime) && (ju = null), 1073741823 === t ? e === Vu ? Uu++ : (Uu = 0, Vu = e) : Uu = 0, "function" == typeof xs && xs(n.stateNode, r), Qu(e), zu) throw zu = !1, e = Du, Du = null, e;return 0 != (8 & Tu) || Wi(), null;}function hs() {for (; null !== Lu;) {var e = Lu.effectTag;0 != (256 & e) && nu(Lu.alternate, Lu), 0 == (512 & e) || Bu || (Bu = !0, Ui(97, function () {return gs(), null;})), Lu = Lu.nextEffect;}}function gs() {if (90 !== Fu) {var e = 97 < Fu ? 97 : Fu;return Fu = 90, Zi(e, ms);}}function ms() {if (null === Mu) return !1;var e = Mu;if (Mu = null, 0 != (48 & Tu)) throw Error(o(331));var t = Tu;for (Tu |= 32, e = e.current.firstEffect; null !== e;) {try {var n = e;if (0 != (512 & n.effectTag)) switch (n.tag) {case 0:case 11:case 15:case 22:ru(5, n), iu(5, n);}} catch (t) {if (null === e) throw Error(o(330));bs(e, t);}n = e.nextEffect, e.nextEffect = null, e = n;}return Tu = t, Wi(), !0;}function vs(e, t, n) {sa(e, t = hu(e, t = Xo(n, t), 1073741823)), null !== (e = Yu(e, 1073741823)) && Qu(e);}function bs(e, t) {if (3 === e.tag) vs(e, e, t);else for (var n = e.return; null !== n;) {if (3 === n.tag) {vs(n, e, t);break;}if (1 === n.tag) {var r = n.stateNode;if ("function" == typeof n.type.getDerivedStateFromError || "function" == typeof r.componentDidCatch && (null === ju || !ju.has(r))) {sa(n, e = gu(n, e = Xo(t, e), 1073741823)), null !== (n = Yu(n, 1073741823)) && Qu(n);break;}}n = n.return;}}function ys(e, t, n) {var r = e.pingCache;null !== r && r.delete(t), wu === e && Cu === n ? ku === Su || ku === xu && 1073741823 === Ru && Bi() - qu < 500 ? ns(e, Cu) : Nu = !0 : Is(e, n) && (0 !== (t = e.lastPingedTime) && t < n || (e.lastPingedTime = n, Qu(e)));}function _s(e, t) {var n = e.stateNode;null !== n && n.delete(t), 0 === (t = 0) && (t = Hu(t = Gu(), e, null)), null !== (e = Yu(e, t)) && Qu(e);}mu = function (e, t, n) {var r = t.expirationTime;if (null !== e) {var i = t.pendingProps;if (e.memoizedProps !== i || di.current) Oo = !0;else {if (r < n) {switch (Oo = !1, t.tag) {case 3:Bo(t), Po();break;case 5:if (Na(t), 4 & t.mode && 1 !== n && i.hidden) return t.expirationTime = t.childExpirationTime = 1, null;break;case 1:gi(t.type) && yi(t);break;case 4:Aa(t, t.stateNode.containerInfo);break;case 10:r = t.memoizedProps.value, i = t.type._context, li(Yi, i._currentValue), i._currentValue = r;break;case 13:if (null !== t.memoizedState) return 0 !== (r = t.child.childExpirationTime) && r >= n ? Vo(e, t, n) : (li(La, 1 & La.current), null !== (t = Ko(e, t, n)) ? t.sibling : null);li(La, 1 & La.current);break;case 19:if (r = t.childExpirationTime >= n, 0 != (64 & e.effectTag)) {if (r) return Ho(e, t, n);t.effectTag |= 64;}if (null !== (i = t.memoizedState) && (i.rendering = null, i.tail = null), li(La, La.current), !r) return null;}return Ko(e, t, n);}Oo = !1;}} else Oo = !1;switch (t.expirationTime = 0, t.tag) {case 2:if (r = t.type, null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), e = t.pendingProps, i = hi(t, fi.current), na(t, n), i = Ha(null, t, r, e, i, n), t.effectTag |= 1, "object" == typeof i && null !== i && "function" == typeof i.render && void 0 === i.$$typeof) {if (t.tag = 1, t.memoizedState = null, t.updateQueue = null, gi(r)) {var a = !0;yi(t);} else a = !1;t.memoizedState = null !== i.state && void 0 !== i.state ? i.state : null, aa(t);var u = r.getDerivedStateFromProps;"function" == typeof u && ha(t, r, u, e), i.updater = ga, t.stateNode = i, i._reactInternalFiber = t, ya(t, r, e, n), t = jo(null, t, r, !0, a, n);} else t.tag = 0, Ao(null, t, i, n), t = t.child;return t;case 16:e: {if (i = t.elementType, null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), e = t.pendingProps, function (e) {if (-1 === e._status) {e._status = 0;var t = e._ctor;t = t(), e._result = t, t.then(function (t) {0 === e._status && (t = t.default, e._status = 1, e._result = t);}, function (t) {0 === e._status && (e._status = 2, e._result = t);});}}(i), 1 !== i._status) throw i._result;switch (i = i._result, t.type = i, a = t.tag = function (e) {if ("function" == typeof e) return Es(e) ? 1 : 0;if (null != e) {if ((e = e.$$typeof) === se) return 11;if (e === fe) return 14;}return 2;}(i), e = Ki(i, e), a) {case 0:t = zo(null, t, i, e, n);break e;case 1:t = Do(null, t, i, e, n);break e;case 11:t = Io(null, t, i, e, n);break e;case 14:t = No(null, t, i, Ki(i.type, e), r, n);break e;}throw Error(o(306, i, ""));}return t;case 0:return r = t.type, i = t.pendingProps, zo(e, t, r, i = t.elementType === r ? i : Ki(r, i), n);case 1:return r = t.type, i = t.pendingProps, Do(e, t, r, i = t.elementType === r ? i : Ki(r, i), n);case 3:if (Bo(t), r = t.updateQueue, null === e || null === r) throw Error(o(282));if (r = t.pendingProps, i = null !== (i = t.memoizedState) ? i.element : null, oa(e, t), ca(t, r, null, n), (r = t.memoizedState.element) === i) Po(), t = Ko(e, t, n);else {if ((i = t.stateNode.hydrate) && (xo = xn(t.stateNode.containerInfo.firstChild), _o = t, i = So = !0), i) for (n = Ea(t, null, r, n), t.child = n; n;) n.effectTag = -3 & n.effectTag | 1024, n = n.sibling;else Ao(e, t, r, n), Po();t = t.child;}return t;case 5:return Na(t), null === e && Eo(t), r = t.type, i = t.pendingProps, a = null !== e ? e.memoizedProps : null, u = i.children, bn(r, i) ? u = null : null !== a && bn(r, a) && (t.effectTag |= 16), Lo(e, t), 4 & t.mode && 1 !== n && i.hidden ? (t.expirationTime = t.childExpirationTime = 1, t = null) : (Ao(e, t, u, n), t = t.child), t;case 6:return null === e && Eo(t), null;case 13:return Vo(e, t, n);case 4:return Aa(t, t.stateNode.containerInfo), r = t.pendingProps, null === e ? t.child = wa(t, null, r, n) : Ao(e, t, r, n), t.child;case 11:return r = t.type, i = t.pendingProps, Io(e, t, r, i = t.elementType === r ? i : Ki(r, i), n);case 7:return Ao(e, t, t.pendingProps, n), t.child;case 8:case 12:return Ao(e, t, t.pendingProps.children, n), t.child;case 10:e: {r = t.type._context, i = t.pendingProps, u = t.memoizedProps, a = i.value;var s = t.type._context;if (li(Yi, s._currentValue), s._currentValue = a, null !== u) if (s = u.value, 0 === (a = Dr(s, a) ? 0 : 0 | ("function" == typeof r._calculateChangedBits ? r._calculateChangedBits(s, a) : 1073741823))) {if (u.children === i.children && !di.current) {t = Ko(e, t, n);break e;}} else for (null !== (s = t.child) && (s.return = t); null !== s;) {var l = s.dependencies;if (null !== l) {u = s.child;for (var c = l.firstContext; null !== c;) {if (c.context === r && 0 != (c.observedBits & a)) {1 === s.tag && ((c = ua(n, null)).tag = 2, sa(s, c)), s.expirationTime < n && (s.expirationTime = n), null !== (c = s.alternate) && c.expirationTime < n && (c.expirationTime = n), ta(s.return, n), l.expirationTime < n && (l.expirationTime = n);break;}c = c.next;}} else u = 10 === s.tag && s.type === t.type ? null : s.child;if (null !== u) u.return = s;else for (u = s; null !== u;) {if (u === t) {u = null;break;}if (null !== (s = u.sibling)) {s.return = u.return, u = s;break;}u = u.return;}s = u;}Ao(e, t, i.children, n), t = t.child;}return t;case 9:return i = t.type, r = (a = t.pendingProps).children, na(t, n), r = r(i = ra(i, a.unstable_observedBits)), t.effectTag |= 1, Ao(e, t, r, n), t.child;case 14:return a = Ki(i = t.type, t.pendingProps), No(e, t, i, a = Ki(i.type, a), r, n);case 15:return qo(e, t, t.type, t.pendingProps, r, n);case 17:return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Ki(r, i), null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), t.tag = 1, gi(r) ? (e = !0, yi(t)) : e = !1, na(t, n), va(t, r, i), ya(t, r, i, n), jo(null, t, r, !0, e, n);case 19:return Ho(e, t, n);}throw Error(o(156, t.tag));};var xs = null,Ss = null;function Ts(e, t, n, r) {this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.effectTag = 0, this.lastEffect = this.firstEffect = this.nextEffect = null, this.childExpirationTime = this.expirationTime = 0, this.alternate = null;}function ws(e, t, n, r) {return new Ts(e, t, n, r);}function Es(e) {return !(!(e = e.prototype) || !e.isReactComponent);}function Cs(e, t) {var n = e.alternate;return null === n ? ((n = ws(e.tag, t, e.key, e.mode)).elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.effectTag = 0, n.nextEffect = null, n.firstEffect = null, n.lastEffect = null), n.childExpirationTime = e.childExpirationTime, n.expirationTime = e.expirationTime, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = null === t ? null : { expirationTime: t.expirationTime, firstContext: t.firstContext, responders: t.responders }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n;}function ks(e, t, n, r, i, a) {var u = 2;if (r = e, "function" == typeof e) Es(e) && (u = 1);else if ("string" == typeof e) u = 5;else e: switch (e) {case ne:return Ps(n.children, i, a, t);case ue:u = 8, i |= 7;break;case re:u = 8, i |= 1;break;case ie:return (e = ws(12, n, t, 8 | i)).elementType = ie, e.type = ie, e.expirationTime = a, e;case le:return (e = ws(13, n, t, i)).type = le, e.elementType = le, e.expirationTime = a, e;case ce:return (e = ws(19, n, t, i)).elementType = ce, e.expirationTime = a, e;default:if ("object" == typeof e && null !== e) switch (e.$$typeof) {case ae:u = 10;break e;case oe:u = 9;break e;case se:u = 11;break e;case fe:u = 14;break e;case de:u = 16, r = null;break e;case pe:u = 22;break e;}throw Error(o(130, null == e ? e : typeof e, ""));}return (t = ws(u, n, t, i)).elementType = e, t.type = r, t.expirationTime = a, t;}function Ps(e, t, n, r) {return (e = ws(7, e, r, t)).expirationTime = n, e;}function Rs(e, t, n) {return (e = ws(6, e, null, t)).expirationTime = n, e;}function Os(e, t, n) {return (t = ws(4, null !== e.children ? e.children : [], e.key, t)).expirationTime = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;}function As(e, t, n) {this.tag = t, this.current = null, this.containerInfo = e, this.pingCache = this.pendingChildren = null, this.finishedExpirationTime = 0, this.finishedWork = null, this.timeoutHandle = -1, this.pendingContext = this.context = null, this.hydrate = n, this.callbackNode = null, this.callbackPriority = 90, this.lastExpiredTime = this.lastPingedTime = this.nextKnownPendingLevel = this.lastSuspendedTime = this.firstSuspendedTime = this.firstPendingTime = 0;}function Is(e, t) {var n = e.firstSuspendedTime;return e = e.lastSuspendedTime, 0 !== n && n >= t && e <= t;}function Ns(e, t) {var n = e.firstSuspendedTime,r = e.lastSuspendedTime;n < t && (e.firstSuspendedTime = t), (r > t || 0 === n) && (e.lastSuspendedTime = t), t <= e.lastPingedTime && (e.lastPingedTime = 0), t <= e.lastExpiredTime && (e.lastExpiredTime = 0);}function qs(e, t) {t > e.firstPendingTime && (e.firstPendingTime = t);var n = e.firstSuspendedTime;0 !== n && (t >= n ? e.firstSuspendedTime = e.lastSuspendedTime = e.nextKnownPendingLevel = 0 : t >= e.lastSuspendedTime && (e.lastSuspendedTime = t + 1), t > e.nextKnownPendingLevel && (e.nextKnownPendingLevel = t));}function Ls(e, t) {var n = e.lastExpiredTime;(0 === n || n > t) && (e.lastExpiredTime = t);}function zs(e, t, n, r) {var i = t.current,a = Gu(),u = da.suspense;a = Hu(a, i, u);e: if (n) {t: {if (Je(n = n._reactInternalFiber) !== n || 1 !== n.tag) throw Error(o(170));var s = n;do {switch (s.tag) {case 3:s = s.stateNode.context;break t;case 1:if (gi(s.type)) {s = s.stateNode.__reactInternalMemoizedMergedChildContext;break t;}}s = s.return;} while (null !== s);throw Error(o(171));}if (1 === n.tag) {var l = n.type;if (gi(l)) {n = bi(n, l, s);break e;}}n = s;} else n = ci;return null === t.context ? t.context = n : t.pendingContext = n, (t = ua(a, u)).payload = { element: e }, null !== (r = void 0 === r ? null : r) && (t.callback = r), sa(i, t), Ku(i, a), a;}function Ds(e) {if (!(e = e.current).child) return null;switch (e.child.tag) {case 5:default:return e.child.stateNode;}}function js(e, t) {null !== (e = e.memoizedState) && null !== e.dehydrated && e.retryTime < t && (e.retryTime = t);}function Bs(e, t) {js(e, t), (e = e.alternate) && js(e, t);}function Ms(e, t, n) {var r = new As(e, t, n = null != n && !0 === n.hydrate),i = ws(3, null, null, 2 === t ? 7 : 1 === t ? 3 : 0);r.current = i, i.stateNode = r, aa(i), e[Cn] = r.current, n && 0 !== t && function (e, t) {var n = Xe(t);Ct.forEach(function (e) {ht(e, t, n);}), kt.forEach(function (e) {ht(e, t, n);});}(0, 9 === e.nodeType ? e : e.ownerDocument), this._internalRoot = r;}function Fs(e) {return !(!e || 1 !== e.nodeType && 9 !== e.nodeType && 11 !== e.nodeType && (8 !== e.nodeType || " react-mount-point-unstable " !== e.nodeValue));}function Zs(e, t, n, r, i) {var a = n._reactRootContainer;if (a) {var o = a._internalRoot;if ("function" == typeof i) {var u = i;i = function () {var e = Ds(o);u.call(e);};}zs(t, o, e, i);} else {if (a = n._reactRootContainer = function (e, t) {if (t || (t = !(!(t = e ? 9 === e.nodeType ? e.documentElement : e.firstChild : null) || 1 !== t.nodeType || !t.hasAttribute("data-reactroot"))), !t) for (var n; n = e.lastChild;) e.removeChild(n);return new Ms(e, 0, t ? { hydrate: !0 } : void 0);}(n, r), o = a._internalRoot, "function" == typeof i) {var s = i;i = function () {var e = Ds(o);s.call(e);};}ts(function () {zs(t, o, e, i);});}return Ds(o);}function Us(e, t, n) {var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;return { $$typeof: te, key: null == r ? null : "" + r, children: e, containerInfo: t, implementation: n };}function Vs(e, t) {var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;if (!Fs(t)) throw Error(o(200));return Us(e, t, null, n);}Ms.prototype.render = function (e) {zs(e, this._internalRoot, null, null);}, Ms.prototype.unmount = function () {var e = this._internalRoot,t = e.containerInfo;zs(null, e, null, function () {t[Cn] = null;});}, gt = function (e) {if (13 === e.tag) {var t = Hi(Gu(), 150, 100);Ku(e, t), Bs(e, t);}}, mt = function (e) {13 === e.tag && (Ku(e, 3), Bs(e, 3));}, vt = function (e) {if (13 === e.tag) {var t = Gu();Ku(e, t = Hu(t, e, null)), Bs(e, t);}}, P = function (e, t, n) {switch (t) {case "input":if (Ee(e, n), t = n.name, "radio" === n.type && null != t) {for (n = e; n.parentNode;) n = n.parentNode;for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) {var r = n[t];if (r !== e && r.form === e.form) {var i = On(r);if (!i) throw Error(o(90));xe(r), Ee(r, i);}}}break;case "textarea":Ie(e, n);break;case "select":null != (t = n.value) && Re(e, !!n.multiple, t, !1);}}, q = es, L = function (e, t, n, r, i) {var a = Tu;Tu |= 4;try {return Zi(98, e.bind(null, t, n, r, i));} finally {0 === (Tu = a) && Wi();}}, z = function () {0 == (49 & Tu) && (function () {if (null !== Zu) {var e = Zu;Zu = null, e.forEach(function (e, t) {Ls(t, e), Qu(t);}), Wi();}}(), gs());}, D = function (e, t) {var n = Tu;Tu |= 2;try {return e(t);} finally {0 === (Tu = n) && Wi();}};var Ws,Gs,Hs = { Events: [Pn, Rn, On, C, T, Dn, function (e) {it(e, zn);}, I, N, Qt, ut, gs, { current: !1 }] };Gs = (Ws = { findFiberByHostInstance: kn, bundleType: 0, version: "16.14.0", rendererPackageName: "react-dom" }).findFiberByHostInstance, function (e) {if ("undefined" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1;var t = __REACT_DEVTOOLS_GLOBAL_HOOK__;if (t.isDisabled || !t.supportsFiber) return !0;try {var n = t.inject(e);xs = function (e) {try {t.onCommitFiberRoot(n, e, void 0, 64 == (64 & e.current.effectTag));} catch (e) {}}, Ss = function (e) {try {t.onCommitFiberUnmount(n, e);} catch (e) {}};} catch (e) {}}(i({}, Ws, { overrideHookState: null, overrideProps: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: $.ReactCurrentDispatcher, findHostInstanceByFiber: function (e) {return null === (e = nt(e)) ? null : e.stateNode;}, findFiberByHostInstance: function (e) {return Gs ? Gs(e) : null;}, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null })), t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Hs, t.createPortal = Vs, t.findDOMNode = function (e) {if (null == e) return null;if (1 === e.nodeType) return e;var t = e._reactInternalFiber;if (void 0 === t) {if ("function" == typeof e.render) throw Error(o(188));throw Error(o(268, Object.keys(e)));}return e = null === (e = nt(t)) ? null : e.stateNode;}, t.flushSync = function (e, t) {if (0 != (48 & Tu)) throw Error(o(187));var n = Tu;Tu |= 1;try {return Zi(99, e.bind(null, t));} finally {Tu = n, Wi();}}, t.hydrate = function (e, t, n) {if (!Fs(t)) throw Error(o(200));return Zs(null, e, t, !0, n);}, t.render = function (e, t, n) {if (!Fs(t)) throw Error(o(200));return Zs(null, e, t, !1, n);}, t.unmountComponentAtNode = function (e) {if (!Fs(e)) throw Error(o(40));return !!e._reactRootContainer && (ts(function () {Zs(null, null, e, !1, function () {e._reactRootContainer = null, e[Cn] = null;});}), !0);}, t.unstable_batchedUpdates = es, t.unstable_createPortal = function (e, t) {return Vs(e, t, 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null);}, t.unstable_renderSubtreeIntoContainer = function (e, t, n, r) {if (!Fs(n)) throw Error(o(200));if (null == e || void 0 === e._reactInternalFiber) throw Error(o(38));return Zs(e, t, n, !1, r);}, t.version = "16.14.0";}, function (e, t, n) {"use strict";e.exports = n(121);}, function (e, t, n) {"use strict";
  /** @license React v0.19.1
   * scheduler.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */var r, i, a, o, u;if ("undefined" == typeof window || "function" != typeof MessageChannel) {var s = null,l = null,c = function () {if (null !== s) try {var e = t.unstable_now();s(!0, e), s = null;} catch (e) {throw setTimeout(c, 0), e;}},f = Date.now();t.unstable_now = function () {return Date.now() - f;}, r = function (e) {null !== s ? setTimeout(r, 0, e) : (s = e, setTimeout(c, 0));}, i = function (e, t) {l = setTimeout(e, t);}, a = function () {clearTimeout(l);}, o = function () {return !1;}, u = t.unstable_forceFrameRate = function () {};} else {var d = window.performance,p = window.Date,h = window.setTimeout,g = window.clearTimeout;if ("undefined" != typeof console) {var m = window.cancelAnimationFrame;"function" != typeof window.requestAnimationFrame && console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"), "function" != typeof m && console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills");}if ("object" == typeof d && "function" == typeof d.now) t.unstable_now = function () {return d.now();};else {var v = p.now();t.unstable_now = function () {return p.now() - v;};}var b = !1,y = null,_ = -1,x = 5,S = 0;o = function () {return t.unstable_now() >= S;}, u = function () {}, t.unstable_forceFrameRate = function (e) {0 > e || 125 < e ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported") : x = 0 < e ? Math.floor(1e3 / e) : 5;};var T = new MessageChannel(),w = T.port2;T.port1.onmessage = function () {if (null !== y) {var e = t.unstable_now();S = e + x;try {y(!0, e) ? w.postMessage(null) : (b = !1, y = null);} catch (e) {throw w.postMessage(null), e;}} else b = !1;}, r = function (e) {y = e, b || (b = !0, w.postMessage(null));}, i = function (e, n) {_ = h(function () {e(t.unstable_now());}, n);}, a = function () {g(_), _ = -1;};}function E(e, t) {var n = e.length;e.push(t);e: for (;;) {var r = n - 1 >>> 1,i = e[r];if (!(void 0 !== i && 0 < P(i, t))) break e;e[r] = t, e[n] = i, n = r;}}function C(e) {return void 0 === (e = e[0]) ? null : e;}function k(e) {var t = e[0];if (void 0 !== t) {var n = e.pop();if (n !== t) {e[0] = n;e: for (var r = 0, i = e.length; r < i;) {var a = 2 * (r + 1) - 1,o = e[a],u = a + 1,s = e[u];if (void 0 !== o && 0 > P(o, n)) void 0 !== s && 0 > P(s, o) ? (e[r] = s, e[u] = n, r = u) : (e[r] = o, e[a] = n, r = a);else {if (!(void 0 !== s && 0 > P(s, n))) break e;e[r] = s, e[u] = n, r = u;}}}return t;}return null;}function P(e, t) {var n = e.sortIndex - t.sortIndex;return 0 !== n ? n : e.id - t.id;}var R = [],O = [],A = 1,I = null,N = 3,q = !1,L = !1,z = !1;function D(e) {for (var t = C(O); null !== t;) {if (null === t.callback) k(O);else {if (!(t.startTime <= e)) break;k(O), t.sortIndex = t.expirationTime, E(R, t);}t = C(O);}}function j(e) {if (z = !1, D(e), !L) if (null !== C(R)) L = !0, r(B);else {var t = C(O);null !== t && i(j, t.startTime - e);}}function B(e, n) {L = !1, z && (z = !1, a()), q = !0;var r = N;try {for (D(n), I = C(R); null !== I && (!(I.expirationTime > n) || e && !o());) {var u = I.callback;if (null !== u) {I.callback = null, N = I.priorityLevel;var s = u(I.expirationTime <= n);n = t.unstable_now(), "function" == typeof s ? I.callback = s : I === C(R) && k(R), D(n);} else k(R);I = C(R);}if (null !== I) var l = !0;else {var c = C(O);null !== c && i(j, c.startTime - n), l = !1;}return l;} finally {I = null, N = r, q = !1;}}function M(e) {switch (e) {case 1:return -1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3;}}var F = u;t.unstable_IdlePriority = 5, t.unstable_ImmediatePriority = 1, t.unstable_LowPriority = 4, t.unstable_NormalPriority = 3, t.unstable_Profiling = null, t.unstable_UserBlockingPriority = 2, t.unstable_cancelCallback = function (e) {e.callback = null;}, t.unstable_continueExecution = function () {L || q || (L = !0, r(B));}, t.unstable_getCurrentPriorityLevel = function () {return N;}, t.unstable_getFirstCallbackNode = function () {return C(R);}, t.unstable_next = function (e) {switch (N) {case 1:case 2:case 3:var t = 3;break;default:t = N;}var n = N;N = t;try {return e();} finally {N = n;}}, t.unstable_pauseExecution = function () {}, t.unstable_requestPaint = F, t.unstable_runWithPriority = function (e, t) {switch (e) {case 1:case 2:case 3:case 4:case 5:break;default:e = 3;}var n = N;N = e;try {return t();} finally {N = n;}}, t.unstable_scheduleCallback = function (e, n, o) {var u = t.unstable_now();if ("object" == typeof o && null !== o) {var s = o.delay;s = "number" == typeof s && 0 < s ? u + s : u, o = "number" == typeof o.timeout ? o.timeout : M(e);} else o = M(e), s = u;return e = { id: A++, callback: n, priorityLevel: e, startTime: s, expirationTime: o = s + o, sortIndex: -1 }, s > u ? (e.sortIndex = s, E(O, e), null === C(R) && e === C(O) && (z ? a() : z = !0, i(j, s - u))) : (e.sortIndex = o, E(R, e), L || q || (L = !0, r(B))), e;}, t.unstable_shouldYield = function () {var e = t.unstable_now();D(e);var n = C(R);return n !== I && null !== I && null !== n && null !== n.callback && n.startTime <= e && n.expirationTime < I.expirationTime || o();}, t.unstable_wrapCallback = function (e) {var t = N;return function () {var n = N;N = t;try {return e.apply(this, arguments);} finally {N = n;}};};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = b(n(0)),o = v(n(41));n(124);var u = b(n(125)),s = n(9),l = b(n(72)),c = b(n(132)),f = b(n(173)),d = v(n(204)),p = b(n(205)),h = b(n(208)),g = b(n(211)),m = b(n(212));function v(e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}function b(e) {return e && e.__esModule ? e : { default: e };}var y = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return console.debug("ZuP: Die Anwendung wurde im Modus: 'production' kompiliert."), n.assets = (0, u.default)(e), n.state = (0, l.default)(n.assets), n.appId = e.id, n.handleCatalogViewSelection = d.handleCatalogViewSelection.bind(n), n.handleCatalogSearchFiledInputValueChange = d.handleCatalogSearchFiledInputValueChange.bind(n), n.handleCatalogSelectProductSelection = d.handleCatalogSelectProductSelection.bind(n), n.handleCatalogSelectCategorySelection = d.handleCatalogSelectCategorySelection.bind(n), n.handleCatalogSelectSpecialCategorySelection = d.handleCatalogSelectSpecialCategorySelection.bind(n), n.handleCurrencyChange = d.handleCurrencyChange.bind(n), n.handleCurrencyAmountChange = d.handleCurrencyAmountChange.bind(n), n.handleCurrencyInputFieldBlur = d.handleCurrencyInputFieldBlur.bind(n), n.handleCurrencyInputFieldFocus = d.handleCurrencyInputFieldFocus.bind(n), n.handlePopupChange = d.handlePopupChange.bind(n), n.handlePopupChangeSpecialProductDetails = d.handlePopupChangeSpecialProdcutDetails.bind(n), n.handleScreenChange = d.handleScreenChange.bind(n), n.handleSelectCountrySearchFieldInputValueChange = d.handleSelectCountrySearchFieldInputValueChange.bind(n), n.handleSelectCountrySelection = d.handleSelectCountrySelection.bind(n), n.handleSelectProductSearchFieldInputValueChange = d.handleSelectProductSearchFieldInputValueChange.bind(n), n.handleSelectProductSelection = d.handleSelectProductSelection.bind(n), n.handleToggleGiftChange = d.handleToggleGiftChange.bind(n), n.toggleSelectCountryTypeahead = d.toggleSelectCountryTypeahead.bind(n), n.toggleSelectProductTypeahead = d.toggleSelectProductTypeahead.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "_renderMainMenuScreen", value: function () {var e = this.assets.textConfigDe.screens.mainMenu;return a.default.createElement(c.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange }, navTargets: { calculator: s.CALCULATOR_SCREEN, catalog: s.CATALOG_SCREEN } });} }, { key: "_renderCalculatorScreen", value: function () {var e = this.assets.textConfigDe,t = r({ backButton: e.buttons.backButton, resetButton: e.buttons.resetButton, detailsButton: e.buttons.detailsButton, screenReader: { notSelected: e.screenReader.notSelected, selectCurrencyDropdown: e.screenReader.selectCurrencyDropdown, selectCurrencyInEuro: e.screenReader.selectCurrencyInEuro, selectCurrencyInput: e.screenReader.selectCurrencyInput, selectCurrencyLabel: e.screenReader.selectCurrencyLabel, selected: e.screenReader.selected } }, this.assets.textConfigDe.screens.calculator, { typeahead: this.assets.textConfigDe.typeahead, currencySigns: this.assets.textConfigDe.currencySigns }),n = this.assets,i = n.calculationConstants,o = n.categories,u = n.countries,l = n.currencies,c = n.icons,d = r({}, this.state.data);return delete d.catalog, i.flatTaxRate = parseFloat(i.flatTaxRate), i.minZollTaxAmount = parseFloat(i.minZollTaxAmount), a.default.createElement(f.default, { appId: this.appId, categories: o, countries: u, currencies: l, data: d, calculationConstants: i, isSelectCountryOpen: this.state.isSelectCountryOpen, isSelectProductOpen: this.state.isSelectProductOpen, functions: { handleCurrencyChange: this.handleCurrencyChange, handleCurrencyAmountChange: this.handleCurrencyAmountChange, handleCurrencyInputFieldBlur: this.handleCurrencyInputFieldBlur, handleCurrencyInputFieldFocus: this.handleCurrencyInputFieldFocus, handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectCountrySearchFieldInputValueChange: this.handleSelectCountrySearchFieldInputValueChange, handleSelectCountrySelection: this.handleSelectCountrySelection, handleSelectProductSearchFieldInputValueChange: this.handleSelectProductSearchFieldInputValueChange, handleSelectProductSelection: this.handleSelectProductSelection, handleToggleGiftChange: this.handleToggleGiftChange, toggleSelectCountryTypeahead: this.toggleSelectCountryTypeahead, toggleSelectProductTypeahead: this.toggleSelectProductTypeahead }, icons: { back: c.back, dropdown: c.dropdown, info: c.info, suchlupe: c.suchlupe }, navTargets: { infoPopup: s.CALCULATOR_INFO_POPUP, back: s.MAIN_MENU_SCREEN, reset: s.CALCULATOR_SCREEN, categoryPopup: s.CATEGORY_POPUP }, texts: t });} }, { key: "_renderCatalogScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.catalog, { backButton: this.assets.textConfigDe.buttons.backButton, screenReader: { catalogSelectInputFieldCategories: this.assets.textConfigDe.screenReader.catalogSelectInputFieldCategories, catalogSelectInputFieldSpecialCategories: this.assets.textConfigDe.screenReader.catalogSelectInputFieldSpecialCategories, catalogSelectInputFieldProducts: this.assets.textConfigDe.screenReader.catalogSelectInputFieldProducts, catalogSelectOptionListCategories: this.assets.textConfigDe.screenReader.catalogSelectOptionListCategories, catalogSelectOptionListProducts: this.assets.textConfigDe.screenReader.catalogSelectOptionListProducts, catalogSelectOptionListSpecialCategories: this.assets.textConfigDe.screenReader.catalogSelectOptionListSpecialCategories, entries: this.assets.textConfigDe.screenReader.entries }, select: this.assets.textConfigDe.select }),t = { catalog: { searchFieldInputValue: this.state.data.catalog.searchFieldInputValue, view: this.state.data.catalog.view } },n = this.assets.icons;return a.default.createElement(m.default, { appId: this.appId, categories: this.assets.categories, specialCategories: this.assets.specialCategories, data: t, functions: { handleScreenChange: this.handleScreenChange, handleCatalogViewSelection: this.handleCatalogViewSelection, handleCatalogSearchFiledInputValueChange: this.handleCatalogSearchFiledInputValueChange, handleCatalogSelectProductSelection: this.handleCatalogSelectProductSelection, handleCatalogSelectCategorySelection: this.handleCatalogSelectCategorySelection, handleCatalogSelectSpecialCategorySelection: this.handleCatalogSelectSpecialCategorySelection }, icons: { clear: n.clear, back: n.back }, navTargets: { back: s.MAIN_MENU_SCREEN }, texts: e });} }, { key: "_renderGenericInfoPopup", value: function (e) {return a.default.createElement(p.default, { functions: { handlePopupChange: this.handlePopupChange }, icons: { close: this.assets.icons.close }, navTarget: s.INFO_POPUP, texts: e });} }, { key: "_renderPopup", value: function () {return this.state.isPopupOpen ? this._getPopup() : null;} }, { key: "_getPopup", value: function () {var e = this.state,t = e.currentPopup,n = e.currentScreen,i = e.data,u = this.assets,l = u.icons,c = u.textConfigDe,f = null;switch (t) {case s.CALCULATOR_SELECT_CURRENCY_INFO_POPUP:var d = r({}, c.screens[n].selectCurrency.infoPopup, { closeButton: c.buttons.closeButton });f = this._renderGenericInfoPopup(d);break;case s.CATEGORY_POPUP:var p = null;p = this.state.currentScreen === s.CATALOG_SCREEN ? i.catalog.selectedProduct || i.catalog.selectedCategory || i.catalog.selectedSpecialCategory : i.product;var m = { title: { text: c.popups.categoryPopup.title.text, iconButtonAltText: c.popups.categoryPopup.title.iconButtonAltText }, body: p.description, closeButton: c.buttons.closeButton, taxBox: c.popups.categoryPopup.taxBox, listItemIconAltTextClosed: c.popups.categoryPopup.listItemIconAltTextClosed, listItemIconAltTextOpened: c.popups.categoryPopup.listItemIconAltTextOpened },v = n === s.CALCULATOR_SCREEN ? { product: o.omit(i.product, "searchFieldInputValue"), showListInCategoryPopup: this.state.showListInCategoryPopup } : { catalog: o.omit(i.catalog, ["searchFieldInputValue", "view"]), showListInCategoryPopup: this.state.showListInCategoryPopup };f = a.default.createElement(h.default, { categories: this.assets.categories, specialCategories: this.assets.specialCategories, data: v, functions: { handlePopupChange: this.handlePopupChange }, navTarget: s.CATEGORY_POPUP, icons: { close: l.close, down: l.down }, texts: m, currentScreen: n });break;case s.CALCULATOR_TOGGLE_GIFT_INFO_POPUP:var b = r({}, c.screens[n].toggleGift.infoPopup, { closeButton: c.buttons.closeButton });f = this._renderGenericInfoPopup(b);break;case s.CALCULATOR_SELECT_PRODUCT_SPECIAL_POPUP:var y = this.state.data.product.unselectableProduct.text,_ = this.state.data.product.unselectableProduct.descriptionShort,x = { title: { text: y, iconButtonAltText: c.popups.specialProductPopup.title.iconButtonAltText }, body: _, closeButton: c.buttons.closeButton, detailsButton: c.buttons.detailsButton };f = a.default.createElement(g.default, { functions: { handlePopupChange: this.handlePopupChange, handlePopupChangeSpecialProductDetails: this.handlePopupChangeSpecialProductDetails }, icons: { close: l.close }, navTargets: [s.CALCULATOR_SELECT_PRODUCT_SPECIAL_POPUP, s.CATEGORY_POPUP], texts: x });break;case s.CALCULATOR_SELECT_COUNTRY_EU_POPUP:var S = r({}, c.popups.euPopup, { closeButton: c.buttons.closeButton });f = this._renderGenericInfoPopup(S);break;default:var T = r({}, c.screens[n].infoPopup, { closeButton: c.buttons.closeButton });f = this._renderGenericInfoPopup(T);}return f;} }, { key: "_getScreen", value: function () {var e = void 0;switch (this.state.currentScreen) {case s.MAIN_MENU_SCREEN:e = this._renderMainMenuScreen();break;case s.CALCULATOR_SCREEN:e = this._renderCalculatorScreen();break;case s.CATALOG_SCREEN:e = this._renderCatalogScreen();break;default:console.warn("ZuP: App._getScreen() could not get the proper screen"), e = this._renderMainMenuScreen();}return e;} }, { key: "render", value: function () {var e = this._getScreen(),t = this._renderPopup();return a.default.createElement("div", { className: "app" }, e, t);} }]), t;}(a.default.Component);t.default = y;}, function (e, t) {e.exports = function (e) {return e.webpackPolyfill || (e.deprecate = function () {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { enumerable: !0, get: function () {return e.l;} }), Object.defineProperty(e, "id", { enumerable: !0, get: function () {return e.i;} }), e.webpackPolyfill = 1), e;};}, function (e, t, n) {"use strict";Array.prototype.find || Object.defineProperty(Array.prototype, "find", { value: function (e) {if (null == this) throw new TypeError("this is null or not defined");var t = Object(this),n = t.length >>> 0;if ("function" != typeof e) throw new TypeError("predicate must be a function");for (var r = arguments[1], i = 0; i < n;) {var a = t[i];if (e.call(r, a, i, t)) return a;i++;}} });}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {var t = e.assets;if (t) {} else t = function (e, t, n, c, f, d) {var p = e || {};d && console.warn("ZuP: Das Laden der Daten aus dem GSB ist fehlgeschlagen. Lokale Daten werden als Ersatz genutzt.");if (t) {console.warn("ZuP: Entwicklungsmodus: Lokale Icons werden verwendet.");var h = "/apps/gsb_zoll_und_post/dist/assets/icons/";p.icons = { back: h + "back.svg", down: h + "down.svg", dropdown: h + "dropdown.svg", suchlupe: h + "suchlupe.svg", close: h + "close.svg", info: h + "info.svg", clear: h + "clear.svg" };}n && (console.warn("ZuP: Entwicklungsmodus: Lokale Länderdaten werden verwendet."), p.countries = i.default);f && (console.warn("ZuP: Entwicklungsmodus: Lokale Daten für: Waren, Währungen und KalkulierungsKonstanten"), p.categories = o.default, p.specialCategories = s.default, p.currencies = u.default, p.calculationConstants = a);c && (console.warn("ZuP: Entwicklungsmodus: Lokale Textkonfiguration wird verwendet."), (0, l.default)(r.default), p.textConfigDe = r.default);return console.debug("ZuP: Resultierende Ressourcen:"), console.debug(p), p;}(t, !0, !0, !0, !0, !0);return t;};var r = c(n(126)),i = c(n(127)),a = function (e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}(n(128)),o = c(n(129)),u = c(n(130)),s = c(n(131)),l = c(n(42));function c(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = { screenReader: { entries: "Einträge", selected: "aktiviert", notSelected: "Nicht aktiviert", selectCurrencyInput: "Dieses Eingabefeld dient zur Eingabe des Warenwertbetrags in der gewählten Währung", selectCurrencyLabel: "Betrag", selectCurrencyDropdown: "Diese Auswahlbox dient zur Auswahl der Währung in welcher sie die Ware gekauft haben", selectCurrencyInEuro: "Dieses Feld zeigt die von ihnen eingegebenen Warenwert in Euro", catalogSelectInputFieldProducts: "Das nachfolgende Eingabefeld dient zur Filterung der möglichen Optionen von Produkten", catalogSelectInputFieldCategories: "Das nachfolgende Eingabefeld dient zur Filterung der möglichen Optionen von Warenkategorien", catalogSelectOptionListProducts: "Die nachfolgende Liste aus Schaltern dient zur Auswahl eines Produktes. Bei Auswahl öffnet sich ein Popup welches die entsprechenden Informationen anzeigt", catalogSelectOptionListCategories: "Die nachfolgende Liste aus Schaltern dient zur Auswahl einer Warenkategorie. Bei Auswahl öffnet sich ein Popup welches die entsprechenden Informationen anzeigt", catalogSelectInputFieldSpecialCategories: "Das nachfolgende Eingabefeld tut etwas.", catalogSelectOptionListSpecialCategories: "Eine Liste von Optionen" }, select: { placeholder: "Suchbegriff", noResults: "Die Suche ergab keine Treffer" }, typeahead: { searchPlaceholder: "Suchbegriff", noResults: "Die Suche ergab keine Treffer" }, currencySigns: { euro: "€" }, buttons: { backButton: { text: "Zurück" }, resetButton: { text: "Reset" }, closeButton: { text: "Schließen" }, detailsButton: { text: "Details" } }, popups: { categoryPopup: { listItemIconAltTextClosed: "Anzeige der Informationen zum Produkt öffnen", listItemIconAltTextOpened: "Anzeige der Informationen zum Produkt schließen", taxBox: { euTax: "Einfuhrumsatzsteuer:", title: "Abgabensätze", zollTax: "Zollsatz:" }, title: { text: "Produktinformation", iconButtonAltText: "Weitere Informationen schließen" } }, euPopup: { title: { text: "Versand innerhalb der EU", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Das ausgewählte Land gehört zum Wirtschaftsraum der Europäischen Union. Es sind keine Abgaben zu zahlen.</p>" }, specialProductPopup: { title: { iconButtonAltText: "Hinweis Popup schließen" } } }, screens: { mainMenu: { title: { text: "Zoll und Post" }, buttons: { calculator: { h: "Abgabenrechner", text: "Wieviel können Sie abgabenfrei einsenden?" }, catalog: { h: "Produktkatalog", text: "Produkte und Kategorien" } } }, calculator: { title: { text: "Abgabenrechner", iconButtonAltText: "Weitere Informationen zum Abgabenrechner" }, infoPopup: { title: { text: "Abgabenrechner", iconButtonAltText: "Weitere Informationen schließen" }, body: '<p><b>Über diesen Abgabenrechner</b></p><p>Mit dem Abgabenrechner der App "Zoll und Post" können Sie die voraussichtlichen Einfuhrabgaben auf Sendungen berechnen, die Sie aus einem Nicht-EU-Land erwarten</p><p><b>Berechnungsgrundlage</b></p><p> Die ermittelten voraussichtlichen Einfuhrabgaben setzen sich aus einem festgelegten Zollsatz und der Einfuhrumsatzsteuer zusammen. In der Detailrechnung können Sie die Struktur der Abgaben nachvollziehen. Bitte haben Sie Verständnis, dass diese App nur unverbindliche Berechnungen ausgeben kann. der konkrete Sbgabenwert wird nach Sichtung der sendung durch die Zollbeamtinnen und -beamten Ihres zuständigen Zollamtes ermittelt.</p><p><b>Produktauswahl</b></p><p>Sie können über eine Produktkategorie des konkrete Produkt auswählen, das Sie erwarten. Nach auswahl wird angezeigt, was speziell bei diesem Produkt zu beachtebn ist. Erhalten Sie verschiedene Produkte, muss die erechnung pro Produktart einzeln durchgeführt werden.</p><p><b>Produkte mit Einfuhrverbot</b></p><p>Für manche Produkte gibt es in Deutschland ein Einfuhrverbot. Dazu zählen u.a. Lebensmittel aus tierischen Erzeugnissen, Arzneimittel und Waffen sowie Munition. Die Produkte können im Rechner ausgewählt werden, es wird jedeoch keine Berechnung durchgeführt, da die Sendung nicht zugestellt wird. Sie erhalten bei diesen Produkten mit Einfuhrverboten einen entsprechenden Hinweis.</p><p><b>Private Geschenksendung</b></p><p>Wenn Sie eine Sendung z.B. von einem Freund erwarten, dann wählen Sie bitte die Option aus. Als private Geschenksendung gilt eine Sendung die gelegentlich erfolgt (da heißt nicht regelmäßig), die zum persönlichen Gebrauch oder Verbrauch bestimmt ist und für die der Empfänger keine Bezahlung oder Gegenleistung erbringt. Sowahl Versender als auch Empfänger müssen Privatpersonen sein. <br />Bei Geschenken über einem Wert von 45 Euro fallen abgaben an. Abhängig vom Land wird eine pauschalisierte Abgabe erhoben. Ab einem Geschenk-Wert über 700 Euro fallen abgaben wie für eine reguläre Sendung aus dem Nich-EU-Ausland an. Tragen Sie für die Berechnung bitte den entsprechenden Betrag im Feld "Rechnungsbetrag inkl. Porto" ein.</p><p><b>Länderauswahl und Währung</b></p><p>Wenn Sie ein Land auswählen, wird automatisch "Euro" als Währung angezeigt. Wenn der Wert Ihrer Sendung eine andere Währung hat, dann können Sie über die Liste zu dieser Währung wechseln. <br />Der abgabenrechner bietet eine vollständige Länderliste an inkl. aller EU-Länder, da betimmte Regionen innnerhalb der Europäischen Union nicht zum Zollgebiet der EU gehören und hier auch Abgaben anfallen können. Bei EU-Ländern, bei denen keine Einfuhrabgaben netstehen, wird die Berechnung nicht durchgeführt und sie erhalten einen Hinweis</p><p><b>Rechnungsendbetrag / Warenwert</b></p><p>Der einzutragende Rechnungsendbetrag setzt sich zusammen aus dem Wrt der Ware und den Versandkosten. Diese Angaben finde sie z.B. auf Ihrere Rechnung. Wenn sie angegeben haben, dass Sie ein Geschenk erwarten, ist in diesem Feld der geschätzte Warenwert einzutragen.</p><p><b>Sendungen über Kurier- und Speditionsdienste</b></p><p>Kurier- und Speditionsdienste übernehmen in der Regel die Zollabwicklung für Sie. Hierfür verlangen alle Anbieter meist zusätzliche, uns nicht bekannte Servicegebühren. Daher kann dieser abgabenrechner nur Einfuhrabgaben für Postsendungen berechnen.</p>' }, body: "<p>Erwarten Sie eine Sendung aus einem Nicht-EU-Staat? Mit diesem Rechner können Sie ihre vorraussichtlichen Einfuhrabgaben ermitteln</p>", selectProduct: { title: { text: "Produkt" }, dropdownPlaceholder: "Produkt wählen" }, toggleGift: { title: { text: "Geschenksendung", iconButtonAltText: "Weitere Informationen zu Geschenksendungen" }, toggleLabel: "Private Geschenksendung?", infoPopup: { title: { text: "Private Geschenksendung", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Als private Geschenksendung gilt eine Sendung einer Privatperson an eine andere Privatperson, die gelegentlich erfolgt, die zum persönlichen Gebraucht oder Verbrauch bestimmt ist und für die der Empfänger keine Bezahlung oder Gegenleistung erbringt. Liegt der Warenwert über 45 Euro, werden für die Sendungen Abgaben fällig.</p>" } }, selectCountry: { title: { text: "Land" }, dropdownPlaceholder: "Versandland auswählen" }, selectCurrency: { title: { text: "Rechnungsbetrag inkl. Porto", iconButtonAltText: "Weitere Informationen zur Währungssauswahl" }, infoPopup: { title: { text: "Währungskurs", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte beachten Sie, dass der Währungskurs dem Umrechnungskursdes Zolls entspricht.</p>" } }, resultBox: { title: { text: "Vorraussichtliche Einfuhrabgaben" }, base: "Berechnungsgrundlage", billValue: "Rechnungsendbetrag", currencyShort: "EUR", euTax1: "Einfuhrumsatzsteuer (", euTax2: ")", flatTax1: "Pauschalsteuer (", flatTax2: ")", summary: "Zusammensetzung der Abgaben", zollTax1: "Zollsatz", zollTax2: "(", zollTax3: ")", maxZollTaxAmount1: "max.", maxZollTaxAmount2: "p.St.", resultNoTaxes: "Ihre Waren sind einfuhrabgabenfrei.", resultNoTaxesGift: "Für das Geschenk fallen keine Abgaben an.", minTaxToPayThreshold: "Ihr Produkt wäre steuerpflichtig. Abgaben unter fünf Euro werden jedoch nicht erhoben.", minTaxToPayLowerThreshold: "Ihr Produkt wäre steuerpflichtig. Abgaben unter einem Euro werden jedoch nicht erhoben.", notification: "Bitte haben sie Verständnis, dass die App nur unverbindliche Berechnungen ausgibt. Der konkrete Abgabenwert wird nach Sichtung der Sendung durch die Zollbeamtinnen und -beamten ermittelt." } }, catalog: { title: { text: "Produktkatalog" }, radioButton1: { text: "Produkte" }, radioButton2: { text: "Kategorien" }, radioButton3: { text: "Besonderes" } } } };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ text: "Zyklopia", subText: "(weit hinten im Alphabet)", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mauritania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZL" }, { text: "Afghanistan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/afghanistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AF" }, { text: "albania", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/albania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AL" }, { text: "algeria", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/algeria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DZ" }, { text: "andorra", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/andorra.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AD" }, { text: "angola", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/angola.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AO" }, { text: "antigua_and_barbuda", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/antigua_and_barbuda.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AG" }, { text: "argentina", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/argentina.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AR" }, { text: "armenia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/armenia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AM" }, { text: "australia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/australia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AU" }, { text: "austria", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/austria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AT" }, { text: "bahamas", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bahamas.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BS" }, { text: "bahrain", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bahrain.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BH" }, { text: "bangladesh", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bangladesh.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BD" }, { text: "barbados", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/barbados.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BB" }, { text: "belarus", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/belarus.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BY" }, { text: "Belgien", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/belgium.png", eu: 1, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BE" }, { text: "belize", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/belize.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BZ" }, { text: "benin", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/benin.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BJ" }, { text: "bhutan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bhutan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BT" }, { text: "bolivia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bolivia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BO" }, { text: "bosnia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bosnia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BA" }, { text: "botswana", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/botswana.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BW" }, { text: "brazil", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/brazil.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BR" }, { text: "brunei", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/brunei.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BN" }, { text: "bulgaria", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/bulgaria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BG" }, { text: "burkina_faso", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/burkina_faso.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BF" }, { text: "burundi", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/burundi.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BI" }, { text: "cambodia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/cambodia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KH" }, { text: "cameroon", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/cameroon.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CM" }, { text: "canada", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/canada.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CA" }, { text: "central_african_republic", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/central_african_republic.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CF" }, { text: "chad", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/chad.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TD" }, { text: "chile", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/chile.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CL" }, { text: "china", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/china.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CN" }, { text: "colombia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/colombia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CO" }, { text: "comoros", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/comoros.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KM" }, { text: "congo_kinshasa", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/congo_kinshasa.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "cd" }, { text: "cook_islands", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/cook_islands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CK" }, { text: "costa_rica", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/costa_rica.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CR" }, { text: "Côte d'Ivoire", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/cotedlvoire.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CI" }, { text: "croatia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/croatia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HR" }, { text: "cuba", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/cuba.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CU" }, { text: "cyprus", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/cyprus.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CY" }, { text: "czech_republic", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/czech_republic.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CZ" }, { text: "Dänemark", subText: "(ohne Färöer und Grönland)", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/denmark.png", eu: 1, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DK" }, { text: "Dänemark ", subText: "(nur Färöer und Grönland)", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/denmark.png", eu: 1, specialZone: 1, calcZoll: 1, calcEuTax: 1, iso2: "DK" }, { text: "Deutschland", subText: "(nur Helgoland und Büsingen)", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/germany.png", eu: 1, specialZone: 1, calcZoll: 1, calcEuTax: 1, iso2: "DE" }, { text: "dominica", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/dominica.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DM" }, { text: "dominican_republic", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/dominican_republic.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DO" }, { text: "ecuador", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/ecuador.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "EC" }, { text: "egypt", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/egypt.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "EG" }, { text: "el_salvador", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/el_salvador.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SV2" }, { text: "equatorial_guinea", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/equatorial_guinea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GQ" }, { text: "eritrea", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/eritrea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ER" }, { text: "estonia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/estonia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "EE" }, { text: "ethiopia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/ethiopia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ET" }, { text: "fiji", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/fiji.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FJ" }, { text: "Finnland", subText: "(ohne Alandinsel)", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/finland.png", eu: 1, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FI" }, { text: "Finnland", subText: "(nur Alandinsel)", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/finland.png", eu: 1, specialZone: 1, calcZoll: 0, calcEuTax: 1, iso2: "FI" }, { text: "france", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/france.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FR" }, { text: "gabon", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/gabon.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GA" }, { text: "gambia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/gambia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GM" }, { text: "georgia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/georgia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GE" }, { text: "germany", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/germany.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DE" }, { text: "ghana", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/ghana.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GH" }, { text: "greece", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/greece.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GR" }, { text: "grenada", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/grenada.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GD" }, { text: "guatemala", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/guatemala.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GT" }, { text: "guinea", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/guinea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GN" }, { text: "guinea_bissau", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/guinea_bissau.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GW" }, { text: "guyana", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/guyana.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GY" }, { text: "haiti", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/haiti.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HT" }, { text: "honduras", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/honduras.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HN" }, { text: "hungary", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/hungary.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HU" }, { text: "iceland", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/iceland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IS" }, { text: "india", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/india.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IN" }, { text: "indonesia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/indonesia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ID" }, { text: "iran", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/iran.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IR" }, { text: "iraq", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/iraq.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IQ" }, { text: "ireland", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/ireland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IE" }, { text: "israel", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/israel.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IL" }, { text: "italy", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/italy.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IT" }, { text: "jamaica", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/jamaica.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "JM" }, { text: "japan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/japan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "jp" }, { text: "jordan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/jordan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "JO" }, { text: "kap_verde", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kap_verde.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CV" }, { text: "kazakhstan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kazakhstan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KZ" }, { text: "kenya", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kenya.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KE" }, { text: "kiribati", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kiribati.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KI" }, { text: "kosovo", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kosovo.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "XK" }, { text: "kuwait", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kuwait.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KW" }, { text: "kyrgyzstan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/kyrgyzstan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KG" }, { text: "laos", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/laos.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LA" }, { text: "latvia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/latvia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LV" }, { text: "lebanon", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/lebanon.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LB" }, { text: "lesotho", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/lesotho.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ls" }, { text: "liberia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/liberia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LR" }, { text: "libya", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/libya.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LY" }, { text: "liechtenstein", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/liechtenstein.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LI" }, { text: "lithuania", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/lithuania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LT" }, { text: "luxembourg", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/luxembourg.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "U" }, { text: "macedonia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/macedonia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MK" }, { text: "madagascar", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/madagascar.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MG" }, { text: "malawi", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/malawi.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MW" }, { text: "malaysia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/malaysia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MY" }, { text: "maldives", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/maldives.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MV" }, { text: "mali", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mali.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ML" }, { text: "malta", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/malta.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MT" }, { text: "marshall_islands", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/marshall_islands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MH" }, { text: "mauritania", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mauritania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MR" }, { text: "mauritius", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mauritius.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MU" }, { text: "mexico", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mexico.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MX" }, { text: "micronesia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/micronesia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FM" }, { text: "moldova", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/moldova.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MD" }, { text: "monaco", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/monaco.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MC" }, { text: "mongolia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mongolia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MN" }, { text: "montenegro", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/montenegro.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ME" }, { text: "morocco", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/morocco.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MA" }, { text: "mozambique", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/mozambique.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MZ" }, { text: "myanmar", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/myanmar.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MM" }, { text: "namibia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/namibia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "A" }, { text: "nauru", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/nauru.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NR" }, { text: "nepal", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/nepal.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "np" }, { text: "netherlands", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/netherlands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NL" }, { text: "new_zealand", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/new_zealand.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NZ" }, { text: "nicaragua", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/nicaragua.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NI" }, { text: "niger", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/niger.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NE" }, { text: "nigeria", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/nigeria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NG" }, { text: "niue", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/niue.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NU" }, { text: "north_korea", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/north_korea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KP" }, { text: "norway", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/norway.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NO" }, { text: "oman", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/oman.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "OM" }, { text: "pakistan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/pakistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PK" }, { text: "palau", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/palau.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PW" }, { text: "palestine", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/palestine.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PS" }, { text: "panama", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/panama.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PA" }, { text: "papua_new_guinea", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/papua_new_guinea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PG" }, { text: "paraguay", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/paraguay.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PY" }, { text: "peru", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/peru.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PE" }, { text: "philippines", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/philippines.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PH" }, { text: "poland", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/poland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PL" }, { text: "portugal", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/portugal.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PT" }, { text: "qatar", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/qatar.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "QA" }, { text: "republic_of_the_congo", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/republic_of_the_congo.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CD" }, { text: "romania", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/romania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RO" }, { text: "russian_federation", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/russian_federation.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RU" }, { text: "rwanda", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/rwanda.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RW" }, { text: "saint_kitts_and_nevis", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/saint_kitts_and_nevis.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KN" }, { text: "saint_lucia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/saint_lucia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LC" }, { text: "saint_vicent_and_the_grenadines", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/saint_vicent_and_the_grenadines.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VC" }, { text: "samoa", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/samoa.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "WS" }, { text: "san_marino", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/san_marino.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SM" }, { text: "sao_tome_and_principe", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/sao_tome_and_principe.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ST" }, { text: "saudi_arabia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/saudi_arabia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SA" }, { text: "senegal", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/senegal.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SN" }, { text: "serbia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/serbia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RS" }, { text: "seychelles", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/seychelles.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SC" }, { text: "sierra_leone", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/sierra_leone.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SL" }, { text: "singapore", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/singapore.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SG" }, { text: "slovakia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/slovakia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SK" }, { text: "slovenia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/slovenia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "I" }, { text: "soloman_islands", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/soloman_islands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SB" }, { text: "somalia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/somalia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SO" }, { text: "south_africa", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/south_africa.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZA" }, { text: "south_korea", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/south_korea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KR" }, { text: "spain", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/spain.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ES" }, { text: "sri_lanka", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/sri_lanka.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LK" }, { text: "sudan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/sudan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SD" }, { text: "suedsudan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/suedsudan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SS" }, { text: "suriname", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/suriname.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SR" }, { text: "swaziland", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/swaziland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SZ" }, { text: "sweden", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/sweden.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SE" }, { text: "switzerland", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/switzerland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CH" }, { text: "syria", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/syria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SY" }, { text: "tajikistan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/tajikistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TJ" }, { text: "tanzania", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/tanzania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TZ" }, { text: "thailand", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/thailand.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TH" }, { text: "timor_leste", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/timor_leste.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TL" }, { text: "togo", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/togo.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TG" }, { text: "tonga", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/tonga.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TO" }, { text: "trinidad_and_tobago", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/trinidad_and_tobago.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TT" }, { text: "tunesia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/tunesia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TN" }, { text: "turkey", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/turkey.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TR" }, { text: "turkmenistan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/turkmenistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TM" }, { text: "tuvalu", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/tuvalu.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TV" }, { text: "uae", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/uae.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AE" }, { text: "uganda", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/uganda.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UG" }, { text: "ukraine", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/ukraine.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UA" }, { text: "united_kingdom", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/united_kingdom.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GB" }, { text: "united_states_of_america", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/united_states_of_america.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "US" }, { text: "uruguay", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/uruguay.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UY" }, { text: "uzbekistan", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/uzbekistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UZ" }, { text: "vanuatu", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/vanuatu.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VU" }, { text: "vatican_city", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/vatican_city.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VA" }, { text: "venezuela", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/venezuela.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VE" }, { text: "vietnam", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/vietnam.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VN" }, { text: "yemen", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/yemen.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "YE" }, { text: "zambia", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/zambia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZM" }, { text: "zimbabwe", subText: "", imgSrc: "/apps/gsb_zoll_und_post/dist/assets/flags/zimbabwe.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZW" }];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.flatTaxRate = "0.175", t.flatTaxRateUpperLimit = 700, t.flatTaxRateLowerLimit = 45, t.zollTaxLimitNoGift = 150, t.minTaxToPayLowerThreshold = 1, t.minTaxToPayThreshold = 5, t.minZollTaxAmount = "0.3";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ text: "Zyklop", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/zyklop.jpg", description: "<p>Ein Zyklop ist weit hinten im Alphabet</p>", products: [{ text: "Zyklopenbaby", productTags: ["Zyklop", "Baby"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.12", euTax: "0.19", descriptionShort: "<p>Achtung! Kaufen sie keine gefäschlten Zyklopenbabies</p>", description: "<p>Seien Sie misstrauisch bei unverhältnismäßig günstigen Zyklopenbabies. Nachgeahmte oder gefälschte Zyklopenbabies schädigen die heimische Zyklopenwirtschaft und kann Ihre Verdauung gefährden. Daher werden diese Zyklopenbabies beschlagnahmt und geschreddert.</p>" }] }, { text: "Bekleidung", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/bekleidung.jpg", description: "<p>Achten Sie beim Kauf von Bekleidung auf die verwendeten Herstellungsstoffe. Bestimmte Tierarten, z.B. von Krokodilen und Schlangen, sind vom Aussterben bedroht und deshalb geschützt.</p>", products: [{ text: "Bekleidung aus Spinnstoffen", productTags: ["Hose", "Jacke", "Weste", "Shirt", "Schuhe", "Handschuhe", "Kappe", "Mütze", "Kopfbedeckung", "Hut", "StiefelPumps", "Gürtel"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.12", euTax: "0.19", descriptionShort: "<p>Achtung! Kaufen sie keine gefäschlten Markensartikel.</p>", description: "<p>Seien Sie misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gegefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbrauches gefährden. Daher werden diese Produkte beschlagnahmt.</p>" }] }, { text: "Alkohol", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/alkohol.jpg", description: "<p>Achtung! Bei der Einfuhr von Alkohol entstehen ggf. zusätzliche Abgaben. daher kann der Abgabenrechner hier keine weitere Berechnung anbieten.</p>", products: [{ text: "Alkohol", productTags: ["Wein", "Bier", "Likör", "Blue Curacao", "Whisky", "Armagnac", "Brandy", "Grappa", "Whiskey", "Schnaps", "Wodka", "Cherry"], excludeFromCalculation: 1, maxZollTaxAmount: "0", zollTax: "0", euTax: "0", descriptionShort: "<p>Achtung! Bei der Einfuhr von Alkohol entstehen ggf. zusätzliche Abgaben. Daher kann der Abgabenrechner hier keine weitere Berechnung anbieten.</p>", description: "<p>Alkohol und alkoholische Getränke sind in Deutschland verbrauchsteuerpflichtige Waren. Dadurch entstehen bei der Einfuhr abhängig von Menge und Alkoholgehalt neben Zoll und Einfuhrumsatzsteuer noch zusätzliche Abgaben. Bitte informieren Sie sich hierzu beim IWM Zoll.</p>" }] }, { text: "Sammlungsstücke", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/sammlungsstuecke.jpg", description: "<p>Der Zoll kann Antiquitäten nur dann als solche abfertigen, wenn sie nachweislich älter als 100 Jahre sind. Anderenfalls müssen die Waren ihrem Zweck entsprechend verzollt und versteuert werden.</p><p>Viele frei lebende Tier- und Pflanzenarten sind in ihrem Bestand gefährdet oder vom Aussterben bedroht. Daher unterliegen sie strengen Einfuhrbestimmungen. Dies betrifft z.B. auch Antiquitäten aus Elfenbein oder dem Leder oder Fell geschützter Tiere. Auch für Antiquitäten sind Papiere des Bundesamtes für Naturschutz (BfN) bei der Einfuhr erforderlich.</p>", products: [{ text: "Anlagegold", productTags: ["."], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0", euTax: "0", descriptionShort: "<p>Achtung! Bei Gold ist das Gewicht und die Reinheit für die Abgabenberechnung entscheidend.</p>", description: "<p>Gold unterliegt keinen besonderen Beschränkungen bei der Einreise.</p><p>Beachten Sie jedoch, dass für die Berechnung des Wertes von Gold der Materialwert zugrunde gelegt wird. </p>" }, { text: "Armbanduhren", productTags: ["uhr"], excludeFromCalculation: 0, maxZollTaxAmount: "0.8", zollTax: "0.045", euTax: "0.19", descriptionShort: "<p>Achtung! Armbanduhren müssen die europäischen Sicherheitsanforderungen erfüllen. Achten Sie darauf, dass Sie keine gefälschten Markenartikel bestellen und dass kein Leder geschützter Tiere verwendet wurde.</p>", description: "<p>Viele frei lebende Tier- und Pflanzenarten sind in ihrem Bestand gefährdet oder vom Aussterben bedroht. Daher unterliegen sie strengen Einfuhrbestimmungen. Dies betrifft z. B. Uhrenarmbänder aus dem Leder oder Fell geschützter Tiere. Seien Sie außerdem misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Uhren schädigen nicht nur die heimische Wirtschaft, sondern können auch Ihre Gesundheit gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit. Deswegen werden diese Waren vernichtet.</p>" }] }, { text: "Musikinstrumente", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/musikinstrumente.jpg", description: "<p>Minderwertige Musikinstrumente können, z.B. durch scharfe oder spitze Kanten oder durch giftige Inhaltsstoffe, Ihre Gesundheit gefährden. Der Zoll achtet deshalb schon bei der Einfuhr insbesondere auf die Produktsicherheit. Außerdem prüft der Zoll, ob es sich im gefälschte Markenartikel handeln könnte.</p>", products: [{ text: "E-Gitarre", productTags: ["Gitarre"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.037", euTax: "0.19", descriptionShort: "<p>Achtung! E-Gitarren müssen die europäischen Sicherheitsanforderungen erfüllen. Achten Sie darauf, dass Sie keine gefälschten Markenartikel bestellen.</p>", description: "<p>In der EU werden elektronische Geräte nach europäischen Sicherheitsanforderungen entwickelt und hergestellt. Sie erkennen diese u.1. an der CE-Kennzeichnung. Minderwertige Materialien sowie schlechte Verarbeitung können Ihre Gesundheit nachhaltig gefährden.</p><p>Seien Sie außerdem misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware wird bei der Einfuhr vom Zoll beschlagnahmt.</p>" }, { text: "Gitarre, Streich- und Blasinstrumente", productTags: ["Instrument"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.037", euTax: "0.19", descriptionShort: "", description: "" }, { text: "Teile von Musikinstrumenten", productTags: ["Musik"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.027", euTax: "0.19", descriptionShort: "", description: "" }] }, { text: "Haushalt", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/haushalt.jpg", description: "<p>Der Zoll achtet bei der Einfuhr von Haushaltsartikeln, wie Besteck, Geschirr und Küchenutensilien auf die Einhaltung der strengen Vorschriften zur Produktsicherheit. Qualitativ minderwertige Produkte stellen ein enormes Unfallrisiko dar und werden deshalb vom Zoll beschlagnahmt. Außerdem prüft der Zoll, ob es sich um gefälschte Markenartikel handeln könnte.</p>", products: [{ text: "Besteck aus anderen Materialien", productTags: ["Besteck"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.047", euTax: "0.19", descriptionShort: "", description: "" }, { text: "Besteck aus nicht rostendem Stahl", productTags: ["Besteck"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.085", euTax: "0.19", descriptionShort: "", description: "" }, { text: "Geschirr", productTags: ["Geschirr"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.12", euTax: "0.19", descriptionShort: "<p>Achtung! Gefälschte Markenware kann beschlagnahmt werden!</p>", description: "<p>Nachgehmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit. Seien Sie misstrauisch bei unverhältnismäßig günstigen Markenprodukten.</p>" }, { text: "Haushaltstextilien", productTags: ["Textilien"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.12", euTax: "0.19", descriptionShort: "<p>Achtung! Gefälschte Textilien können beschlagnahmt werden!</p>", description: "<p>Seien Si misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgehmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung können Textilien mit giftigen Rückständen belastet sein.</p>" }, { text: "Messer", productTags: ["Messer"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.085", euTax: "0.19", descriptionShort: "<p>Achtung! Messer müssen die europäischen Sicherheitsanforderungen erfüllen.</p>", description: "<p>In der EU werden Messer nach europäischen Sicherheitsanforderungen entwickelt und hergestellt. Sichere Produkte erkennen sie u.a. an der CE-kennzeichnung. Durch minderwertige Materialien und schlechte Verarbeitung besteht hier erhöhte Vrletzungsgefahr. daher werden solche Waren vernichtet.</p>" }, { text: "Schere", productTags: ["Schere"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0.042", euTax: "0.19", descriptionShort: "<p>Achtung! Scheren müssen die europäischen Sicherheitsanforderungen erfüllen.</p>", description: "<p>Achten Sie beim Kauf auf vorhandene Sicherheitsmerkmale, wie die CE-Kennzeichnung. Fahlen diese, entsprechen die Scheren nicht den eurpäischen Sicherheitsanforderungen. Minderwertige Materialen und schlechte Verarbeitung können Ihre Gesundheit nachhaltig gefährden. daher werden solche Waren vernichtet.</p>" }] }, { text: "Kunstgegenstände", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_post/dist/assets/hdpi/kunstgegenstaende.jpg", description: "<p>Kunstgegenstände aus Materialien geschützter Tier- oder Pflanzenarten wie Elfenbein oder Tropenhölzern dürfen nur eingeführt werden, wenn die erforderlichen Artenschutzdokumente vorgelegt werden. Informieren Sie sich hierzu beim Bundesamt für Naturschutz (www.bfn.de).</p>", products: [{ text: "Gemälde", productTags: ["Bild"], excludeFromCalculation: 0, maxZollTaxAmount: "0", zollTax: "0", euTax: "0.07", descriptionShort: "<p>Achtung! Gefälschte Markenware kann beschlagnahmt werden!</p>", description: "<p>Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit. Seien Sie misstrauisch bei unverhältnismäßig günstigen Markenprodukten.</p>" }] }];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ exchangeRate: "0.0001", name: "Zyklopengold (ZLG)", iso2: "ZL" }, { exchangeRate: "4.00800", name: "Brasilianischer Real (BRL)", iso2: "BR" }, { exchangeRate: "1.56840", name: "Australischer Dollar (AUD)", iso2: "AU" }, { exchangeRate: "1.0", name: "Euro (EUR)", iso2: "EU" }, { exchangeRate: "1.95580", name: "Lew (BGN)", iso2: "BG" }, { exchangeRate: "1.56010", name: "Kanadischer Dollar (CAD)", iso2: "CA" }, { exchangeRate: "1.15510", name: "Schweizer Franken (CHF)", iso2: "CH" }, { exchangeRate: "7.81120", name: "Renminbi Yuan (CNY)", iso2: "CN" }, { exchangeRate: "25.3610", name: "Tschechische Krone (CZK)", iso2: "CZ" }, { exchangeRate: "7.44650", name: "Dänische Krone (DKK)", iso2: "DK" }, { exchangeRate: "0.884630", name: "Pfund Sterling (GBP)", iso2: "GB" }, { exchangeRate: "9.63410", name: "Hongkong-Dollar (HKD)", iso2: "HK" }, { exchangeRate: "7.44150", name: "Kuna (HRK)", iso2: "HR" }, { exchangeRate: "312.150", name: "Forint (HUF)", iso2: "HU" }, { exchangeRate: "16757.86", name: "Indonesische Rupiah (IDR)", iso2: "ID" }, { exchangeRate: "4.30720", name: "Neuer Schekel (ILS)", iso2: "IL" }, { exchangeRate: "79.7295", name: "Indische Rupie (INR)", iso2: "IN" }, { exchangeRate: "123.900", name: "Isländische Krone (ISK)", iso2: "IS" }, { exchangeRate: "132.410", name: "Yen (JPY)", iso2: "JP" }, { exchangeRate: "1322.02", name: "Südkoreanischer Won (KRW)", iso2: "KR" }, { exchangeRate: "23.0516", name: "Mexikanischer Peso (MXN)", iso2: "MX" }, { exchangeRate: "4.81740", name: "Malaysischer Ringit (MYR)", iso2: "MY" }, { exchangeRate: "9.64200", name: "Norwegische Krone (NOK)", iso2: "NO" }, { exchangeRate: "1.67540", name: "Neuseeland-Dollar (NZD)", iso2: "NZ" }, { exchangeRate: "64.2290", name: "Philippinischer Peso (PHP)", iso2: "PH" }, { exchangeRate: "4.15890", name: "Zloty (PLN)", iso2: "PL" }, { exchangeRate: "4.66150", name: "Leu (RON)", iso2: "RO" }, { exchangeRate: "69.6656", name: "Rubel (RUB)", iso2: "RU" }, { exchangeRate: "9.96480", name: "Schwedische Krone (SEK)", iso2: "SE" }, { exchangeRate: "1.62670", name: "Singapur-Dollar (SGD)", iso2: "SG" }, { exchangeRate: "38.7830", name: "Baht (THB)", iso2: "TH" }, { exchangeRate: "4.66500", name: "Türkische Lira (TRY)", iso2: "TR" }, { exchangeRate: "1.23120", name: "US-Dollar (USD)", iso2: "US" }, { exchangeRate: "14.3373", name: "Rand (ZAR)", iso2: "ZA" }, { exchangeRate: "21.98525", name: "Ägyptisches Pfund (EGP)", iso2: "EG" }, { exchangeRate: "133.44", name: "Lek (ALL)", iso2: "AL" }, { exchangeRate: "141.1977", name: "Algerischer Dinar (DZD)", iso2: "DZ" }, { exchangeRate: "24.33055", name: "Argentinischer Peso (ARS)", iso2: "AR" }, { exchangeRate: "598.95", name: "Dram (AMD)", iso2: "AM" }, { exchangeRate: "2.1116", name: "Aserbaidschan-Manat (AZN)", iso2: "AZ" }, { exchangeRate: "0.46944", name: "Bahrain-Dinar (BHD)", iso2: "BH" }, { exchangeRate: "102.9701", name: "Taka (BDT)", iso2: "BD" }, { exchangeRate: "8.6078", name: "Boliviano (BOB)", iso2: "BO" }, { exchangeRate: "655.957", name: "CFA-Franc (XOF)", iso2: "BF" }, { exchangeRate: "749.62", name: "Chilenischer Peso (CLP)", iso2: "CL" }, { exchangeRate: "3.1016", name: "Lari (GEL)", iso2: "GE" }, { exchangeRate: "5.51305", name: "Ghana-Cedi (GHS)", iso2: "GH" }, { exchangeRate: "1539.065", name: "Irak-Dinar (IQD)", iso2: "IQ" }, { exchangeRate: "45906.00", name: "Rial (IRR)", iso2: "IR" }, { exchangeRate: "0.881255", name: "Jordan-Dinar (JOD)", iso2: "JO" }, { exchangeRate: "655.957", name: "CFA-Franc (XAF)", iso2: "CM" }, { exchangeRate: "399.81", name: "Tenge (KZT)", iso2: "KZ" }, { exchangeRate: "4.53435", name: "Katar-Riyal (QAR)", iso2: "QA" }, { exchangeRate: "127.23915", name: "Kenia-Schilling (KES)", iso2: "KE" }, { exchangeRate: "84.6908", name: "Kirgisistan-Som (KGS)", iso2: "KG" }, { exchangeRate: "3542.945", name: "Kolumbianischer Peso (COP)", iso2: "CO" }, { exchangeRate: "1996.3552", name: "Kongo-Franc (CDF)", iso2: "CD" }, { exchangeRate: "127.85", name: "Nordkoreanischer Won (KPW)", iso2: "KP" }, { exchangeRate: "0.373624", name: "Kuwait-Dinar (KWD)", iso2: "KW" }, { exchangeRate: "1877.89", name: "Libanesisches Pfund (LBP)", iso2: "LB" }, { exchangeRate: "1.6504", name: "Libyscher Dinar (LYD)", iso2: "LY" }, { exchangeRate: "901.41625", name: "Malawi-Kwacha (MWK)", iso2: "MW" }, { exchangeRate: "11.3385", name: "Marokkanischer Dirham (MAD)", iso2: "MA" }, { exchangeRate: "40.47355", name: "Mauritius-Rupie (MUR)", iso2: "MU" }, { exchangeRate: "20.7906", name: "Moldau-Leu (MDL)", iso2: "MD" }, { exchangeRate: "14.8558", name: "Namibia-Dollar (NAD)", iso2: "NA" }, { exchangeRate: "126.545", name: "Nepalesische Rupie (NPR)", iso2: "NP" }, { exchangeRate: "380.24865", name: "Naira (NGN)", iso2: "NG" }, { exchangeRate: "137.365", name: "Pakistanische Rupie (PKR)", iso2: "PK" }, { exchangeRate: "4.0275", name: "Neuer Sol (PEN)", iso2: "PE" }, { exchangeRate: "4.65695", name: "Saudi Riyal (SAR)", iso2: "SA" }, { exchangeRate: "118.7428", name: "Serbischer Dinar (RSD)", iso2: "XS" }, { exchangeRate: "190.26", name: "Sri-Lanka-Rupie (LKR)", iso2: "LK" }, { exchangeRate: "14.8485", name: "Lilangeni (SZL)", iso2: "SZ" }, { exchangeRate: "542.30", name: "Syrisches Pfund (SYP)", iso2: "SY" }, { exchangeRate: "10.9653", name: "Somoni (TJS)", iso2: "TJ" }, { exchangeRate: "36.24", name: "Neuer Taiwan-Dollar (TWD)", iso2: "TW" }, { exchangeRate: "2.9452", name: "Tunesischer Dinar (TND)", iso2: "TN" }, { exchangeRate: "4.3337", name: "Turkmenistan-Manat (TMT)", iso2: "TM" }, { exchangeRate: "4480.575", name: "Uganda-Schilling (UGX)", iso2: "UG" }, { exchangeRate: "34.789719", name: "Griwna (UAH)", iso2: "UA" }, { exchangeRate: "10146.13", name: "Usbekistan-Sum (UZS)", iso2: "UZ" }, { exchangeRate: "4.574833", name: "VAE-Dirham (AED)", iso2: "AE" }, { exchangeRate: "28252.875", name: "Dong (VND)", iso2: "VN" }, { exchangeRate: "2.4514", name: "Belarus-Rubel (BYN)", iso2: "BY" }];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ text: "Artenschutz", imgSrc: "artenschutz.jpg", description: "Der illegale Handel mit exotischen Tier- und Pflanzenarten ist ein einträgliches Geschäft, allerdings mit dramatischen Folgen. Viele frei lebende Tier- und Pflanzenarten sind in ihrem Bestand gefährdet oder vom Aussterben bedroht. Daher unterliegen sie strengen Einfuhrbestimmungen. Hiermit soll weltweit ein Aussterben von seltenen Tierarten verhindert werden. Der Zoll wirkt bei der Überwachung der Einhaltung der gesetzlichen Regelungen zum Schutz der Artenvielfalt im internationalen Warenverkehr mit. Der Zoll beschlagnahmt geschützte Arten oder Erzeugnisse daraus, die verbotenerweise bzw. ohne die erforderlichen Dokumente eingeführt werden. Dies betrifft z.B. auch Schuhe, Bekleidung oder andere Waren mit dem Leder oder Fell geschützter Tiere sowie Lebensmittel, Arzneimittel oder Nahrungsergänzungsmittel, die aus geschützten Arten hergestellt wurden." }, { text: "Arzneimittel", imgSrc: "arzneimittel.jpg", description: "Der Verkehr mit Arzneimitteln und Betäubungsmitteln unterliegt in Deutschland zum Schutz der  Bevölkerung vor gesundheitlichen Schäden und zur Bekämpfung des illegalen Handels mit Drogen strengen Vorschriften.<br><br>Bei der Einreise oder Wiedereinreise nach Deutschland dürfen Arzneimittel in Mengen, die dem üblichen persönlichen Bedarf von Reisenden  entsprechen, eingeführt werden. Als üblicher persönlicher Bedarf werden Mengen von bis zu 3-Monats-Rationen angesehen.<br><br> Es gibt jedoch auch Arzneimittel, die selbst für den eigenen Bedarf von Reisenden nicht nach Deutschland verbracht werden dürfen. Hierunter fallen:<br><ul><li>gefälschte Arzneimittel oder</li><li>besonders gefährliche und häufig im Doping verwendete Stoffe, die in der Anlage zum Anti-Doping-Gesetz (z.B. Testosteron, Nandrolon, Clenbuterol) aufgelistet sind.</li></ul>Besondere Bestimmungen sind für Arzneimittel zu beachten, die unter das Betäubungsmittelgesetz fallen (z.B. Morphin) und damit einer besonderen Verschreibung nach dem Betäubungsmittelrecht durch den behandelnden Arzt bedürfen. Die aufgrund dieser ärztlichen Verschreibung für den eigenen Bedarf erworbenen Betäubungsmittel darf ein Reisender in der für die Dauer der Reise angemessenen Menge aus Deutschland ausführen oder nach Deutschland einführen. Bitte beachten Sie, dass in diesen Fällen eine vom behandelnden Arzt ausgefüllte Bescheinigung mitgeführt wird." }, { text: "Lebens- und Futtermittel", imgScr: "lebens_und_futtermittel.jpg", description: 'Die hygienischen Standards für Herstellung und Verkehr von Lebensmitteln sind weltweit höchst unterschiedlich. Viele Produkte können gesundheitsgefährdend sein.<br><br>Die Einfuhr bestimmter Produkte nach Deutschland kann daher  aufgrund spezieller Regelungen beschränkt oder sogar generell verboten sein. Dies sind zum Beispiel:<br><br><b>Wildpilze</b><br> Speisepilze bis zu einer Menge von zwei Kilogramm, die zum privaten Verbrauch bestimmt sind, können ohne Einschränkungen eingeführt werden. <br><br><b>Kartoffeln</b><br> Die Einfuhr von Kartoffeln, auch in geringen Mengen, ist im Reiseverkehr wegen der Gefahr der Verbreitung der bakteriellen Ringfäule grundsätzlich verboten.<br><br><b>Kaviar vom Stör</b> <br> Für die Ein- oder Ausfuhr von Kaviar zum persönlichen Gebrauch wird eine Freimenge von 125 Gramm je Person in einzeln gekennzeichneten Behältern gewährt. <br><br><b>Nahrungsergänzungsmittel</b> <br> Bestimmte Nahrungsergänzungsmittel oder Vitaminpräparate können in Deutschland als Arzneimittel gelten und unterliegen damit dem Arzneimittelgesetz. <br><br><b>Lebens- und Futtermittel tierischer Herkunft</b><br>  Für diese Waren bestehen insbesondere aus tierseuchenrechtlichen Gründen weitere Einschränkungen. Zu diesen Waren gehören zum Beispiel Fleisch und Fleischerzeugnisse, Wild, Milch und Milcherzeugnisse sowie Eier.<br><br>Die Einfuhr von Lebens- und Futtermitteln, die zum eigenen Gebrauch oder Verbrauch des Empfängers bestimmt sind, ist grundsätzlich zulässig. Werden jedoch zulässige Höchstmengen überschritten, so ist deren Einfuhr nur mit den jeweils vorgeschriebenen Bescheinigungen zulässig.<br><br> Bitte informieren Sie sich rechtzeitig vor Ihrer Reise über die rechtlichen Bestimmungen auf www.zoll.de oder beim Informations- und Wissensmanagement des Zolls (mehr unter Kontakt im Bereich ""Zoll & App"").' }, { text: "Produktpiraterie", imgSrc: "produktpiraterie.jpg", description: "Oft wird Ihnen durch nachgeahmte oder gefälschte Markenzeichen eine vermeintliche hohe Qualität vorgetäuscht. Die Fälscher erzielen dabei durch minderwertige Produkte hohe Gewinne - auf Ihr Risiko! Marken- und Produktpiraterie schädigt zudem die heimische Wirtschaft, die hohe Beträge in Entwicklung und Forschung steckt. Gefälschte Produkte können auch Ihre Gesundheit gefährden: Durch fehlende Kontrollen bei der Herstellung der Fälschungen, besteht keine Garantie auf Produktsicherheit. Seien Sie daher misstrauisch bei unverhältnismäßig günstigen Markenprodukten oder offensichtlichen Fehlern in der Produktbezeichnung. Informieren Sie sich schon vor dem Kauf beim Hersteller über Echtheitsmerkmale, wie z.B. Wasserzeichen." }, { text: "Verbrauchsteuerpflichtige Ware", imgSrc: "verbrauchsteuerpflichtige_ware.jpg", description: '"Günstigen Kaffee, Alkohol oder Tabak aus dem Ausland mitbringen? Innerhalb der Freimengen ist das kein Problem. Nutzen Sie hierfür unseren Freimengenrechner oder informieren Sie sich vor Ihrer Reise auf www.zoll.de oder beim Informations- und Wissensmanagement des Zolls (mehr unter Kontakt im Bereich ""Zoll & App"").<br><br>Hinweis: Aus den EU-Ländern Bulgarien, Kroatien, Lettland, Litauen, Ungarn oder Rumänien dürfen Sie bis zum 31. Dezember 2017 nur 300 Stück Zigaretten mitbringen."' }, { text: "Verfassungswidrige / jugendgefährdende Schriften/Medien", imgSrc: "verfassungswidrige_jugendgefaehrdende_schriften.jpg", description: '"In Deutschland ist die Meinungsfreiheit ein hohes Gut. Dennoch überwacht der Zoll zum Schutz der öffentlichen Ordnung und Sittlichkeit Einfuhren von Schriften oder Medien mit jugendgefährdenden oder verfassungswidrigen Inhalten nach Deutschland.<br><br>Dazu zählen Veröffentlichungen mit unsittlichem oder zu Gewalttätigkeit, Verbrechen oder Rassenhass aufstachelndem Inhalt und Schriften, die somit gegen geschützte Rechtsgüter verstoßen. Verboten sind beispielsweise Propagandamittel wie Filme, die aggressiv gegen die freiheitliche demokratische Grundordnung oder den Gedanken der Völkerverständigung wirken."' }, { text: "Waffen und Munition", imgSrc: "waffen_munition.jpg", description: '"Zum Schutz der öffentlichen Sicherheit und Ordnung sind die Einfuhr und der Umgang mit Waffen oder Munition streng geregelt. Die meisten Waffen und Munition dürfen grundsätzlich nicht ohne Berechtigungen, wie beispielsweise eine Waffenbesitzkarte, mitgeführt werden. Die Mitnahme oder das Verbringen von Waffen und Munition bedarf daher in der Regel einer Erlaubnis.<br><br>Bedenken Sie bitte, dass manche im Ausland frei verkäufliche, tragbare Gegenstände (z.B. Soft-Air-Waffen, Schlagringe, Butterflymesser, Nunchakus) nach dem deutschen Waffengesetz verboten sind. Bitte informieren Sie sich rechtzeitig bei den waffenrechtlich zuständigen Behörden. Eine Übersicht finden Sie hier: <a href="https://www.zoll.de/SharedDocs/Boxen/DE/Fragen/0049_waffenrechtlich_zustaendige_verwaltungsbehoerden.html?nn=17772">https://www.zoll.de/SharedDocs/Boxen/DE/Fragen/0049_waffenrechtlich_zustaendige_verwaltungsbehoerden.html?nn=17772</a> ' }];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = n(13),u = l(n(4)),s = l(n(16));function l(e) {return e && e.__esModule ? e : { default: e };}function c(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function f(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return c(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.navTargets,a = e.texts;return i.default.createElement("div", { className: "mainMenu" }, i.default.createElement(u.default, { preventFocus: !0, preventIconDummy: !0, texts: a.title, htmlTextWrapping: o.TITLE_TEXT_WRAPPING_H1 }), i.default.createElement("div", { className: "buttonWrapper" }, i.default.createElement(s.default, { appId: t, className: "c-button", dataParam: r.calculator, functions: { handleScreenChange: n.handleScreenChange }, texts: a.buttons.calculator }), i.default.createElement(s.default, { appId: t, className: "c-button", texts: a.buttons.catalog, functions: { handleScreenChange: n.handleScreenChange }, dataParam: r.catalog })));} }]), t;}(i.default.Component);d.propTypes = { appId: a.default.string.isRequired, functions: a.default.exact({ handleScreenChange: a.default.func.isRequired }).isRequired, navTargets: a.default.exact({ calculator: a.default.string.isRequired, catalog: a.default.string.isRequired }).isRequired, texts: a.default.exact({ buttons: a.default.exact({ calculator: a.default.exact({ h: a.default.string.isRequired, text: a.default.string.isRequired }).isRequired, catalog: a.default.exact({ h: a.default.string.isRequired, text: a.default.string.isRequired }).isRequired }).isRequired, title: a.default.exact({ text: a.default.string.isRequired, iconButton: a.default.string, iconButtonAltText: a.default.string }).isRequired }).isRequired }, t.default = d;}, function (e, t, n) {"use strict";var r = n(134);function i() {}function a() {}a.resetWarningCache = i, e.exports = function () {function e(e, t, n, i, a, o) {if (o !== r) {var u = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name = "Invariant Violation", u;}}function t() {return e;}e.isRequired = e;var n = { array: e, bigint: e, bool: e, func: e, number: e, object: e, string: e, symbol: e, any: e, arrayOf: t, element: e, elementType: e, instanceOf: t, node: e, objectOf: t, oneOf: t, oneOfType: t, shape: t, exact: t, checkPropTypes: a, resetWarningCache: i };return n.PropTypes = n, n;};}, function (e, t, n) {"use strict";e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return "text" === e.type && /\r?\n/.test(e.data) && "" === e.data.trim();};}, function (e, t, n) {"use strict";var r;Object.defineProperty(t, "__esModule", { value: !0 });var i = n(23),a = l(n(160)),o = l(n(161)),u = l(n(167)),s = l(n(168));function l(e) {return e && e.__esModule ? e : { default: e };}function c(e, t, n) {return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;}t.default = (c(r = {}, i.ElementType.Text, a.default), c(r, i.ElementType.Tag, o.default), c(r, i.ElementType.Style, u.default), c(r, i.ElementType.Directive, s.default), c(r, i.ElementType.Comment, s.default), c(r, i.ElementType.Script, s.default), c(r, i.ElementType.CDATA, s.default), c(r, i.ElementType.Doctype, s.default), r);}, function (e) {e.exports = JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}');}, function (e, t, n) {"use strict";var r,i = "object" == typeof Reflect ? Reflect : null,a = i && "function" == typeof i.apply ? i.apply : function (e, t, n) {return Function.prototype.apply.call(e, t, n);};r = i && "function" == typeof i.ownKeys ? i.ownKeys : Object.getOwnPropertySymbols ? function (e) {return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));} : function (e) {return Object.getOwnPropertyNames(e);};var o = Number.isNaN || function (e) {return e != e;};function u() {u.init.call(this);}e.exports = u, e.exports.once = function (e, t) {return new Promise(function (n, r) {function i(n) {e.removeListener(t, a), r(n);}function a() {"function" == typeof e.removeListener && e.removeListener("error", i), n([].slice.call(arguments));}v(e, t, a, { once: !0 }), "error" !== t && function (e, t, n) {"function" == typeof e.on && v(e, "error", t, n);}(e, i, { once: !0 });});}, u.EventEmitter = u, u.prototype._events = void 0, u.prototype._eventsCount = 0, u.prototype._maxListeners = void 0;var s = 10;function l(e) {if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e);}function c(e) {return void 0 === e._maxListeners ? u.defaultMaxListeners : e._maxListeners;}function f(e, t, n, r) {var i, a, o, u;if (l(n), void 0 === (a = e._events) ? (a = e._events = Object.create(null), e._eventsCount = 0) : (void 0 !== a.newListener && (e.emit("newListener", t, n.listener ? n.listener : n), a = e._events), o = a[t]), void 0 === o) o = a[t] = n, ++e._eventsCount;else if ("function" == typeof o ? o = a[t] = r ? [n, o] : [o, n] : r ? o.unshift(n) : o.push(n), (i = c(e)) > 0 && o.length > i && !o.warned) {o.warned = !0;var s = new Error("Possible EventEmitter memory leak detected. " + o.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit");s.name = "MaxListenersExceededWarning", s.emitter = e, s.type = t, s.count = o.length, u = s, console && console.warn && console.warn(u);}return e;}function d() {if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);}function p(e, t, n) {var r = { fired: !1, wrapFn: void 0, target: e, type: t, listener: n },i = d.bind(r);return i.listener = n, r.wrapFn = i, i;}function h(e, t, n) {var r = e._events;if (void 0 === r) return [];var i = r[t];return void 0 === i ? [] : "function" == typeof i ? n ? [i.listener || i] : [i] : n ? function (e) {for (var t = new Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n];return t;}(i) : m(i, i.length);}function g(e) {var t = this._events;if (void 0 !== t) {var n = t[e];if ("function" == typeof n) return 1;if (void 0 !== n) return n.length;}return 0;}function m(e, t) {for (var n = new Array(t), r = 0; r < t; ++r) n[r] = e[r];return n;}function v(e, t, n, r) {if ("function" == typeof e.on) r.once ? e.once(t, n) : e.on(t, n);else {if ("function" != typeof e.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof e);e.addEventListener(t, function i(a) {r.once && e.removeEventListener(t, i), n(a);});}}Object.defineProperty(u, "defaultMaxListeners", { enumerable: !0, get: function () {return s;}, set: function (e) {if ("number" != typeof e || e < 0 || o(e)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + e + ".");s = e;} }), u.init = function () {void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;}, u.prototype.setMaxListeners = function (e) {if ("number" != typeof e || e < 0 || o(e)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e + ".");return this._maxListeners = e, this;}, u.prototype.getMaxListeners = function () {return c(this);}, u.prototype.emit = function (e) {for (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);var r = "error" === e,i = this._events;if (void 0 !== i) r = r && void 0 === i.error;else if (!r) return !1;if (r) {var o;if (t.length > 0 && (o = t[0]), o instanceof Error) throw o;var u = new Error("Unhandled error." + (o ? " (" + o.message + ")" : ""));throw u.context = o, u;}var s = i[e];if (void 0 === s) return !1;if ("function" == typeof s) a(s, this, t);else {var l = s.length,c = m(s, l);for (n = 0; n < l; ++n) a(c[n], this, t);}return !0;}, u.prototype.addListener = function (e, t) {return f(this, e, t, !1);}, u.prototype.on = u.prototype.addListener, u.prototype.prependListener = function (e, t) {return f(this, e, t, !0);}, u.prototype.once = function (e, t) {return l(t), this.on(e, p(this, e, t)), this;}, u.prototype.prependOnceListener = function (e, t) {return l(t), this.prependListener(e, p(this, e, t)), this;}, u.prototype.removeListener = function (e, t) {var n, r, i, a, o;if (l(t), void 0 === (r = this._events)) return this;if (void 0 === (n = r[e])) return this;if (n === t || n.listener === t) 0 == --this._eventsCount ? this._events = Object.create(null) : (delete r[e], r.removeListener && this.emit("removeListener", e, n.listener || t));else if ("function" != typeof n) {for (i = -1, a = n.length - 1; a >= 0; a--) if (n[a] === t || n[a].listener === t) {o = n[a].listener, i = a;break;}if (i < 0) return this;0 === i ? n.shift() : function (e, t) {for (; t + 1 < e.length; t++) e[t] = e[t + 1];e.pop();}(n, i), 1 === n.length && (r[e] = n[0]), void 0 !== r.removeListener && this.emit("removeListener", e, o || t);}return this;}, u.prototype.off = u.prototype.removeListener, u.prototype.removeAllListeners = function (e) {var t, n, r;if (void 0 === (n = this._events)) return this;if (void 0 === n.removeListener) return 0 === arguments.length ? (this._events = Object.create(null), this._eventsCount = 0) : void 0 !== n[e] && (0 == --this._eventsCount ? this._events = Object.create(null) : delete n[e]), this;if (0 === arguments.length) {var i,a = Object.keys(n);for (r = 0; r < a.length; ++r) "removeListener" !== (i = a[r]) && this.removeAllListeners(i);return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this;}if ("function" == typeof (t = n[e])) this.removeListener(e, t);else if (void 0 !== t) for (r = t.length - 1; r >= 0; r--) this.removeListener(e, t[r]);return this;}, u.prototype.listeners = function (e) {return h(this, e, !0);}, u.prototype.rawListeners = function (e) {return h(this, e, !1);}, u.listenerCount = function (e, t) {return "function" == typeof e.listenerCount ? e.listenerCount(t) : g.call(e, t);}, u.prototype.listenerCount = g, u.prototype.eventNames = function () {return this._eventsCount > 0 ? r(this._events) : [];};}, function (e, t, n) {var r = n(79),i = e.exports = Object.create(r),a = { tagName: "name" };Object.keys(a).forEach(function (e) {var t = a[e];Object.defineProperty(i, e, { get: function () {return this[t] || null;}, set: function (e) {return this[t] = e, e;} });});}, function (e, t, n) {var r = n(78),i = n(80);function a(e, t) {this.init(e, t);}function o(e, t) {return i.getElementsByTagName(e, t, !0);}function u(e, t) {return i.getElementsByTagName(e, t, !0, 1)[0];}function s(e, t, n) {return i.getText(i.getElementsByTagName(e, t, n, 1)).trim();}function l(e, t, n, r, i) {var a = s(n, r, i);a && (e[t] = a);}n(31)(a, r), a.prototype.init = r;var c = function (e) {return "rss" === e || "feed" === e || "rdf:RDF" === e;};a.prototype.onend = function () {var e,t,n = {},i = u(c, this.dom);i && ("feed" === i.name ? (t = i.children, n.type = "atom", l(n, "id", "id", t), l(n, "title", "title", t), (e = u("link", t)) && (e = e.attribs) && (e = e.href) && (n.link = e), l(n, "description", "subtitle", t), (e = s("updated", t)) && (n.updated = new Date(e)), l(n, "author", "email", t, !0), n.items = o("entry", t).map(function (e) {var t,n = {};return l(n, "id", "id", e = e.children), l(n, "title", "title", e), (t = u("link", e)) && (t = t.attribs) && (t = t.href) && (n.link = t), (t = s("summary", e) || s("content", e)) && (n.description = t), (t = s("updated", e)) && (n.pubDate = new Date(t)), n;})) : (t = u("channel", i.children).children, n.type = i.name.substr(0, 3), n.id = "", l(n, "title", "title", t), l(n, "link", "link", t), l(n, "description", "description", t), (e = s("lastBuildDate", t)) && (n.updated = new Date(e)), l(n, "author", "managingEditor", t, !0), n.items = o("item", i.children).map(function (e) {var t,n = {};return l(n, "id", "guid", e = e.children), l(n, "title", "title", e), l(n, "link", "link", e), l(n, "description", "description", e), (t = s("pubDate", e)) && (n.pubDate = new Date(t)), n;}))), this.dom = n, r.prototype._handleCallback.call(this, i ? null : Error("couldn't find root of feed"));}, e.exports = a;}, function (e, t, n) {var r = n(24),i = n(142),a = r.isTag;e.exports = { getInnerHTML: function (e, t) {return e.children ? e.children.map(function (e) {return i(e, t);}).join("") : "";}, getOuterHTML: i, getText: function e(t) {return Array.isArray(t) ? t.map(e).join("") : a(t) || t.type === r.CDATA ? e(t.children) : t.type === r.Text ? t.data : "";} };}, function (e, t, n) {var r = n(24),i = n(143),a = { __proto__: null, style: !0, script: !0, xmp: !0, iframe: !0, noembed: !0, noframes: !0, plaintext: !0, noscript: !0 };var o = { __proto__: null, area: !0, base: !0, basefont: !0, br: !0, col: !0, command: !0, embed: !0, frame: !0, hr: !0, img: !0, input: !0, isindex: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 },u = e.exports = function (e, t) {Array.isArray(e) || e.cheerio || (e = [e]), t = t || {};for (var n = "", i = 0; i < e.length; i++) {var a = e[i];"root" === a.type ? n += u(a.children, t) : r.isTag(a) ? n += s(a, t) : a.type === r.Directive ? n += l(a) : a.type === r.Comment ? n += d(a) : a.type === r.CDATA ? n += f(a) : n += c(a, t);}return n;};function s(e, t) {"svg" === e.name && (t = { decodeEntities: t.decodeEntities, xmlMode: !0 });var n = "<" + e.name,r = function (e, t) {if (e) {var n,r = "";for (var a in e) r && (r += " "), r += a, (null !== (n = e[a]) && "" !== n || t.xmlMode) && (r += '="' + (t.decodeEntities ? i.encodeXML(n) : n) + '"');return r;}}(e.attribs, t);return r && (n += " " + r), !t.xmlMode || e.children && 0 !== e.children.length ? (n += ">", e.children && (n += u(e.children, t)), o[e.name] && !t.xmlMode || (n += "</" + e.name + ">")) : n += "/>", n;}function l(e) {return "<" + e.data + ">";}function c(e, t) {var n = e.data || "";return !t.decodeEntities || e.parent && e.parent.name in a || (n = i.encodeXML(n)), n;}function f(e) {return "<![CDATA[" + e.children[0].data + "]]>";}function d(e) {return "\x3c!--" + e.data + "--\x3e";}}, function (e, t, n) {var r = n(144),i = n(145);t.decode = function (e, t) {return (!t || t <= 0 ? i.XML : i.HTML)(e);}, t.decodeStrict = function (e, t) {return (!t || t <= 0 ? i.XML : i.HTMLStrict)(e);}, t.encode = function (e, t) {return (!t || t <= 0 ? r.XML : r.HTML)(e);}, t.encodeXML = r.XML, t.encodeHTML4 = t.encodeHTML5 = t.encodeHTML = r.HTML, t.decodeXML = t.decodeXMLStrict = i.XML, t.decodeHTML4 = t.decodeHTML5 = t.decodeHTML = i.HTML, t.decodeHTML4Strict = t.decodeHTML5Strict = t.decodeHTMLStrict = i.HTMLStrict, t.escape = r.escape;}, function (e, t, n) {var r = u(n(45)),i = s(r);t.XML = p(r, i);var a = u(n(44)),o = s(a);function u(e) {return Object.keys(e).sort().reduce(function (t, n) {return t[e[n]] = "&" + n + ";", t;}, {});}function s(e) {var t = [],n = [];return Object.keys(e).forEach(function (e) {1 === e.length ? t.push("\\" + e) : n.push(e);}), n.unshift("[" + t.join("") + "]"), new RegExp(n.join("|"), "g");}t.HTML = p(a, o);var l = /[^\0-\x7F]/g,c = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function f(e) {return "&#x" + e.charCodeAt(0).toString(16).toUpperCase() + ";";}function d(e) {return "&#x" + (1024 * (e.charCodeAt(0) - 55296) + e.charCodeAt(1) - 56320 + 65536).toString(16).toUpperCase() + ";";}function p(e, t) {function n(t) {return e[t];}return function (e) {return e.replace(t, n).replace(c, d).replace(l, f);};}var h = s(r);t.escape = function (e) {return e.replace(h, f).replace(c, d).replace(l, f);};}, function (e, t, n) {var r = n(44),i = n(77),a = n(45),o = n(76),u = l(a),s = l(r);function l(e) {var t = Object.keys(e).join("|"),n = d(e),r = new RegExp("&(?:" + (t += "|#[xX][\\da-fA-F]+|#\\d+") + ");", "g");return function (e) {return String(e).replace(r, n);};}var c = function () {for (var e = Object.keys(i).sort(f), t = Object.keys(r).sort(f), n = 0, a = 0; n < t.length; n++) e[a] === t[n] ? (t[n] += ";?", a++) : t[n] += ";";var o = new RegExp("&(?:" + t.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),u = d(r);function s(e) {return ";" !== e.substr(-1) && (e += ";"), u(e);}return function (e) {return String(e).replace(o, s);};}();function f(e, t) {return e < t ? 1 : -1;}function d(e) {return function (t) {return "#" === t.charAt(1) ? "X" === t.charAt(2) || "x" === t.charAt(2) ? o(parseInt(t.substr(3), 16)) : o(parseInt(t.substr(2), 10)) : e[t.slice(1, -1)];};}e.exports = { XML: u, HTML: c, HTMLStrict: s };}, function (e, t) {var n = t.getChildren = function (e) {return e.children;},r = t.getParent = function (e) {return e.parent;};t.getSiblings = function (e) {var t = r(e);return t ? n(t) : [e];}, t.getAttributeValue = function (e, t) {return e.attribs && e.attribs[t];}, t.hasAttrib = function (e, t) {return !!e.attribs && hasOwnProperty.call(e.attribs, t);}, t.getName = function (e) {return e.name;};}, function (e, t) {t.removeElement = function (e) {if (e.prev && (e.prev.next = e.next), e.next && (e.next.prev = e.prev), e.parent) {var t = e.parent.children;t.splice(t.lastIndexOf(e), 1);}}, t.replaceElement = function (e, t) {var n = t.prev = e.prev;n && (n.next = t);var r = t.next = e.next;r && (r.prev = t);var i = t.parent = e.parent;if (i) {var a = i.children;a[a.lastIndexOf(e)] = t;}}, t.appendChild = function (e, t) {if (t.parent = e, 1 !== e.children.push(t)) {var n = e.children[e.children.length - 2];n.next = t, t.prev = n, t.next = null;}}, t.append = function (e, t) {var n = e.parent,r = e.next;if (t.next = r, t.prev = e, e.next = t, t.parent = n, r) {if (r.prev = t, n) {var i = n.children;i.splice(i.lastIndexOf(r), 0, t);}} else n && n.children.push(t);}, t.prepend = function (e, t) {var n = e.parent;if (n) {var r = n.children;r.splice(r.lastIndexOf(e), 0, t);}e.prev && (e.prev.next = t), t.parent = n, t.prev = e.prev, t.next = e, e.prev = t;};}, function (e, t, n) {var r = n(24).isTag;function i(e, t, n, r) {for (var a, o = [], u = 0, s = t.length; u < s && !(e(t[u]) && (o.push(t[u]), --r <= 0)) && (a = t[u].children, !(n && a && a.length > 0 && (a = i(e, a, n, r), o = o.concat(a), (r -= a.length) <= 0))); u++);return o;}e.exports = { filter: function (e, t, n, r) {Array.isArray(t) || (t = [t]);"number" == typeof r && isFinite(r) || (r = 1 / 0);return i(e, t, !1 !== n, r);}, find: i, findOneChild: function (e, t) {for (var n = 0, r = t.length; n < r; n++) if (e(t[n])) return t[n];return null;}, findOne: function e(t, n) {for (var i = null, a = 0, o = n.length; a < o && !i; a++) r(n[a]) && (t(n[a]) ? i = n[a] : n[a].children.length > 0 && (i = e(t, n[a].children)));return i;}, existsOne: function e(t, n) {for (var i = 0, a = n.length; i < a; i++) if (r(n[i]) && (t(n[i]) || n[i].children.length > 0 && e(t, n[i].children))) return !0;return !1;}, findAll: function e(t, n) {for (var i = [], a = 0, o = n.length; a < o; a++) r(n[a]) && (t(n[a]) && i.push(n[a]), n[a].children.length > 0 && (i = i.concat(e(t, n[a].children))));return i;} };}, function (e, t, n) {var r = n(24),i = t.isTag = r.isTag;t.testElement = function (e, t) {for (var n in e) if (e.hasOwnProperty(n)) {if ("tag_name" === n) {if (!i(t) || !e.tag_name(t.name)) return !1;} else if ("tag_type" === n) {if (!e.tag_type(t.type)) return !1;} else if ("tag_contains" === n) {if (i(t) || !e.tag_contains(t.data)) return !1;} else if (!t.attribs || !e[n](t.attribs[n])) return !1;} else ;return !0;};var a = { tag_name: function (e) {return "function" == typeof e ? function (t) {return i(t) && e(t.name);} : "*" === e ? i : function (t) {return i(t) && t.name === e;};}, tag_type: function (e) {return "function" == typeof e ? function (t) {return e(t.type);} : function (t) {return t.type === e;};}, tag_contains: function (e) {return "function" == typeof e ? function (t) {return !i(t) && e(t.data);} : function (t) {return !i(t) && t.data === e;};} };function o(e, t) {return "function" == typeof t ? function (n) {return n.attribs && t(n.attribs[e]);} : function (n) {return n.attribs && n.attribs[e] === t;};}function u(e, t) {return function (n) {return e(n) || t(n);};}t.getElements = function (e, t, n, r) {var i = Object.keys(e).map(function (t) {var n = e[t];return t in a ? a[t](n) : o(t, n);});return 0 === i.length ? [] : this.filter(i.reduce(u), t, n, r);}, t.getElementById = function (e, t, n) {return Array.isArray(t) || (t = [t]), this.findOne(o("id", e), t, !1 !== n);}, t.getElementsByTagName = function (e, t, n, r) {return this.filter(a.tag_name(e), t, n, r);}, t.getElementsByTagType = function (e, t, n, r) {return this.filter(a.tag_type(e), t, n, r);};}, function (e, t) {t.removeSubsets = function (e) {for (var t, n, r, i = e.length; --i > -1;) {for (t = n = e[i], e[i] = null, r = !0; n;) {if (e.indexOf(n) > -1) {r = !1, e.splice(i, 1);break;}n = n.parent;}r && (e[i] = t);}return e;};var n = 1,r = 2,i = 4,a = 8,o = 16,u = t.compareDocumentPosition = function (e, t) {var u,s,l,c,f,d,p = [],h = [];if (e === t) return 0;for (u = e; u;) p.unshift(u), u = u.parent;for (u = t; u;) h.unshift(u), u = u.parent;for (d = 0; p[d] === h[d];) d++;return 0 === d ? n : (l = (s = p[d - 1]).children, c = p[d], f = h[d], l.indexOf(c) > l.indexOf(f) ? s === t ? i | o : i : s === e ? r | a : r);};t.uniqueSort = function (e) {var t,n,a = e.length;for (e = e.slice(); --a > -1;) t = e[a], (n = e.indexOf(t)) > -1 && n < a && e.splice(a, 1);return e.sort(function (e, t) {var n = u(e, t);return n & r ? -1 : n & i ? 1 : 0;}), e;};}, function (e, t, n) {e.exports = i;var r = n(81);function i(e) {r.call(this, new a(this), e);}function a(e) {this.scope = e;}n(31)(i, r), i.prototype.readable = !0;var o = n(23).EVENTS;Object.keys(o).forEach(function (e) {if (0 === o[e]) a.prototype["on" + e] = function () {this.scope.emit(e);};else if (1 === o[e]) a.prototype["on" + e] = function (t) {this.scope.emit(e, t);};else {if (2 !== o[e]) throw Error("wrong number of arguments!");a.prototype["on" + e] = function (t, n) {this.scope.emit(e, t, n);};}});}, function (e, t) {}, function (e, t, n) {"use strict";var r = n(154).Buffer,i = r.isEncoding || function (e) {switch ((e = "" + e) && e.toLowerCase()) {case "hex":case "utf8":case "utf-8":case "ascii":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":case "raw":return !0;default:return !1;}};function a(e) {var t;switch (this.encoding = function (e) {var t = function (e) {if (!e) return "utf8";for (var t;;) switch (e) {case "utf8":case "utf-8":return "utf8";case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return "utf16le";case "latin1":case "binary":return "latin1";case "base64":case "ascii":case "hex":return e;default:if (t) return;e = ("" + e).toLowerCase(), t = !0;}}(e);if ("string" != typeof t && (r.isEncoding === i || !i(e))) throw new Error("Unknown encoding: " + e);return t || e;}(e), this.encoding) {case "utf16le":this.text = s, this.end = l, t = 4;break;case "utf8":this.fillLast = u, t = 4;break;case "base64":this.text = c, this.end = f, t = 3;break;default:return this.write = d, void (this.end = p);}this.lastNeed = 0, this.lastTotal = 0, this.lastChar = r.allocUnsafe(t);}function o(e) {return e <= 127 ? 0 : e >> 5 == 6 ? 2 : e >> 4 == 14 ? 3 : e >> 3 == 30 ? 4 : e >> 6 == 2 ? -1 : -2;}function u(e) {var t = this.lastTotal - this.lastNeed,n = function (e, t, n) {if (128 != (192 & t[0])) return e.lastNeed = 0, "�";if (e.lastNeed > 1 && t.length > 1) {if (128 != (192 & t[1])) return e.lastNeed = 1, "�";if (e.lastNeed > 2 && t.length > 2 && 128 != (192 & t[2])) return e.lastNeed = 2, "�";}}(this, e);return void 0 !== n ? n : this.lastNeed <= e.length ? (e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (e.copy(this.lastChar, t, 0, e.length), void (this.lastNeed -= e.length));}function s(e, t) {if ((e.length - t) % 2 == 0) {var n = e.toString("utf16le", t);if (n) {var r = n.charCodeAt(n.length - 1);if (r >= 55296 && r <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1], n.slice(0, -1);}return n;}return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = e[e.length - 1], e.toString("utf16le", t, e.length - 1);}function l(e) {var t = e && e.length ? this.write(e) : "";if (this.lastNeed) {var n = this.lastTotal - this.lastNeed;return t + this.lastChar.toString("utf16le", 0, n);}return t;}function c(e, t) {var n = (e.length - t) % 3;return 0 === n ? e.toString("base64", t) : (this.lastNeed = 3 - n, this.lastTotal = 3, 1 === n ? this.lastChar[0] = e[e.length - 1] : (this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1]), e.toString("base64", t, e.length - n));}function f(e) {var t = e && e.length ? this.write(e) : "";return this.lastNeed ? t + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : t;}function d(e) {return e.toString(this.encoding);}function p(e) {return e && e.length ? this.write(e) : "";}t.StringDecoder = a, a.prototype.write = function (e) {if (0 === e.length) return "";var t, n;if (this.lastNeed) {if (void 0 === (t = this.fillLast(e))) return "";n = this.lastNeed, this.lastNeed = 0;} else n = 0;return n < e.length ? t ? t + this.text(e, n) : this.text(e, n) : t || "";}, a.prototype.end = function (e) {var t = e && e.length ? this.write(e) : "";return this.lastNeed ? t + "�" : t;}, a.prototype.text = function (e, t) {var n = function (e, t, n) {var r = t.length - 1;if (r < n) return 0;var i = o(t[r]);if (i >= 0) return i > 0 && (e.lastNeed = i - 1), i;if (--r < n || -2 === i) return 0;if ((i = o(t[r])) >= 0) return i > 0 && (e.lastNeed = i - 2), i;if (--r < n || -2 === i) return 0;if ((i = o(t[r])) >= 0) return i > 0 && (2 === i ? i = 0 : e.lastNeed = i - 3), i;return 0;}(this, e, t);if (!this.lastNeed) return e.toString("utf8", t);this.lastTotal = n;var r = e.length - (n - this.lastNeed);return e.copy(this.lastChar, 0, r), e.toString("utf8", t, r);}, a.prototype.fillLast = function (e) {if (this.lastNeed <= e.length) return e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), this.lastNeed -= e.length;};}, function (e, t, n) {var r = n(82),i = r.Buffer;function a(e, t) {for (var n in e) t[n] = e[n];}function o(e, t, n) {return i(e, t, n);}i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow ? e.exports = r : (a(r, t), t.Buffer = o), a(i, o), o.from = function (e, t, n) {if ("number" == typeof e) throw new TypeError("Argument must not be a number");return i(e, t, n);}, o.alloc = function (e, t, n) {if ("number" != typeof e) throw new TypeError("Argument must be a number");var r = i(e);return void 0 !== t ? "string" == typeof n ? r.fill(t, n) : r.fill(t) : r.fill(0), r;}, o.allocUnsafe = function (e) {if ("number" != typeof e) throw new TypeError("Argument must be a number");return i(e);}, o.allocUnsafeSlow = function (e) {if ("number" != typeof e) throw new TypeError("Argument must be a number");return r.SlowBuffer(e);};}, function (e, t, n) {"use strict";t.byteLength = function (e) {var t = l(e),n = t[0],r = t[1];return 3 * (n + r) / 4 - r;}, t.toByteArray = function (e) {var t,n,r = l(e),o = r[0],u = r[1],s = new a(function (e, t, n) {return 3 * (t + n) / 4 - n;}(0, o, u)),c = 0,f = u > 0 ? o - 4 : o;for (n = 0; n < f; n += 4) t = i[e.charCodeAt(n)] << 18 | i[e.charCodeAt(n + 1)] << 12 | i[e.charCodeAt(n + 2)] << 6 | i[e.charCodeAt(n + 3)], s[c++] = t >> 16 & 255, s[c++] = t >> 8 & 255, s[c++] = 255 & t;2 === u && (t = i[e.charCodeAt(n)] << 2 | i[e.charCodeAt(n + 1)] >> 4, s[c++] = 255 & t);1 === u && (t = i[e.charCodeAt(n)] << 10 | i[e.charCodeAt(n + 1)] << 4 | i[e.charCodeAt(n + 2)] >> 2, s[c++] = t >> 8 & 255, s[c++] = 255 & t);return s;}, t.fromByteArray = function (e) {for (var t, n = e.length, i = n % 3, a = [], o = 0, u = n - i; o < u; o += 16383) a.push(c(e, o, o + 16383 > u ? u : o + 16383));1 === i ? (t = e[n - 1], a.push(r[t >> 2] + r[t << 4 & 63] + "==")) : 2 === i && (t = (e[n - 2] << 8) + e[n - 1], a.push(r[t >> 10] + r[t >> 4 & 63] + r[t << 2 & 63] + "="));return a.join("");};for (var r = [], i = [], a = "undefined" != typeof Uint8Array ? Uint8Array : Array, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", u = 0, s = o.length; u < s; ++u) r[u] = o[u], i[o.charCodeAt(u)] = u;function l(e) {var t = e.length;if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");var n = e.indexOf("=");return -1 === n && (n = t), [n, n === t ? 0 : 4 - n % 4];}function c(e, t, n) {for (var i, a, o = [], u = t; u < n; u += 3) i = (e[u] << 16 & 16711680) + (e[u + 1] << 8 & 65280) + (255 & e[u + 2]), o.push(r[(a = i) >> 18 & 63] + r[a >> 12 & 63] + r[a >> 6 & 63] + r[63 & a]);return o.join("");}i["-".charCodeAt(0)] = 62, i["_".charCodeAt(0)] = 63;}, function (e, t) {
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
  t.read = function (e, t, n, r, i) {var a,o,u = 8 * i - r - 1,s = (1 << u) - 1,l = s >> 1,c = -7,f = n ? i - 1 : 0,d = n ? -1 : 1,p = e[t + f];for (f += d, a = p & (1 << -c) - 1, p >>= -c, c += u; c > 0; a = 256 * a + e[t + f], f += d, c -= 8);for (o = a & (1 << -c) - 1, a >>= -c, c += r; c > 0; o = 256 * o + e[t + f], f += d, c -= 8);if (0 === a) a = 1 - l;else {if (a === s) return o ? NaN : 1 / 0 * (p ? -1 : 1);o += Math.pow(2, r), a -= l;}return (p ? -1 : 1) * o * Math.pow(2, a - r);}, t.write = function (e, t, n, r, i, a) {var o,u,s,l = 8 * a - i - 1,c = (1 << l) - 1,f = c >> 1,d = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,p = r ? 0 : a - 1,h = r ? 1 : -1,g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (u = isNaN(t) ? 1 : 0, o = c) : (o = Math.floor(Math.log(t) / Math.LN2), t * (s = Math.pow(2, -o)) < 1 && (o--, s *= 2), (t += o + f >= 1 ? d / s : d * Math.pow(2, 1 - f)) * s >= 2 && (o++, s /= 2), o + f >= c ? (u = 0, o = c) : o + f >= 1 ? (u = (t * s - 1) * Math.pow(2, i), o += f) : (u = t * Math.pow(2, f - 1) * Math.pow(2, i), o = 0)); i >= 8; e[n + p] = 255 & u, p += h, u /= 256, i -= 8);for (o = o << i | u, l += i; l > 0; e[n + p] = 255 & o, p += h, o /= 256, l -= 8);e[n + p - h] |= 128 * g;};}, function (e, t) {var n = {}.toString;e.exports = Array.isArray || function (e) {return "[object Array]" == n.call(e);};}, function (e, t, n) {function r(e) {this._cbs = e || {};}e.exports = r;var i = n(23).EVENTS;Object.keys(i).forEach(function (e) {if (0 === i[e]) e = "on" + e, r.prototype[e] = function () {this._cbs[e] && this._cbs[e]();};else if (1 === i[e]) e = "on" + e, r.prototype[e] = function (t) {this._cbs[e] && this._cbs[e](t);};else {if (2 !== i[e]) throw Error("wrong number of arguments");e = "on" + e, r.prototype[e] = function (t, n) {this._cbs[e] && this._cbs[e](t, n);};}});}, function (e, t, n) {function r(e) {this._cbs = e || {}, this.events = [];}e.exports = r;var i = n(23).EVENTS;Object.keys(i).forEach(function (e) {if (0 === i[e]) e = "on" + e, r.prototype[e] = function () {this.events.push([e]), this._cbs[e] && this._cbs[e]();};else if (1 === i[e]) e = "on" + e, r.prototype[e] = function (t) {this.events.push([e, t]), this._cbs[e] && this._cbs[e](t);};else {if (2 !== i[e]) throw Error("wrong number of arguments");e = "on" + e, r.prototype[e] = function (t, n) {this.events.push([e, t, n]), this._cbs[e] && this._cbs[e](t, n);};}}), r.prototype.onreset = function () {this.events = [], this._cbs.onreset && this._cbs.onreset();}, r.prototype.restart = function () {this._cbs.onreset && this._cbs.onreset();for (var e = 0, t = this.events.length; e < t; e++) if (this._cbs[this.events[e][0]]) {var n = this.events[e].length;1 === n ? this._cbs[this.events[e][0]]() : 2 === n ? this._cbs[this.events[e][0]](this.events[e][1]) : this._cbs[this.events[e][0]](this.events[e][1], this.events[e][2]);}};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return e.data;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {var s = e.name;if (!(0, u.default)(s)) return null;var l = (0, a.default)(e.attribs, t),c = null;-1 === o.default.indexOf(s) && (c = (0, i.default)(e.children, n));return r.default.createElement(s, l, c);};var r = s(n(0)),i = s(n(43)),a = s(n(83)),o = s(n(166)),u = s(n(84));function s(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return Object.keys(e).filter(function (e) {return (0, a.default)(e);}).reduce(function (t, n) {var a = n.toLowerCase(),o = i.default[a] || a;return t[o] = function (e, t) {r.default.map(function (e) {return e.toLowerCase();}).indexOf(e.toLowerCase()) >= 0 && (t = e);return t;}(o, e[n]), t;}, {});};var r = o(n(163)),i = o(n(164)),a = o(n(84));function o(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = ["allowfullScreen", "async", "autoplay", "capture", "checked", "controls", "default", "defer", "disabled", "formnovalidate", "hidden", "loop", "multiple", "muted", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "scoped", "seamless", "selected", "itemscope"];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = { accept: "accept", "accept-charset": "acceptCharset", accesskey: "accessKey", action: "action", allowfullscreen: "allowFullScreen", allowtransparency: "allowTransparency", alt: "alt", as: "as", async: "async", autocomplete: "autoComplete", autoplay: "autoPlay", capture: "capture", cellpadding: "cellPadding", cellspacing: "cellSpacing", charset: "charSet", challenge: "challenge", checked: "checked", cite: "cite", classid: "classID", class: "className", cols: "cols", colspan: "colSpan", content: "content", contenteditable: "contentEditable", contextmenu: "contextMenu", controls: "controls", controlsList: "controlsList", coords: "coords", crossorigin: "crossOrigin", data: "data", datetime: "dateTime", default: "default", defer: "defer", dir: "dir", disabled: "disabled", download: "download", draggable: "draggable", enctype: "encType", form: "form", formaction: "formAction", formenctype: "formEncType", formmethod: "formMethod", formnovalidate: "formNoValidate", formtarget: "formTarget", frameborder: "frameBorder", headers: "headers", height: "height", hidden: "hidden", high: "high", href: "href", hreflang: "hrefLang", for: "htmlFor", "http-equiv": "httpEquiv", icon: "icon", id: "id", inputmode: "inputMode", integrity: "integrity", is: "is", keyparams: "keyParams", keytype: "keyType", kind: "kind", label: "label", lang: "lang", list: "list", loop: "loop", low: "low", manifest: "manifest", marginheight: "marginHeight", marginwidth: "marginWidth", max: "max", maxlength: "maxLength", media: "media", mediagroup: "mediaGroup", method: "method", min: "min", minlength: "minLength", multiple: "multiple", muted: "muted", name: "name", nonce: "nonce", novalidate: "noValidate", open: "open", optimum: "optimum", pattern: "pattern", placeholder: "placeholder", playsinline: "playsInline", poster: "poster", preload: "preload", profile: "profile", radiogroup: "radioGroup", readonly: "readOnly", referrerpolicy: "referrerPolicy", rel: "rel", required: "required", reversed: "reversed", role: "role", rows: "rows", rowspan: "rowSpan", sandbox: "sandbox", scope: "scope", scoped: "scoped", scrolling: "scrolling", seamless: "seamless", selected: "selected", shape: "shape", size: "size", sizes: "sizes", slot: "slot", span: "span", spellcheck: "spellCheck", src: "src", srcdoc: "srcDoc", srclang: "srcLang", srcset: "srcSet", start: "start", step: "step", style: "style", summary: "summary", tabindex: "tabIndex", target: "target", title: "title", type: "type", usemap: "useMap", value: "value", width: "width", wmode: "wmode", wrap: "wrap", about: "about", datatype: "datatype", inlist: "inlist", prefix: "prefix", property: "property", resource: "resource", typeof: "typeof", vocab: "vocab", autocapitalize: "autoCapitalize", autocorrect: "autoCorrect", autosave: "autoSave", color: "color", itemprop: "itemProp", itemscope: "itemScope", itemtype: "itemType", itemid: "itemID", itemref: "itemRef", results: "results", security: "security", unselectable: "unselectable" };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, u = e[Symbol.iterator](); !(r = (o = u.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && u.return && u.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");};t.default = function () {var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";if ("" === e) return {};return e.split(";").reduce(function (e, t) {var n = t.split(/^([^:]+):/).filter(function (e, t) {return t > 0;}).map(function (e) {return e.trim().toLowerCase();}),i = r(n, 2),a = i[0],o = i[1];return void 0 === o || (e[a = a.replace(/^-ms-/, "ms-").replace(/-(.)/g, function (e, t) {return t.toUpperCase();})] = o), e;}, {});};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t) {var n = void 0;e.children.length > 0 && (n = e.children[0].data);var a = (0, i.default)(e.attribs, t);return r.default.createElement("style", a, n);};var r = a(n(0)),i = a(n(83));function a(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function () {return null;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},n = t.decodeEntities,a = void 0 === n || n,o = t.transform,u = t.preprocessNodes,s = void 0 === u ? function (e) {return e;} : u,l = s(r.default.parseDOM(e, { decodeEntities: a }));return (0, i.default)(l, o);};var r = a(n(23)),i = a(n(43));function a(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {var r = t;e && (r = n ? "<" + e + ">" + t + "</" + n + ">" : "<" + e + ">" + t + "</" + e + ">");return r;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = n(218),u = n(9);function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.buttonRef = {}, e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "focus", value: function () {this.buttonRef.focus();} }, { key: "_onClick", value: function (e) {var t = this,n = this.props,r = n.appId,i = n.functions,a = e.currentTarget.getAttribute("data-param");!a || a.toLowerCase().indexOf(u.POPUP) > -1 ? i.handleClick(e, a, !0) : i.handleClick(e, function () {t._smoothScroll(window.scrollY, document.getElementsByClassName("l-content")[0].getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height || document.getElementById(r).parentElement.parentElement.getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height);});} }, { key: "_smoothScroll", value: function (e, t) {var n = this,r = e || 0;r < t ? setTimeout(function () {r < t - 10 ? (window.scrollTo(0, r + 10), n._smoothScroll(r + 10, t)) : window.scrollTo(0, t);}, 1) : r > t && setTimeout(function () {r > t + 10 ? (window.scrollTo(0, r - 10), n._smoothScroll(r - 10, t)) : window.scrollTo(0, t);}, 1);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.dataParam,r = t.imgSrc,a = t.texts;return i.default.createElement("button", { ref: function (t) {e.buttonRef = t;}, "data-param": n, onClick: this._onClick, className: "iconButton", title: a.altText }, i.default.createElement("span", { className: "icon" }, i.default.createElement(o.ReactSVG, { src: r })), a.iconButtonBackText ? i.default.createElement("span", null, a.iconButtonBackText) : null);} }]), t;}(i.default.Component);l.propTypes = { appId: a.default.string, functions: a.default.exact({ handleClick: a.default.func.isRequired }), imgSrc: a.default.string.isRequired, dataParam: a.default.string, texts: a.default.exact({ altText: a.default.string, iconButtonBackText: a.default.string }).isRequired }, l.defaultProps = { appId: "", dataParam: "", functions: null }, t.default = l;}, function (e, t) {function n(t, r) {return e.exports = n = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {return e.__proto__ = t, e;}, e.exports.__esModule = !0, e.exports.default = e.exports, n(t, r);}e.exports = n, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = _(n(0)),o = _(n(1)),u = function (e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}(n(41)),s = _(n(174)),l = _(n(16)),c = _(n(176)),f = _(n(4)),d = _(n(15)),p = _(n(179)),h = n(3),g = n(11),m = n(13),v = n(9),b = _(n(197)),y = _(n(203));function _(e) {return e && e.__esModule ? e : { default: e };}var x = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.onCountrySelection = n.onCountrySelection.bind(n), n.onCategoryPopupChange = n.onCategoryPopupChange.bind(n), n.onToggleGiftPopupChange = n.onToggleGiftPopupChange.bind(n), n.onCurrencyPopupChange = n.onCurrencyPopupChange.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "onCountrySelection", value: function (e) {this.props.functions.handleSelectCountrySelection(e, this.props.currencies);} }, { key: "onCategoryPopupChange", value: function (e) {this.props.functions.handlePopupChange(e, v.CATEGORY_POPUP, !0);} }, { key: "onToggleGiftPopupChange", value: function (e) {this.props.functions.handlePopupChange(e, v.CALCULATOR_TOGGLE_GIFT_INFO_POPUP);} }, { key: "onCurrencyPopupChange", value: function (e) {this.props.functions.handlePopupChange(e, v.CALCULATOR_SELECT_CURRENCY_INFO_POPUP);} }, { key: "_renderSelectCountry", value: function () {var e = this.props,t = e.countries,n = e.data,i = e.functions,o = e.icons,u = e.isSelectCountryOpen,s = e.texts,l = r({}, s.selectCountry, { typeahead: s.typeahead, screenReader: { notSelected: s.screenReader.notSelected, selected: s.screenReader.selected } });return a.default.createElement(p.default, { data: n.country, functions: { handleSelection: this.onCountrySelection, handleInputValueChange: i.handleSelectCountrySearchFieldInputValueChange, toggle: i.toggleSelectCountryTypeahead }, icons: { dropdown: o.dropdown, suchlupe: o.suchlupe }, isOpen: u, options: t, texts: l, titleHtmlTextWrapping: m.TITLE_TEXT_WRAPPING_H2, wide: !0 });} }, { key: "_renderSelectProduct", value: function () {var e = this.props,t = e.categories,n = e.data,i = e.functions,o = e.icons,s = e.isSelectProductOpen,l = e.texts,c = t.reduce(function (e, t) {return e.concat(t.products.map(function (e) {return r({}, e, { category: { text: t.text } });}));}, []),f = r({}, l.selectProduct, { typeahead: l.typeahead, screenReader: { notSelected: l.screenReader.notSelected, selected: l.screenReader.selected } }),d = u.omit(n.product, "unselectableProduct");return a.default.createElement("div", null, a.default.createElement(p.default, { data: d, functions: { handleSelection: i.handleSelectProductSelection, handleInputValueChange: i.handleSelectProductSearchFieldInputValueChange, toggle: i.toggleSelectProductTypeahead }, icons: { dropdown: o.dropdown, suchlupe: o.suchlupe }, isOpen: s, texts: f, options: c, titleHtmlTextWrapping: m.TITLE_TEXT_WRAPPING_H2, wide: !0 }), this._renderSelectProductInfoBox());} }, { key: "_renderSelectProductInfoBox", value: function () {var e = this.props,t = e.data,n = e.navTargets,r = e.texts;return t.product.text ? t.product.descriptionShort ? a.default.createElement("div", { className: "productInfoBox" }, a.default.createElement(d.default, { text: t.product.descriptionShort }), a.default.createElement(l.default, { className: "c-button", dataParam: JSON.stringify({ popup: n.categoryPopup }), functions: { handlePopupChange: this.onCategoryPopupChange }, texts: r.detailsButton })) : a.default.createElement("div", { className: "productInfoBox flexEnd" }, a.default.createElement(l.default, { className: "c-button", dataParam: JSON.stringify({ popup: n.categoryPopup }), functions: { handlePopupChange: this.onCategoryPopupChange }, texts: r.detailsButton })) : null;} }, { key: "_renderToggleGift", value: function () {var e = this.props,t = e.data,n = e.functions,r = e.icons,i = e.texts;return a.default.createElement(b.default, { data: { isGift: t.isGift }, functions: { handlePopupChange: this.onToggleGiftPopupChange, handleToggleChange: n.handleToggleGiftChange }, icons: { info: r.info }, id: "giftToggleWrapper", texts: i.toggleGift, titleHtmlTextWrapping: m.TITLE_TEXT_WRAPPING_H2 });} }, { key: "_renderSelectCurrency", value: function () {var e = this.props,t = e.currencies,n = e.data,i = e.functions,o = e.icons,u = e.texts,s = r({}, u.selectCurrency, { currencySigns: u.currencySigns, screenReader: { selectCurrencyInput: u.screenReader.selectCurrencyInput, selectCurrencyLabel: u.screenReader.selectCurrencyLabel, selectCurrencyDropdown: u.screenReader.selectCurrencyDropdown, selectCurrencyInEuro: u.screenReader.selectCurrencyInEuro } });return a.default.createElement(c.default, { currencies: t, data: n.currency, functions: { handlePopupChange: this.onCurrencyPopupChange, handleCurrencyChange: i.handleCurrencyChange, handleCurrencyAmountChange: i.handleCurrencyAmountChange, handleCurrencyInputFieldBlur: i.handleCurrencyInputFieldBlur, handleCurrencyInputFieldFocus: i.handleCurrencyInputFieldFocus }, htmlTextWrapping: m.TITLE_TEXT_WRAPPING_H2, icons: { info: o.info }, texts: s });} }, { key: "_renderResultBox", value: function () {var e = this.props,t = e.data,n = e.calculationConstants,r = e.texts,i = { currency: { exchangeRate: t.currency.exchangeRate, value: t.currency.value, calculationValue: t.currency.calculationValue }, isGift: t.isGift, product: { euTax: t.product.euTax, zollTax: t.product.zollTax, maxZollTaxAmount: t.product.maxZollTaxAmount, text: t.product.text }, country: { eu: t.country.eu, specialZone: t.country.specialZone, calcZoll: t.country.calcZoll, calcEuTax: t.country.calcEuTax, text: t.country.text } };return a.default.createElement(y.default, { data: i, calculationConstants: n, texts: r.resultBox });} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.icons,i = e.navTargets,o = e.texts,u = this._renderSelectCountry(),l = this._renderSelectProduct(),c = this._renderToggleGift(),p = this._renderSelectCurrency(),h = this._renderResultBox();return a.default.createElement("div", { className: "calculator" }, a.default.createElement(f.default, { appId: t, preventFocus: !0, texts: { title: o.title, back: o.backButton }, imgSrc: r.info, navTargets: { infoPopup: i.infoPopup, back: i.back }, functions: { handlePopupChange: n.handlePopupChange, handleScreenChange: n.handleScreenChange }, htmlTextWrapping: m.TITLE_TEXT_WRAPPING_H1 }), a.default.createElement(d.default, { text: o.body }), l, c, u, p, h, a.default.createElement("div", { className: "buttonWrapper" }, a.default.createElement(s.default, { appId: t, texts: { back: o.backButton, reset: o.resetButton }, functions: { handleScreenChange: n.handleScreenChange }, navTargets: i, resetButton: !0 })));} }]), t;}(a.default.Component);x.propTypes = { appId: o.default.string.isRequired, calculationConstants: o.default.exact(h.calculationConstantsType).isRequired, categories: o.default.arrayOf(o.default.exact(h.categoryDataType).isRequired).isRequired, countries: o.default.arrayOf(o.default.exact(h.countryDataType).isRequired).isRequired, currencies: o.default.arrayOf(o.default.exact(h.currencyType).isRequired).isRequired, data: o.default.exact({ country: o.default.exact(r({}, h.countryDataType, { searchFieldInputValue: o.default.string.isRequired })).isRequired, currency: o.default.exact(r({}, h.currencyDataType)).isRequired, isGift: o.default.bool.isRequired, product: o.default.exact(r({}, h.selectOptionProductDataType, { searchFieldInputValue: o.default.string.isRequired, unselectableProduct: o.default.exact(h.productDataType) })).isRequired }).isRequired, functions: o.default.exact({ handleCurrencyAmountChange: o.default.func.isRequired, handleCurrencyChange: o.default.func.isRequired, handleCurrencyInputFieldBlur: o.default.func.isRequired, handleCurrencyInputFieldFocus: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired, handleScreenChange: o.default.func.isRequired, handleSelectCountrySearchFieldInputValueChange: o.default.func.isRequired, handleSelectCountrySelection: o.default.func.isRequired, handleSelectProductSearchFieldInputValueChange: o.default.func.isRequired, handleSelectProductSelection: o.default.func.isRequired, handleToggleGiftChange: o.default.func.isRequired, toggleSelectCountryTypeahead: o.default.func.isRequired, toggleSelectProductTypeahead: o.default.func.isRequired }).isRequired, icons: o.default.exact({ back: o.default.string.isRequired, dropdown: o.default.string.isRequired, info: o.default.string.isRequired, suchlupe: o.default.string.isRequired }).isRequired, isSelectCountryOpen: o.default.bool.isRequired, isSelectProductOpen: o.default.bool.isRequired, navTargets: o.default.exact({ back: o.default.string.isRequired, reset: o.default.string.isRequired, categoryPopup: o.default.string.isRequired, infoPopup: o.default.string.isRequired }).isRequired, texts: o.default.exact({ backButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, resetButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, body: o.default.string.isRequired, currencySigns: o.default.exact({ euro: o.default.string.isRequired }).isRequired, detailsButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, infoPopup: o.default.exact(g.infoPopupWithIconTextsType).isRequired, resultBox: o.default.exact(g.resultBoxTextsType).isRequired, screenReader: o.default.exact({ notSelected: o.default.string.isRequired, selectCurrencyDropdown: o.default.string.isRequired, selectCurrencyInEuro: o.default.string.isRequired, selectCurrencyInput: o.default.string.isRequired, selectCurrencyLabel: o.default.string.isRequired, selected: o.default.string.isRequired }).isRequired, selectCountry: o.default.exact({ dropdownPlaceholder: o.default.string.isRequired, title: o.default.exact({ text: o.default.string.isRequired }).isRequired }).isRequired, selectCurrency: o.default.exact({ infoPopup: o.default.exact(g.infoPopupWithIconTextsType).isRequired, title: o.default.exact(g.titleWithIconTextsType).isRequired }).isRequired, selectProduct: o.default.exact({ dropdownPlaceholder: o.default.string.isRequired, title: o.default.exact({ text: o.default.string.isRequired }).isRequired }).isRequired, title: o.default.exact(g.titleWithIconTextsType).isRequired, toggleGift: o.default.exact({ infoPopup: o.default.exact(g.infoPopupWithIconTextsType).isRequired, title: o.default.exact(g.titleWithIconTextsType).isRequired, toggleLabel: o.default.string.isRequired }).isRequired, typeahead: o.default.exact({ noResults: o.default.string.isRequired, searchPlaceholder: o.default.string.isRequired }).isRequired }).isRequired }, t.default = x;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = n(9),u = l(n(16)),s = l(n(175));function l(e) {return e && e.__esModule ? e : { default: e };}function c(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function f(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return c(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderButton", value: function (e, t, n, r) {var a = this.props,s = a.functions,l = a.navTargets,c = a.texts,f = t === o.RESET,d = null,p = n ? r + " c-button disabled" : r + " c-button";return l && l[t] && (d = i.default.createElement(u.default, { appId: e, disabled: n, className: p, texts: c[t], functions: { handleScreenChange: s.handleScreenChange }, dataParam: l[t], reset: f })), d;} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.resetButton;return i.default.createElement("div", { className: "buttonBar" }, this._renderButton(t, o.BACK, !1, "leftButton"), n ? this._renderButton(t, o.RESET, !1, "resetButton") : null, i.default.createElement(s.default, null));} }]), t;}(i.default.Component);d.propTypes = { appId: a.default.string.isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired }).isRequired, functions: a.default.shape({ handleScreenChange: a.default.func }).isRequired, resetButton: a.default.bool, texts: a.default.shape({ back: a.default.exact({ text: a.default.string }), continue: a.default.string, reset: a.default.exact({ text: a.default.string }) }).isRequired }, d.defaultProps = { resetButton: !1 }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r,i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = (r = a) && r.__esModule ? r : { default: r };function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function s(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var l = function (e) {function t() {return u(this, t), s(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "render", value: function () {return o.default.createElement("div", { className: "ieFloatFix" });} }]), t;}(o.default.Component);t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = n(3),u = n(11),s = c(n(177)),l = c(n(4));function c(e) {return e && e.__esModule ? e : { default: e };}function f(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function d(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {return f(this, t), d(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.currencies,n = e.data,r = e.functions,a = e.icons,o = e.texts,u = e.htmlTextWrapping,c = { currencySigns: o.currencySigns, infoPopup: o.infoPopup, screenReader: o.screenReader };return i.default.createElement("div", { className: "selectCurrencyContainer" }, i.default.createElement(l.default, { preventFocus: !0, texts: o.title, imgSrc: a.info, functions: { handlePopupChange: r.handlePopupChange }, htmlTextWrapping: u }), i.default.createElement(s.default, { currencies: t, data: n, texts: c, functions: { handleChange: r.handleCurrencyChange, handleAmountChange: r.handleCurrencyAmountChange, handleInputFieldBlur: r.handleCurrencyInputFieldBlur, handleInputFieldFocus: r.handleCurrencyInputFieldFocus } }));} }]), t;}(i.default.Component);p.propTypes = { currencies: a.default.arrayOf(a.default.exact(o.currencyType).isRequired).isRequired, data: a.default.exact(o.currencyDataType).isRequired, functions: a.default.exact({ handleCurrencyAmountChange: a.default.func.isRequired, handleCurrencyChange: a.default.func.isRequired, handleCurrencyInputFieldBlur: a.default.func.isRequired, handleCurrencyInputFieldFocus: a.default.func.isRequired, handlePopupChange: a.default.func.isRequired }).isRequired, htmlTextWrapping: a.default.string.isRequired, icons: a.default.exact({ info: a.default.string.isRequired }).isRequired, texts: a.default.exact({ currencySigns: a.default.exact({ euro: a.default.string.isRequired }).isRequired, infoPopup: a.default.exact(u.infoPopupWithIconTextsType).isRequired, screenReader: a.default.exact(u.selectCurrencyScreenReaderTextType).isRequired, title: a.default.exact(u.titleWithIconTextsType).isRequired }).isRequired }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = f(n(0)),a = f(n(1)),o = f(n(10)),u = f(n(178)),s = n(46),l = n(3),c = n(11);function f(e) {return e && e.__esModule ? e : { default: e };}var d = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.inputRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidUpdate", value: function (e) {var t = this.props.data,n = t.cursorStart,r = t.cursorEnd;e.data.cursorStart === n && e.data.cursorEnd === r || this.inputRef.setSelectionRange(n, r);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.currencies,r = t.data,a = t.functions,l = t.texts,c = (0, s.currencyFormatDE)(r.calculationValue / r.exchangeRate, l.currencySigns.euro);return i.default.createElement("div", { className: "selectCurrencyWrapper" }, i.default.createElement("input", { ref: function (t) {e.inputRef = t;}, "aria-label": l.screenReader.selectCurrencyInput, id: "currencyInput", className: "currencyInput", type: "text", value: r.value, onChange: a.handleAmountChange, onBlur: a.handleInputFieldBlur, onFocus: a.handleInputFieldFocus }), i.default.createElement(u.default, { optionData: n, data: { exchangeRate: r.exchangeRate, iso2: r.iso2, name: r.name }, functions: { handleChange: a.handleChange }, sortOptions: !0, texts: { screenReader: l.screenReader.selectCurrencyDropdown } }), i.default.createElement("div", { className: "text", tabIndex: 0 }, i.default.createElement("span", { className: "aural" }, l.screenReader.selectCurrencyInEuro), (0, o.default)(c)));} }]), t;}(i.default.Component);d.propTypes = { currencies: a.default.arrayOf(a.default.exact(l.currencyType).isRequired).isRequired, data: a.default.exact(l.currencyDataType).isRequired, functions: a.default.exact({ handleAmountChange: a.default.func.isRequired, handleChange: a.default.func.isRequired, handleInputFieldBlur: a.default.func.isRequired, handleInputFieldFocus: a.default.func.isRequired }).isRequired, texts: a.default.exact({ currencySigns: a.default.exact({ euro: a.default.string.isRequired }).isRequired, infoPopup: a.default.exact(c.infoPopupWithIconTextsType).isRequired, screenReader: a.default.exact(c.selectCurrencyScreenReaderTextType).isRequired }).isRequired }, d.defaultProps = {}, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = n(3),u = s(n(32));function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.handleChange = e.handleChange.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "handleChange", value: function (e) {this.props.functions.handleChange(e);} }, { key: "_renderOptions", value: function () {var e = this.props,t = e.optionData;return (e.sortOptions ? t.sort(function (e, t) {return (0, u.default)(e, t, "name");}) : t).map(function (e, t) {var n = e.name + t;return i.default.createElement("option", { key: n, value: JSON.stringify({ exchangeRate: e.exchangeRate, iso2: e.iso2, name: e.name }), label: e.name }, e.name);});} }, { key: "render", value: function () {var e = this.props,t = e.data,n = e.texts;return i.default.createElement("select", { className: "dropdown", value: JSON.stringify({ exchangeRate: t.exchangeRate, iso2: t.iso2, name: t.name }), onChange: this.handleChange, "aria-label": n.screenReader }, this._renderOptions());} }]), t;}(i.default.Component);l.propTypes = { data: a.default.exact(o.currencyType).isRequired, optionData: a.default.arrayOf(a.default.exact(o.currencyType).isRequired).isRequired, functions: a.default.exact({ handleChange: a.default.func.isRequired }).isRequired, sortOptions: a.default.bool, texts: a.default.exact({ screenReader: a.default.string.isRequired }).isRequired }, l.defaultProps = { sortOptions: !1 }, t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = c(n(0)),o = c(n(1)),u = n(3),s = c(n(180)),l = c(n(4));function c(e) {return e && e.__esModule ? e : { default: e };}function f(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function d(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {return f(this, t), d(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "render", value: function () {var e = this.props,t = e.data,n = e.functions,i = e.icons,o = e.isOpen,u = e.options,c = e.texts,f = e.titleHtmlTextWrapping,d = e.wide,p = r({}, c.typeahead, { dropdownPlaceholder: c.dropdownPlaceholder, screenReader: { notSelected: c.screenReader.notSelected, selected: c.screenReader.selected } });return a.default.createElement("div", { className: "selectCountryContainer" }, a.default.createElement(l.default, { preventFocus: !0, texts: c.title, imgSrc: i.info, functions: n.handlePopupChange ? { handlePopupChange: n.handlePopupChange } : null, htmlTextWrapping: f }), a.default.createElement(s.default, { data: t, functions: { handleSelection: n.handleSelection, handleInputValueChange: n.handleInputValueChange, toggle: n.toggle }, icons: i, isOpen: o, optionData: u, sortOptions: !0, texts: p, useContainsFilter: !0, wide: d }));} }]), t;}(a.default.Component);p.propTypes = { data: o.default.oneOfType([o.default.exact(r({}, u.selectOptionProductDataType, { searchFieldInputValue: o.default.string.isRequired })), o.default.exact(r({}, u.countryDataType, { searchFieldInputValue: o.default.string.isRequired }))]).isRequired, functions: o.default.exact({ handleSelection: o.default.func.isRequired, handleInputValueChange: o.default.func.isRequired, toggle: o.default.func.isRequired }).isRequired, icons: o.default.exact({ dropdown: o.default.string.isRequired, suchlupe: o.default.string.isRequired }).isRequired, isOpen: o.default.bool, options: o.default.arrayOf(o.default.oneOfType([o.default.exact(u.countryDataType), o.default.exact(u.selectOptionProductDataType)])).isRequired, texts: o.default.exact({ screenReader: o.default.exact({ selected: o.default.string.isRequired, notSelected: o.default.string.isRequired }).isRequired, typeahead: o.default.exact({ noResults: o.default.string.isRequired, searchPlaceholder: o.default.string.isRequired }), title: o.default.exact({ text: o.default.string.isRequired }).isRequired, dropdownPlaceholder: o.default.string.isRequired }).isRequired, titleHtmlTextWrapping: o.default.string.isRequired, wide: o.default.bool }, p.defaultProps = { wide: !1, isOpen: !1 }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = d(n(0)),o = d(n(1)),u = d(n(10)),s = d(n(181)),l = d(n(193)),c = d(n(32)),f = n(3);function d(e) {return e && e.__esModule ? e : { default: e };}function p(e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}var h = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.inputRef = {}, n.dropdownRef = {}, n.state = { suggestions: e.optionData, noSuggestions: !1, preventReopen: !1 }, n.onSuggestionSelected = n.onSuggestionSelected.bind(n), n.onInputChange = n.onInputChange.bind(n), n.onSuggestionsFetchRequested = n.onSuggestionsFetchRequested.bind(n), n.onSuggestionsClearRequested = n.onSuggestionsClearRequested.bind(n), n.getSuggestions = n.getSuggestions.bind(n), n.renderSuggestion = n.renderSuggestion.bind(n), n.toggleAutosuggest = n.toggleAutosuggest.bind(n), n.handleOpenerClick = n.handleOpenerClick.bind(n), n.renderInputComponent = n.renderInputComponent.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidUpdate", value: function () {this.props.isOpen && this.inputRef.focus();} }, { key: "onInputChange", value: function (e, t) {var n = t.newValue;this.props.functions.handleInputValueChange(n);} }, { key: "onSuggestionsFetchRequested", value: function (e) {var t = e.value,n = this.getSuggestions(t),r = !("" === t.trim()) && 0 === n.length;this.setState({ suggestions: n, noSuggestions: r });} }, { key: "onSuggestionsClearRequested", value: function () {this.setState({ suggestions: [] });} }, { key: "onSuggestionSelected", value: function (e, t, n) {e.preventDefault();var r = this.props.isOpen,i = t.suggestion || t.highlightedSuggestion;if (i) {var a = this.props.functions;!n && r && this.toggleAutosuggest(), a.handleSelection(i);} else !n && r && this.toggleAutosuggest();} }, { key: "onBlur", value: function (e, t) {var n = e.relatedTarget;null === n && (n = document.activeElement);var r = n === this.dropdownRef || "blur" === e.type,i = n === this.dropdownRef;r ? (i || this.toggleAutosuggest(), i && this.setState({ preventReopen: !0 })) : this.onSuggestionSelected(e, t, !1);} }, { key: "getSuggestions", value: function (e) {return this.props.useContainsFilter ? this._containsFilter(e) : this._startsWithFilter(e);} }, { key: "getSuggestionValue", value: function (e) {return e.text;} }, { key: "focusDropdown", value: function () {this.dropdownRef.focus();} }, { key: "handleOpenerClick", value: function () {this.state.preventReopen ? this.setState({ preventReopen: !1 }) : this.toggleAutosuggest();} }, { key: "toggleAutosuggest", value: function () {var e = this.props,t = e.functions;e.isOpen ? t.toggle() : (t.toggle(), t.handleInputValueChange(""));} }, { key: "_startsWithFilter", value: function (e) {var t = this.props.optionData,n = [];return t.filter(function (t) {var r = t.productTags ? [t.text].concat(p(t.productTags)) : [t.text];return n = n.concat(r), r.map(function (t) {return 0 === t.toLowerCase().indexOf(e.toLowerCase());}).indexOf(!0) > -1;});} }, { key: "_containsFilter", value: function (e) {var t = this.props.optionData,n = [];return t.filter(function (t) {var r = t.productTags ? [t.text].concat(p(t.productTags)) : [t.text];return n = n.concat(r), r.map(function (t) {return t.toLowerCase().indexOf(e.toLowerCase()) > -1;}).indexOf(!0) > -1;});} }, { key: "_renderDropdown", value: function () {var e = this,t = this.props,n = t.data,r = t.icons,i = t.isOpen,o = t.texts.dropdownPlaceholder;n.text && (o = n.subText && "." !== n.subText ? n.text + " " + n.subText : n.text);var s = i ? "icon open" : "icon";return a.default.createElement("button", { className: "dropdown", onClick: this.handleOpenerClick, ref: function (t) {e.dropdownRef = t;} }, n.imgSrc ? a.default.createElement("span", { className: "flag" }, a.default.createElement("img", { alt: "", src: n.imgSrc })) : null, a.default.createElement("span", { className: "text" }, (0, u.default)(o)), a.default.createElement("span", { className: s }, a.default.createElement("img", { alt: "", src: r.dropdown })));} }, { key: "renderSuggestion", value: function (e) {var t = this.props,n = t.data,r = t.texts,i = t.useContainsFilter,o = { screenReader: { notSelected: r.screenReader.notSelected, selected: r.screenReader.selected } };return a.default.createElement(l.default, { useContainsFilter: i, searchFieldInputValue: n.searchFieldInputValue, marked: e.text === n.text && e.subText === n.subText && e.imgSrc === n.imgSrc, option: e, texts: o });} }, { key: "renderInputComponent", value: function (e) {var t = this,n = this.props.icons;return a.default.createElement("div", { className: "inputContainer" }, a.default.createElement("input", r({}, e, { ref: function (n) {e.ref && e.ref(n), t.inputRef = n;}, style: { backgroundImage: "url(" + n.suchlupe + ")" } })));} }, { key: "render", value: function () {var e = this.props,t = e.data,n = e.isOpen,r = e.sortOptions,i = e.texts,o = e.wide,l = { placeholder: i.searchPlaceholder, value: t.searchFieldInputValue, onChange: this.onInputChange, type: "text" },f = n ? "autosuggestContainer open" : "autosuggestContainer closed",d = o ? "typeaheadWrapper wide" : "typeaheadWrapper",p = this.state.noSuggestions ? a.default.createElement("div", { className: "noSuggestions" }, (0, u.default)(i.noResults)) : null,h = r ? this.state.suggestions.sort(function (e, t) {return (0, c.default)(e, t, "text");}) : this.state.suggestions;return a.default.createElement("div", { className: d }, this._renderDropdown(), a.default.createElement("div", { className: f }, a.default.createElement(s.default, { class: n ? "open" : "closed", suggestions: h, onSuggestionsFetchRequested: this.onSuggestionsFetchRequested, onSuggestionsClearRequested: this.onSuggestionsClearRequested, onSuggestionSelected: this.onSuggestionSelected, getSuggestionValue: this.getSuggestionValue, renderSuggestion: this.renderSuggestion, inputProps: l, highlightFirstSuggestion: !0, alwaysRenderSuggestions: !0, focusInputOnSuggestionClick: !1, renderInputComponent: this.renderInputComponent }), p));} }]), t;}(a.default.Component);h.propTypes = { data: o.default.oneOfType([o.default.exact(r({}, f.selectOptionProductDataType, { searchFieldInputValue: o.default.string.isRequired })), o.default.exact(r({}, f.countryDataType, { searchFieldInputValue: o.default.string.isRequired }))]).isRequired, functions: o.default.exact({ handleInputValueChange: o.default.func.isRequired, handleSelection: o.default.func.isRequired, toggle: o.default.func.isRequired }).isRequired, isOpen: o.default.bool.isRequired, icons: o.default.exact({ dropdown: o.default.string.isRequired, suchlupe: o.default.string.isRequired }).isRequired, optionData: o.default.arrayOf(o.default.oneOfType([o.default.exact(f.countryDataType), o.default.exact(f.selectOptionProductDataType)])).isRequired, sortOptions: o.default.bool, texts: o.default.exact({ screenReader: o.default.exact({ selected: o.default.string.isRequired, notSelected: o.default.string.isRequired }).isRequired, noResults: o.default.string.isRequired, dropdownPlaceholder: o.default.string.isRequired, searchPlaceholder: o.default.string.isRequired }).isRequired, useContainsFilter: o.default.bool, wide: o.default.bool }, h.defaultProps = { useContainsFilter: !1, sortOptions: !1, wide: !1 }, t.default = h;}, function (e, t, n) {"use strict";e.exports = n(182).default;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = f(a),u = f(n(1)),s = f(n(183)),l = f(n(184)),c = n(192);function f(e) {return e && e.__esModule ? e : { default: e };}var d = function () {return !0;},p = function (e) {function t(e) {var n = e.alwaysRenderSuggestions;!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var r = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return h.call(r), r.state = { isFocused: !1, isCollapsed: !n, highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: null }, r.justPressedUpDown = !1, r.justMouseEntered = !1, r.pressedSuggestion = null, r;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidMount", value: function () {document.addEventListener("mousedown", this.onDocumentMouseDown), document.addEventListener("mouseup", this.onDocumentMouseUp), this.input = this.autowhatever.input, this.suggestionsContainer = this.autowhatever.itemsContainer;} }, { key: "componentWillReceiveProps", value: function (e) {(0, s.default)(e.suggestions, this.props.suggestions) ? e.highlightFirstSuggestion && e.suggestions.length > 0 && !1 === this.justPressedUpDown && !1 === this.justMouseEntered && this.highlightFirstSuggestion() : this.willRenderSuggestions(e) ? this.state.isCollapsed && !this.justSelectedSuggestion && this.revealSuggestions() : this.resetHighlightedSuggestion();} }, { key: "componentDidUpdate", value: function (e, t) {var n = this.props,r = n.suggestions,i = n.onSuggestionHighlighted,a = n.highlightFirstSuggestion;if (!(0, s.default)(r, e.suggestions) && r.length > 0 && a) this.highlightFirstSuggestion();else if (i) {var o = this.getHighlightedSuggestion();o != t.highlightedSuggestion && i({ suggestion: o });}} }, { key: "componentWillUnmount", value: function () {document.removeEventListener("mousedown", this.onDocumentMouseDown), document.removeEventListener("mouseup", this.onDocumentMouseUp);} }, { key: "updateHighlightedSuggestion", value: function (e, t, n) {var r = this;this.setState(function (i) {var a = i.valueBeforeUpDown;return null === t ? a = null : null === a && void 0 !== n && (a = n), { highlightedSectionIndex: e, highlightedSuggestionIndex: t, highlightedSuggestion: null === t ? null : r.getSuggestion(e, t), valueBeforeUpDown: a };});} }, { key: "resetHighlightedSuggestion", value: function () {var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];this.setState(function (t) {var n = t.valueBeforeUpDown;return { highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: e ? null : n };});} }, { key: "revealSuggestions", value: function () {this.setState({ isCollapsed: !1 });} }, { key: "closeSuggestions", value: function () {this.setState({ highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: null, isCollapsed: !0 });} }, { key: "getSuggestion", value: function (e, t) {var n = this.props,r = n.suggestions,i = n.multiSection,a = n.getSectionSuggestions;return i ? a(r[e])[t] : r[t];} }, { key: "getHighlightedSuggestion", value: function () {var e = this.state,t = e.highlightedSectionIndex,n = e.highlightedSuggestionIndex;return null === n ? null : this.getSuggestion(t, n);} }, { key: "getSuggestionValueByIndex", value: function (e, t) {return (0, this.props.getSuggestionValue)(this.getSuggestion(e, t));} }, { key: "getSuggestionIndices", value: function (e) {var t = e.getAttribute("data-section-index"),n = e.getAttribute("data-suggestion-index");return { sectionIndex: "string" == typeof t ? parseInt(t, 10) : null, suggestionIndex: parseInt(n, 10) };} }, { key: "findSuggestionElement", value: function (e) {var t = e;do {if (null !== t.getAttribute("data-suggestion-index")) return t;t = t.parentNode;} while (null !== t);throw console.error("Clicked element:", e), new Error("Couldn't find suggestion element");} }, { key: "maybeCallOnChange", value: function (e, t, n) {var r = this.props.inputProps,i = r.value,a = r.onChange;t !== i && a(e, { newValue: t, method: n });} }, { key: "willRenderSuggestions", value: function (e) {var t = e.suggestions,n = e.inputProps,r = e.shouldRenderSuggestions,i = n.value;return t.length > 0 && r(i);} }, { key: "getQuery", value: function () {var e = this.props.inputProps.value,t = this.state.valueBeforeUpDown;return (null === t ? e : t).trim();} }, { key: "render", value: function () {var e = this,t = this.props,n = t.suggestions,i = t.renderInputComponent,a = t.onSuggestionsFetchRequested,u = t.renderSuggestion,s = t.inputProps,f = t.multiSection,p = t.renderSectionTitle,h = t.id,g = t.getSectionSuggestions,m = t.theme,v = t.getSuggestionValue,b = t.alwaysRenderSuggestions,y = t.highlightFirstSuggestion,_ = this.state,x = _.isFocused,S = _.isCollapsed,T = _.highlightedSectionIndex,w = _.highlightedSuggestionIndex,E = _.valueBeforeUpDown,C = b ? d : this.props.shouldRenderSuggestions,k = s.value,P = s.onFocus,R = s.onKeyDown,O = this.willRenderSuggestions(this.props),A = b || x && !S && O,I = A ? n : [],N = r({}, s, { onFocus: function (t) {if (!e.justSelectedSuggestion && !e.justClickedOnSuggestionsContainer) {var n = C(k);e.setState({ isFocused: !0, isCollapsed: !n }), P && P(t), n && a({ value: k, reason: "input-focused" });}}, onBlur: function (t) {e.justClickedOnSuggestionsContainer ? e.input.focus() : (e.blurEvent = t, e.justSelectedSuggestion || (e.onBlur(), e.onSuggestionsClearRequested()));}, onChange: function (t) {var n = t.target.value,i = C(n);e.maybeCallOnChange(t, n, "type"), e.suggestionsContainer && (e.suggestionsContainer.scrollTop = 0), e.setState(r({}, y ? {} : { highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null }, { valueBeforeUpDown: null, isCollapsed: !i })), i ? a({ value: n, reason: "input-changed" }) : e.onSuggestionsClearRequested();}, onKeyDown: function (t, r) {var i = t.keyCode;switch (i) {case 40:case 38:if (S) C(k) && (a({ value: k, reason: "suggestions-revealed" }), e.revealSuggestions());else if (n.length > 0) {var o = r.newHighlightedSectionIndex,u = r.newHighlightedItemIndex,s = void 0;s = null === u ? null === E ? k : E : e.getSuggestionValueByIndex(o, u), e.updateHighlightedSuggestion(o, u, k), e.maybeCallOnChange(t, s, 40 === i ? "down" : "up");}t.preventDefault(), e.justPressedUpDown = !0, setTimeout(function () {e.justPressedUpDown = !1;});break;case 13:if (229 === t.keyCode) break;var l = e.getHighlightedSuggestion();if (A && !b && e.closeSuggestions(), null != l) {var c = v(l);e.maybeCallOnChange(t, c, "enter"), e.onSuggestionSelected(t, { suggestion: l, suggestionValue: c, suggestionIndex: w, sectionIndex: T, method: "enter" }), e.justSelectedSuggestion = !0, setTimeout(function () {e.justSelectedSuggestion = !1;});}break;case 27:A && t.preventDefault();var f = A && !b;if (null === E) {if (!f) {e.maybeCallOnChange(t, "", "escape"), C("") ? a({ value: "", reason: "escape-pressed" }) : e.onSuggestionsClearRequested();}} else e.maybeCallOnChange(t, E, "escape");f ? (e.onSuggestionsClearRequested(), e.closeSuggestions()) : e.resetHighlightedSuggestion();}R && R(t);} }),q = { query: this.getQuery() };return o.default.createElement(l.default, { multiSection: f, items: I, renderInputComponent: i, renderItemsContainer: this.renderSuggestionsContainer, renderItem: u, renderItemData: q, renderSectionTitle: p, getSectionItems: g, highlightedSectionIndex: T, highlightedItemIndex: w, inputProps: N, itemProps: this.itemProps, theme: (0, c.mapToAutowhateverTheme)(m), id: h, ref: this.storeAutowhateverRef });} }]), t;}(a.Component);p.propTypes = { suggestions: u.default.array.isRequired, onSuggestionsFetchRequested: function (e, t) {var n = e[t];if ("function" != typeof n) throw new Error("'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp");}, onSuggestionsClearRequested: function (e, t) {var n = e[t];if (!1 === e.alwaysRenderSuggestions && "function" != typeof n) throw new Error("'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp");}, onSuggestionSelected: u.default.func, onSuggestionHighlighted: u.default.func, renderInputComponent: u.default.func, renderSuggestionsContainer: u.default.func, getSuggestionValue: u.default.func.isRequired, renderSuggestion: u.default.func.isRequired, inputProps: function (e, t) {var n = e[t];if (!n.hasOwnProperty("value")) throw new Error("'inputProps' must have 'value'.");if (!n.hasOwnProperty("onChange")) throw new Error("'inputProps' must have 'onChange'.");}, shouldRenderSuggestions: u.default.func, alwaysRenderSuggestions: u.default.bool, multiSection: u.default.bool, renderSectionTitle: function (e, t) {var n = e[t];if (!0 === e.multiSection && "function" != typeof n) throw new Error("'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp");}, getSectionSuggestions: function (e, t) {var n = e[t];if (!0 === e.multiSection && "function" != typeof n) throw new Error("'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp");}, focusInputOnSuggestionClick: u.default.bool, highlightFirstSuggestion: u.default.bool, theme: u.default.object, id: u.default.string }, p.defaultProps = { renderSuggestionsContainer: function (e) {var t = e.containerProps,n = e.children;return o.default.createElement("div", t, n);}, shouldRenderSuggestions: function (e) {return e.trim().length > 0;}, alwaysRenderSuggestions: !1, multiSection: !1, focusInputOnSuggestionClick: !0, highlightFirstSuggestion: !1, theme: c.defaultTheme, id: "1" };var h = function () {var e = this;this.onDocumentMouseDown = function (t) {e.justClickedOnSuggestionsContainer = !1;for (var n = t.detail && t.detail.target || t.target; null !== n && n !== document;) {if (null !== n.getAttribute("data-suggestion-index")) return;if (n === e.suggestionsContainer) return void (e.justClickedOnSuggestionsContainer = !0);n = n.parentNode;}}, this.storeAutowhateverRef = function (t) {null !== t && (e.autowhatever = t);}, this.onSuggestionMouseEnter = function (t, n) {var r = n.sectionIndex,i = n.itemIndex;e.updateHighlightedSuggestion(r, i), t.target === e.pressedSuggestion && (e.justSelectedSuggestion = !0), e.justMouseEntered = !0, setTimeout(function () {e.justMouseEntered = !1;});}, this.highlightFirstSuggestion = function () {e.updateHighlightedSuggestion(e.props.multiSection ? 0 : null, 0);}, this.onDocumentMouseUp = function () {e.pressedSuggestion && !e.justSelectedSuggestion && e.input.focus(), e.pressedSuggestion = null;}, this.onSuggestionMouseDown = function (t) {e.justSelectedSuggestion || (e.justSelectedSuggestion = !0, e.pressedSuggestion = t.target);}, this.onSuggestionsClearRequested = function () {var t = e.props.onSuggestionsClearRequested;t && t();}, this.onSuggestionSelected = function (t, n) {var r = e.props,i = r.alwaysRenderSuggestions,a = r.onSuggestionSelected,o = r.onSuggestionsFetchRequested;a && a(t, n), i ? o({ value: n.suggestionValue, reason: "suggestion-selected" }) : e.onSuggestionsClearRequested(), e.resetHighlightedSuggestion();}, this.onSuggestionClick = function (t) {var n = e.props,r = n.alwaysRenderSuggestions,i = n.focusInputOnSuggestionClick,a = e.getSuggestionIndices(e.findSuggestionElement(t.target)),o = a.sectionIndex,u = a.suggestionIndex,s = e.getSuggestion(o, u),l = e.props.getSuggestionValue(s);e.maybeCallOnChange(t, l, "click"), e.onSuggestionSelected(t, { suggestion: s, suggestionValue: l, suggestionIndex: u, sectionIndex: o, method: "click" }), r || e.closeSuggestions(), !0 === i ? e.input.focus() : e.onBlur(), setTimeout(function () {e.justSelectedSuggestion = !1;});}, this.onBlur = function () {var t = e.props,n = t.inputProps,r = t.shouldRenderSuggestions,i = n.value,a = n.onBlur,o = e.getHighlightedSuggestion(),u = r(i);e.setState({ isFocused: !1, highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: null, isCollapsed: !u }), a && a(e.blurEvent, { highlightedSuggestion: o });}, this.onSuggestionMouseLeave = function (t) {e.resetHighlightedSuggestion(!1), e.justSelectedSuggestion && t.target === e.pressedSuggestion && (e.justSelectedSuggestion = !1);}, this.onSuggestionTouchStart = function () {e.justSelectedSuggestion = !0;}, this.onSuggestionTouchMove = function () {e.justSelectedSuggestion = !1, e.pressedSuggestion = null, e.input.focus();}, this.itemProps = function (t) {return { "data-section-index": t.sectionIndex, "data-suggestion-index": t.itemIndex, onMouseEnter: e.onSuggestionMouseEnter, onMouseLeave: e.onSuggestionMouseLeave, onMouseDown: e.onSuggestionMouseDown, onTouchStart: e.onSuggestionTouchStart, onTouchMove: e.onSuggestionTouchMove, onClick: e.onSuggestionClick };}, this.renderSuggestionsContainer = function (t) {var n = t.containerProps,r = t.children;return (0, e.props.renderSuggestionsContainer)({ containerProps: n, children: r, query: e.getQuery() });};};t.default = p;}, function (e, t, n) {"use strict";e.exports = function (e, t) {if (e === t) return !0;if (!e || !t) return !1;var n = e.length;if (t.length !== n) return !1;for (var r = 0; r < n; r++) if (e[r] !== t[r]) return !1;return !0;};}, function (e, t, n) {"use strict";e.exports = n(185).default;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, u = e[Symbol.iterator](); !(r = (o = u.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && u.return && u.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");},a = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),o = n(0),u = p(o),s = p(n(1)),l = p(n(186)),c = p(n(187)),f = p(n(189)),d = p(n(190));function p(e) {return e && e.__esModule ? e : { default: e };}var h = {},g = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.storeInputReference = function (e) {null !== e && (n.input = e);}, n.storeItemsContainerReference = function (e) {null !== e && (n.itemsContainer = e);}, n.onHighlightedItemChange = function (e) {n.highlightedItem = e;}, n.getItemId = function (e, t) {return null === t ? null : "react-autowhatever-" + n.props.id + "-" + (null === e ? "" : "section-" + e) + "-item-" + t;}, n.onFocus = function (e) {var t = n.props.inputProps;n.setState({ isInputFocused: !0 }), t.onFocus && t.onFocus(e);}, n.onBlur = function (e) {var t = n.props.inputProps;n.setState({ isInputFocused: !1 }), t.onBlur && t.onBlur(e);}, n.onKeyDown = function (e) {var t = n.props,r = t.inputProps,a = t.highlightedSectionIndex,o = t.highlightedItemIndex;switch (e.key) {case "ArrowDown":case "ArrowUp":var u = "ArrowDown" === e.key ? "next" : "prev",s = n.sectionIterator[u]([a, o]),l = i(s, 2),c = l[0],f = l[1];r.onKeyDown(e, { newHighlightedSectionIndex: c, newHighlightedItemIndex: f });break;default:r.onKeyDown(e, { highlightedSectionIndex: a, highlightedItemIndex: o });}}, n.highlightedItem = null, n.state = { isInputFocused: !1 }, n.setSectionsItems(e), n.setSectionIterator(e), n.setTheme(e), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), a(t, [{ key: "componentDidMount", value: function () {this.ensureHighlightedItemIsVisible();} }, { key: "UNSAFE_componentWillReceiveProps", value: function (e) {e.items !== this.props.items && this.setSectionsItems(e), e.items === this.props.items && e.multiSection === this.props.multiSection || this.setSectionIterator(e), e.theme !== this.props.theme && this.setTheme(e);} }, { key: "componentDidUpdate", value: function () {this.ensureHighlightedItemIsVisible();} }, { key: "setSectionsItems", value: function (e) {e.multiSection && (this.sectionsItems = e.items.map(function (t) {return e.getSectionItems(t);}), this.sectionsLengths = this.sectionsItems.map(function (e) {return e.length;}), this.allSectionsAreEmpty = this.sectionsLengths.every(function (e) {return 0 === e;}));} }, { key: "setSectionIterator", value: function (e) {this.sectionIterator = (0, l.default)({ multiSection: e.multiSection, data: e.multiSection ? this.sectionsLengths : e.items.length });} }, { key: "setTheme", value: function (e) {this.theme = (0, c.default)(e.theme);} }, { key: "renderSections", value: function () {var e = this;if (this.allSectionsAreEmpty) return null;var t = this.theme,n = this.props,r = n.id,i = n.items,a = n.renderItem,o = n.renderItemData,s = n.renderSectionTitle,l = n.highlightedSectionIndex,c = n.highlightedItemIndex,p = n.itemProps;return i.map(function (n, i) {var h = "react-autowhatever-" + r + "-",g = h + "section-" + i + "-",m = 0 === i;return u.default.createElement("div", t(g + "container", "sectionContainer", m && "sectionContainerFirst"), u.default.createElement(f.default, { section: n, renderSectionTitle: s, theme: t, sectionKeyPrefix: g }), u.default.createElement(d.default, { items: e.sectionsItems[i], itemProps: p, renderItem: a, renderItemData: o, sectionIndex: i, highlightedItemIndex: l === i ? c : null, onHighlightedItemChange: e.onHighlightedItemChange, getItemId: e.getItemId, theme: t, keyPrefix: h, ref: e.storeItemsListReference }));});} }, { key: "renderItems", value: function () {var e = this.props.items;if (0 === e.length) return null;var t = this.theme,n = this.props,r = n.id,i = n.renderItem,a = n.renderItemData,o = n.highlightedSectionIndex,s = n.highlightedItemIndex,l = n.itemProps;return u.default.createElement(d.default, { items: e, itemProps: l, renderItem: i, renderItemData: a, highlightedItemIndex: null === o ? s : null, onHighlightedItemChange: this.onHighlightedItemChange, getItemId: this.getItemId, theme: t, keyPrefix: "react-autowhatever-" + r + "-" });} }, { key: "ensureHighlightedItemIsVisible", value: function () {var e = this.highlightedItem;if (e) {var t = this.itemsContainer,n = e.offsetParent === t ? e.offsetTop : e.offsetTop - t.offsetTop,r = t.scrollTop;n < r ? r = n : n + e.offsetHeight > r + t.offsetHeight && (r = n + e.offsetHeight - t.offsetHeight), r !== t.scrollTop && (t.scrollTop = r);}} }, { key: "render", value: function () {var e = this.theme,t = this.props,n = t.id,i = t.multiSection,a = t.renderInputComponent,o = t.renderItemsContainer,s = t.highlightedSectionIndex,l = t.highlightedItemIndex,c = this.state.isInputFocused,f = i ? this.renderSections() : this.renderItems(),d = null !== f,p = this.getItemId(s, l),h = "react-autowhatever-" + n,g = r({ role: "combobox", "aria-haspopup": "listbox", "aria-owns": h, "aria-expanded": d }, e("react-autowhatever-" + n + "-container", "container", d && "containerOpen"), this.props.containerProps),m = a(r({ type: "text", value: "", autoComplete: "off", "aria-autocomplete": "list", "aria-controls": h, "aria-activedescendant": p }, e("react-autowhatever-" + n + "-input", "input", d && "inputOpen", c && "inputFocused"), this.props.inputProps, { onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.props.inputProps.onKeyDown && this.onKeyDown, ref: this.storeInputReference })),v = o({ containerProps: r({ id: h, role: "listbox" }, e("react-autowhatever-" + n + "-items-container", "itemsContainer", d && "itemsContainerOpen"), { ref: this.storeItemsContainerReference }), children: f });return u.default.createElement("div", g, m, v);} }]), t;}(o.Component);g.propTypes = { id: s.default.string, multiSection: s.default.bool, renderInputComponent: s.default.func, renderItemsContainer: s.default.func, items: s.default.array.isRequired, renderItem: s.default.func, renderItemData: s.default.object, renderSectionTitle: s.default.func, getSectionItems: s.default.func, containerProps: s.default.object, inputProps: s.default.object, itemProps: s.default.oneOfType([s.default.object, s.default.func]), highlightedSectionIndex: s.default.number, highlightedItemIndex: s.default.number, theme: s.default.oneOfType([s.default.object, s.default.array]) }, g.defaultProps = { id: "1", multiSection: !1, renderInputComponent: function (e) {return u.default.createElement("input", e);}, renderItemsContainer: function (e) {var t = e.containerProps,n = e.children;return u.default.createElement("div", t, n);}, renderItem: function () {throw new Error("`renderItem` must be provided");}, renderItemData: h, renderSectionTitle: function () {throw new Error("`renderSectionTitle` must be provided");}, getSectionItems: function () {throw new Error("`getSectionItems` must be provided");}, containerProps: h, inputProps: h, itemProps: h, highlightedSectionIndex: null, highlightedItemIndex: null, theme: { container: "react-autowhatever__container", containerOpen: "react-autowhatever__container--open", input: "react-autowhatever__input", inputOpen: "react-autowhatever__input--open", inputFocused: "react-autowhatever__input--focused", itemsContainer: "react-autowhatever__items-container", itemsContainerOpen: "react-autowhatever__items-container--open", itemsList: "react-autowhatever__items-list", item: "react-autowhatever__item", itemFirst: "react-autowhatever__item--first", itemHighlighted: "react-autowhatever__item--highlighted", sectionContainer: "react-autowhatever__section-container", sectionContainerFirst: "react-autowhatever__section-container--first", sectionTitle: "react-autowhatever__section-title" } }, t.default = g;}, function (e, t, n) {"use strict";var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, u = e[Symbol.iterator](); !(r = (o = u.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && u.return && u.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");};e.exports = function (e) {var t = e.data,n = e.multiSection;function i(e) {var i = r(e, 2),a = i[0],o = i[1];return n ? null === o || o === t[a] - 1 ? null === (a = function (e) {for (null === e ? e = 0 : e++; e < t.length && 0 === t[e];) e++;return e === t.length ? null : e;}(a)) ? [null, null] : [a, 0] : [a, o + 1] : 0 === t || o === t - 1 ? [null, null] : null === o ? [null, 0] : [null, o + 1];}return { next: i, prev: function (e) {var i = r(e, 2),a = i[0],o = i[1];return n ? null === o || 0 === o ? null === (a = function (e) {for (null === e ? e = t.length - 1 : e--; e >= 0 && 0 === t[e];) e--;return -1 === e ? null : e;}(a)) ? [null, null] : [a, t[a] - 1] : [a, o - 1] : 0 === t || 0 === o ? [null, null] : null === o ? [null, t - 1] : [null, o - 1];}, isLast: function (e) {return null === i(e)[1];} };};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, u = e[Symbol.iterator](); !(r = (o = u.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && u.return && u.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");};function i(e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}var a,o = n(188),u = (a = o) && a.__esModule ? a : { default: a },s = function (e) {return e;};t.default = function (e) {var t = Array.isArray(e) && 2 === e.length ? e : [e, null],n = r(t, 2),a = n[0],o = n[1];return function (e) {for (var t = arguments.length, n = Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];var l = n.map(function (e) {return a[e];}).filter(s);return "string" == typeof l[0] || "function" == typeof o ? { key: e, className: o ? o.apply(void 0, i(l)) : l.join(" ") } : { key: e, style: u.default.apply(void 0, [{}].concat(i(l))) };};}, e.exports = t.default;}, function (e, t, n) {"use strict";var r = Object.prototype.propertyIsEnumerable;function i(e) {if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e);}function a(e) {var t = Object.getOwnPropertyNames(e);return Object.getOwnPropertySymbols && (t = t.concat(Object.getOwnPropertySymbols(e))), t.filter(function (t) {return r.call(e, t);});}e.exports = Object.assign || function (e, t) {for (var n, r, o = i(e), u = 1; u < arguments.length; u++) {n = arguments[u], r = a(Object(n));for (var s = 0; s < r.length; s++) o[r[s]] = n[r[s]];}return o;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = n(0),a = s(i),o = s(n(1)),u = s(n(47));function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var f = function (e) {function t() {return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "shouldComponentUpdate", value: function (e) {return (0, u.default)(e, this.props);} }, { key: "render", value: function () {var e = this.props,t = e.section,n = e.renderSectionTitle,r = e.theme,i = e.sectionKeyPrefix,o = n(t);return o ? a.default.createElement("div", r(i + "title", "sectionTitle"), o) : null;} }]), t;}(i.Component);f.propTypes = { section: o.default.any.isRequired, renderSectionTitle: o.default.func.isRequired, theme: o.default.func.isRequired, sectionKeyPrefix: o.default.string.isRequired }, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = c(a),u = c(n(1)),s = c(n(191)),l = c(n(47));function c(e) {return e && e.__esModule ? e : { default: e };}function f(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function d(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {var e, n, r;f(this, t);for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) a[o] = arguments[o];return n = r = d(this, (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply(e, [this].concat(a))), r.storeHighlightedItemReference = function (e) {r.props.onHighlightedItemChange(null === e ? null : e.item);}, d(r, n);}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "shouldComponentUpdate", value: function (e) {return (0, l.default)(e, this.props, ["itemProps"]);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.items,i = t.itemProps,a = t.renderItem,u = t.renderItemData,l = t.sectionIndex,c = t.highlightedItemIndex,f = t.getItemId,d = t.theme,p = t.keyPrefix,h = null === l ? p : p + "section-" + l + "-",g = "function" == typeof i;return o.default.createElement("ul", r({ role: "listbox" }, d(h + "items-list", "itemsList")), n.map(function (t, n) {var p = 0 === n,m = n === c,v = h + "item-" + n,b = g ? i({ sectionIndex: l, itemIndex: n }) : i,y = r({ id: f(l, n), "aria-selected": m }, d(v, "item", p && "itemFirst", m && "itemHighlighted"), b);return m && (y.ref = e.storeHighlightedItemReference), o.default.createElement(s.default, r({}, y, { sectionIndex: l, isHighlighted: m, itemIndex: n, item: t, renderItem: a, renderItemData: u }));}));} }]), t;}(a.Component);p.propTypes = { items: u.default.array.isRequired, itemProps: u.default.oneOfType([u.default.object, u.default.func]), renderItem: u.default.func.isRequired, renderItemData: u.default.object.isRequired, sectionIndex: u.default.number, highlightedItemIndex: u.default.number, onHighlightedItemChange: u.default.func.isRequired, getItemId: u.default.func.isRequired, theme: u.default.func.isRequired, keyPrefix: u.default.string.isRequired }, p.defaultProps = { sectionIndex: null }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = l(a),u = l(n(1)),s = l(n(47));function l(e) {return e && e.__esModule ? e : { default: e };}function c(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function f(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {var e, n, r;c(this, t);for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) a[o] = arguments[o];return n = r = f(this, (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply(e, [this].concat(a))), r.storeItemReference = function (e) {null !== e && (r.item = e);}, r.onMouseEnter = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onMouseEnter(e, { sectionIndex: n, itemIndex: i });}, r.onMouseLeave = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onMouseLeave(e, { sectionIndex: n, itemIndex: i });}, r.onMouseDown = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onMouseDown(e, { sectionIndex: n, itemIndex: i });}, r.onClick = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onClick(e, { sectionIndex: n, itemIndex: i });}, f(r, n);}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "shouldComponentUpdate", value: function (e) {return (0, s.default)(e, this.props, ["renderItemData"]);} }, { key: "render", value: function () {var e = this.props,t = e.isHighlighted,n = e.item,i = e.renderItem,a = e.renderItemData,u = function (e, t) {var n = {};for (var r in e) t.indexOf(r) >= 0 || Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);return n;}(e, ["isHighlighted", "item", "renderItem", "renderItemData"]);return delete u.sectionIndex, delete u.itemIndex, "function" == typeof u.onMouseEnter && (u.onMouseEnter = this.onMouseEnter), "function" == typeof u.onMouseLeave && (u.onMouseLeave = this.onMouseLeave), "function" == typeof u.onMouseDown && (u.onMouseDown = this.onMouseDown), "function" == typeof u.onClick && (u.onClick = this.onClick), o.default.createElement("li", r({ role: "option" }, u, { ref: this.storeItemReference }), i(n, r({ isHighlighted: t }, a)));} }]), t;}(a.Component);d.propTypes = { sectionIndex: u.default.number, isHighlighted: u.default.bool.isRequired, itemIndex: u.default.number.isRequired, item: u.default.any.isRequired, renderItem: u.default.func.isRequired, renderItemData: u.default.object.isRequired, onMouseEnter: u.default.func, onMouseLeave: u.default.func, onMouseDown: u.default.func, onClick: u.default.func }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.defaultTheme = { container: "react-autosuggest__container", containerOpen: "react-autosuggest__container--open", input: "react-autosuggest__input", inputOpen: "react-autosuggest__input--open", inputFocused: "react-autosuggest__input--focused", suggestionsContainer: "react-autosuggest__suggestions-container", suggestionsContainerOpen: "react-autosuggest__suggestions-container--open", suggestionsList: "react-autosuggest__suggestions-list", suggestion: "react-autosuggest__suggestion", suggestionFirst: "react-autosuggest__suggestion--first", suggestionHighlighted: "react-autosuggest__suggestion--highlighted", sectionContainer: "react-autosuggest__section-container", sectionContainerFirst: "react-autosuggest__section-container--first", sectionTitle: "react-autosuggest__section-title" }, t.mapToAutowhateverTheme = function (e) {var t = {};for (var n in e) switch (n) {case "suggestionsContainer":t.itemsContainer = e[n];break;case "suggestionsContainerOpen":t.itemsContainerOpen = e[n];break;case "suggestion":t.item = e[n];break;case "suggestionFirst":t.itemFirst = e[n];break;case "suggestionHighlighted":t.itemHighlighted = e[n];break;case "suggestionsList":t.itemsList = e[n];break;default:t[n] = e[n];}return t;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(10)),u = c(n(194)),s = c(n(196)),l = n(3);function c(e) {return e && e.__esModule ? e : { default: e };}function f(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function d(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {return f(this, t), d(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.marked,n = e.option,r = e.searchFieldInputValue,a = e.texts,l = e.useContainsFilter,c = t ? "suggestion marked" : "suggestion",f = t ? a.screenReader.selected : a.screenReader.notSelected,d = n.subText && "." !== n.subText ? " " + (0, o.default)(n.subText) : "",p = { insideWords: l, findAllOccurrences: !0, requireMatchAll: !0 },h = (0, u.default)(n.text, r, p),g = (0, s.default)(n.text, h);return i.default.createElement("div", { className: c, value: JSON.stringify(n) }, i.default.createElement("span", { className: "suggenstionContent" }, g.map(function (e, t) {var n = e.highlight ? "highlight" : null;return i.default.createElement("span", { className: n, key: "highlight-" + t }, e.text);}), d), i.default.createElement("span", { className: "aural" }, f));} }]), t;}(i.default.Component);p.propTypes = { marked: a.default.bool.isRequired, option: a.default.oneOfType([a.default.exact(l.selectOptionProductDataType), a.default.exact(l.countryDataType)]).isRequired, searchFieldInputValue: a.default.string, texts: a.default.exact({ screenReader: a.default.exact({ selected: a.default.string.isRequired, notSelected: a.default.string.isRequired }).isRequired }).isRequired, useContainsFilter: a.default.bool }, p.defaultProps = { searchFieldInputValue: "", useContainsFilter: !1 }, t.default = p;}, function (e, t, n) {var r = n(195).clean,i = /[.*+?^${}()|[\]\\]/g,a = /[a-z0-9_]/i,o = /\s+/;e.exports = function (e, t, n) {var u, s;return s = { insideWords: !1, findAllOccurrences: !1, requireMatchAll: !1 }, u = (u = n) || {}, Object.keys(u).forEach(function (e) {s[e] = !!u[e];}), n = s, e = r(e), (t = r(t)).trim().split(o).filter(function (e) {return e.length > 0;}).reduce(function (t, r) {var o,u,s = r.length,l = !n.insideWords && a.test(r[0]) ? "\\b" : "",c = new RegExp(l + r.replace(i, "\\$&"), "i");if (o = c.exec(e), n.requireMatchAll && null === o) return e = "", [];for (; o && (u = o.index, t.push([u, u + s]), e = e.slice(0, u) + new Array(s + 1).join(" ") + e.slice(u + s), n.findAllOccurrences);) o = c.exec(e);return t;}, []).sort(function (e, t) {return e[0] - t[0];});};}, function (e, t, n) {var r, i, a;
  // @license MIT
  a = function () {for (var e = { map: {} }, t = [{ base: " ", letters: " " }, { base: "A", letters: "AⒶＡÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ" }, { base: "AA", letters: "Ꜳ" }, { base: "AE", letters: "ÆǼǢ" }, { base: "AO", letters: "Ꜵ" }, { base: "AU", letters: "Ꜷ" }, { base: "AV", letters: "ꜸꜺ" }, { base: "AY", letters: "Ꜽ" }, { base: "B", letters: "BⒷＢḂḄḆɃƂƁ" }, { base: "C", letters: "CⒸＣĆĈĊČÇḈƇȻꜾ" }, { base: "D", letters: "DⒹＤḊĎḌḐḒḎĐƋƊƉꝹ" }, { base: "DZ", letters: "ǱǄ" }, { base: "Dz", letters: "ǲǅ" }, { base: "E", letters: "EⒺＥÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ" }, { base: "F", letters: "FⒻＦḞƑꝻ" }, { base: "G", letters: "GⒼＧǴĜḠĞĠǦĢǤƓꞠꝽꝾ" }, { base: "H", letters: "HⒽＨĤḢḦȞḤḨḪĦⱧⱵꞍ" }, { base: "I", letters: "IⒾＩÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ" }, { base: "J", letters: "JⒿＪĴɈ" }, { base: "K", letters: "KⓀＫḰǨḲĶḴƘⱩꝀꝂꝄꞢ" }, { base: "L", letters: "LⓁＬĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ" }, { base: "LJ", letters: "Ǉ" }, { base: "Lj", letters: "ǈ" }, { base: "M", letters: "MⓂＭḾṀṂⱮƜ" }, { base: "N", letters: "NⓃＮǸŃÑṄŇṆŅṊṈȠƝꞐꞤ" }, { base: "NJ", letters: "Ǌ" }, { base: "Nj", letters: "ǋ" }, { base: "O", letters: "OⓄＯÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ" }, { base: "OI", letters: "Ƣ" }, { base: "OO", letters: "Ꝏ" }, { base: "OU", letters: "Ȣ" }, { base: "P", letters: "PⓅＰṔṖƤⱣꝐꝒꝔ" }, { base: "Q", letters: "QⓆＱꝖꝘɊ" }, { base: "R", letters: "RⓇＲŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ" }, { base: "S", letters: "SⓈＳẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ" }, { base: "T", letters: "TⓉＴṪŤṬȚŢṰṮŦƬƮȾꞆ" }, { base: "Th", letters: "Þ" }, { base: "TZ", letters: "Ꜩ" }, { base: "U", letters: "UⓊＵÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ" }, { base: "V", letters: "VⓋＶṼṾƲꝞɅ" }, { base: "VY", letters: "Ꝡ" }, { base: "W", letters: "WⓌＷẀẂŴẆẄẈⱲ" }, { base: "X", letters: "XⓍＸẊẌ" }, { base: "Y", letters: "YⓎＹỲÝŶỸȲẎŸỶỴƳɎỾ" }, { base: "Z", letters: "ZⓏＺŹẐŻŽẒẔƵȤⱿⱫꝢ" }, { base: "a", letters: "aⓐａẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐɑ" }, { base: "aa", letters: "ꜳ" }, { base: "ae", letters: "æǽǣ" }, { base: "ao", letters: "ꜵ" }, { base: "au", letters: "ꜷ" }, { base: "av", letters: "ꜹꜻ" }, { base: "ay", letters: "ꜽ" }, { base: "b", letters: "bⓑｂḃḅḇƀƃɓ" }, { base: "c", letters: "cⓒｃćĉċčçḉƈȼꜿↄ" }, { base: "d", letters: "dⓓｄḋďḍḑḓḏđƌɖɗꝺ" }, { base: "dz", letters: "ǳǆ" }, { base: "e", letters: "eⓔｅèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ" }, { base: "f", letters: "fⓕｆḟƒꝼ" }, { base: "ff", letters: "ﬀ" }, { base: "fi", letters: "ﬁ" }, { base: "fl", letters: "ﬂ" }, { base: "ffi", letters: "ﬃ" }, { base: "ffl", letters: "ﬄ" }, { base: "g", letters: "gⓖｇǵĝḡğġǧģǥɠꞡᵹꝿ" }, { base: "h", letters: "hⓗｈĥḣḧȟḥḩḫẖħⱨⱶɥ" }, { base: "hv", letters: "ƕ" }, { base: "i", letters: "iⓘｉìíîĩīĭïḯỉǐȉȋịįḭɨı" }, { base: "j", letters: "jⓙｊĵǰɉ" }, { base: "k", letters: "kⓚｋḱǩḳķḵƙⱪꝁꝃꝅꞣ" }, { base: "l", letters: "lⓛｌŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ" }, { base: "lj", letters: "ǉ" }, { base: "m", letters: "mⓜｍḿṁṃɱɯ" }, { base: "n", letters: "nñnⓝｎǹńñṅňṇņṋṉƞɲŉꞑꞥлԉ" }, { base: "nj", letters: "ǌ" }, { base: "o", letters: "߀oⓞｏòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ" }, { base: "oe", letters: "Œœ" }, { base: "oi", letters: "ƣ" }, { base: "ou", letters: "ȣ" }, { base: "oo", letters: "ꝏ" }, { base: "p", letters: "pⓟｐṕṗƥᵽꝑꝓꝕ" }, { base: "q", letters: "qⓠｑɋꝗꝙ" }, { base: "r", letters: "rⓡｒŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ" }, { base: "s", letters: "sⓢｓßśṥŝṡšṧṣṩșşȿꞩꞅẛ" }, { base: "ss", letters: "ß" }, { base: "t", letters: "tⓣｔṫẗťṭțţṱṯŧƭʈⱦꞇ" }, { base: "th", letters: "þ" }, { base: "tz", letters: "ꜩ" }, { base: "u", letters: "uⓤｕùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ" }, { base: "v", letters: "vⓥｖṽṿʋꝟʌ" }, { base: "vy", letters: "ꝡ" }, { base: "w", letters: "wⓦｗẁẃŵẇẅẘẉⱳ" }, { base: "x", letters: "xⓧｘẋẍ" }, { base: "y", letters: "yⓨｙỳýŷỹȳẏÿỷẙỵƴɏỿ" }, { base: "z", letters: "zⓩｚźẑżžẓẕƶȥɀⱬꝣ" }], n = 0, r = t.length; n < r; n++) for (var i = t[n].letters.split(""), a = 0, o = i.length; a < o; a++) e.map[i[a]] = t[n].base;return e.clean = function (t) {if (!t || !t.length || t.length < 1) return "";for (var n, r = "", i = t.split(""), a = 0, o = i.length; a < o; a++) r += (n = i[a]) in e.map ? e.map[n] : n;return r;}, e;}, e.exports ? e.exports = a() : void 0 === (i = "function" == typeof (r = a) ? r.call(t, n, t, e) : r) || (e.exports = i);}, function (e, t) {e.exports = function (e, t) {var n = [];return 0 === t.length ? n.push({ text: e, highlight: !1 }) : t[0][0] > 0 && n.push({ text: e.slice(0, t[0][0]), highlight: !1 }), t.forEach(function (r, i) {var a = r[0],o = r[1];n.push({ text: e.slice(a, o), highlight: !0 }), i === t.length - 1 ? o < e.length && n.push({ text: e.slice(o, e.length), highlight: !1 }) : o < t[i + 1][0] && n.push({ text: e.slice(o, t[i + 1][0]), highlight: !1 });}), n;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(198)),u = s(n(4));function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var f = function (e) {function t() {return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,n = e.data,r = e.functions,a = e.icons,s = e.texts,l = e.titleHtmlTextWrapping;return i.default.createElement("div", { className: "toggleContainer" }, i.default.createElement(u.default, { preventFocus: !0, texts: s.title, imgSrc: a.info, functions: { handlePopupChange: r.handlePopupChange }, htmlTextWrapping: l }), i.default.createElement("div", { className: "toggleWrapper" }, i.default.createElement("div", { className: "toggle" }, i.default.createElement(o.default, { id: this.props.id, checked: n.isGift, onChange: r.handleToggleChange, onFocus: t.onFocus, onBlur: t.onBlur }), i.default.createElement("label", { htmlFor: this.props.id }, s.toggleLabel))));} }]), t;}(i.default.Component);f.onBlur = function (e) {var t = f.findAncestor(e.currentTarget, "react-toggle");console.debug("toggleClick remove"), e.currentTarget.removeEventListener("keydown", t.click);}, f.onFocus = function (e) {e.currentTarget.addEventListener("keydown", f.handleKeydown);}, f.handleKeydown = function (e) {var t = f.findAncestor(e.currentTarget, "react-toggle");13 !== e.keyCode && 39 !== e.keyCode && 37 !== e.keyCode || (console.debug("toggleClick"), t.click());}, f.findAncestor = function (e, t) {for (; (e = e.parentElement) && !e.classList.contains(t););return e;}, f.propTypes = { data: a.default.exact({ isGift: a.default.bool.isRequired }).isRequired, functions: a.default.exact({ handlePopupChange: a.default.func.isRequired, handleToggleChange: a.default.func.isRequired }).isRequired, icons: a.default.exact({ info: a.default.string.isRequired }).isRequired, id: a.default.string.isRequired, texts: a.default.exact({ infoPopup: a.default.exact({ body: a.default.string.isRequired, title: a.default.exact({ iconButtonAltText: a.default.string.isRequired, text: a.default.string.isRequired }).isRequired }).isRequired, title: a.default.exact({ iconButtonAltText: a.default.string.isRequired, text: a.default.string.isRequired }), toggleLabel: a.default.string.isRequired }).isRequired, titleHtmlTextWrapping: a.default.string.isRequired }, f.defaultProps = {}, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = d(a),u = d(n(199)),s = d(n(1)),l = d(n(200)),c = d(n(201)),f = n(202);function d(e) {return e && e.__esModule ? e : { default: e };}var p = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.handleClick = n.handleClick.bind(n), n.handleTouchStart = n.handleTouchStart.bind(n), n.handleTouchMove = n.handleTouchMove.bind(n), n.handleTouchEnd = n.handleTouchEnd.bind(n), n.handleFocus = n.handleFocus.bind(n), n.handleBlur = n.handleBlur.bind(n), n.previouslyChecked = !(!e.checked && !e.defaultChecked), n.state = { checked: !(!e.checked && !e.defaultChecked), hasFocus: !1 }, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidUpdate", value: function (e) {e.checked !== this.props.checked && this.setState({ checked: !!this.props.checked });} }, { key: "handleClick", value: function (e) {if (!this.props.disabled) {var t = this.input;if (e.target !== t && !this.moved) return this.previouslyChecked = t.checked, e.preventDefault(), t.focus(), void t.click();var n = this.props.hasOwnProperty("checked") ? this.props.checked : t.checked;this.setState({ checked: n });}} }, { key: "handleTouchStart", value: function (e) {this.props.disabled || (this.startX = (0, f.pointerCoord)(e).x, this.activated = !0);} }, { key: "handleTouchMove", value: function (e) {if (this.activated && (this.moved = !0, this.startX)) {var t = (0, f.pointerCoord)(e).x;this.state.checked && t + 15 < this.startX ? (this.setState({ checked: !1 }), this.startX = t, this.activated = !0) : t - 15 > this.startX && (this.setState({ checked: !0 }), this.startX = t, this.activated = t < this.startX + 5);}} }, { key: "handleTouchEnd", value: function (e) {if (this.moved) {var t = this.input;if (e.preventDefault(), this.startX) {var n = (0, f.pointerCoord)(e).x;!0 === this.previouslyChecked && this.startX + 4 > n ? this.previouslyChecked !== this.state.checked && (this.setState({ checked: !1 }), this.previouslyChecked = this.state.checked, t.click()) : this.startX - 4 < n && this.previouslyChecked !== this.state.checked && (this.setState({ checked: !0 }), this.previouslyChecked = this.state.checked, t.click()), this.activated = !1, this.startX = null, this.moved = !1;}}} }, { key: "handleFocus", value: function (e) {var t = this.props.onFocus;t && t(e), this.setState({ hasFocus: !0 });} }, { key: "handleBlur", value: function (e) {var t = this.props.onBlur;t && t(e), this.setState({ hasFocus: !1 });} }, { key: "getIcon", value: function (e) {var n = this.props.icons;return n ? void 0 === n[e] ? t.defaultProps.icons[e] : n[e] : null;} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,i = (t.icons, function (e, t) {var n = {};for (var r in e) t.indexOf(r) >= 0 || Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);return n;}(t, ["className", "icons"])),a = (0, u.default)("react-toggle", { "react-toggle--checked": this.state.checked, "react-toggle--focus": this.state.hasFocus, "react-toggle--disabled": this.props.disabled }, n);return o.default.createElement("div", { className: a, onClick: this.handleClick, onTouchStart: this.handleTouchStart, onTouchMove: this.handleTouchMove, onTouchEnd: this.handleTouchEnd }, o.default.createElement("div", { className: "react-toggle-track" }, o.default.createElement("div", { className: "react-toggle-track-check" }, this.getIcon("checked")), o.default.createElement("div", { className: "react-toggle-track-x" }, this.getIcon("unchecked"))), o.default.createElement("div", { className: "react-toggle-thumb" }), o.default.createElement("input", r({}, i, { ref: function (t) {e.input = t;}, onFocus: this.handleFocus, onBlur: this.handleBlur, className: "react-toggle-screenreader-only", type: "checkbox" })));} }]), t;}(a.PureComponent);t.default = p, p.displayName = "Toggle", p.defaultProps = { icons: { checked: o.default.createElement(l.default, null), unchecked: o.default.createElement(c.default, null) } }, p.propTypes = { checked: s.default.bool, disabled: s.default.bool, defaultChecked: s.default.bool, onChange: s.default.func, onFocus: s.default.func, onBlur: s.default.func, className: s.default.string, name: s.default.string, value: s.default.string, id: s.default.string, "aria-labelledby": s.default.string, "aria-label": s.default.string, icons: s.default.oneOfType([s.default.bool, s.default.shape({ checked: s.default.node, unchecked: s.default.node })]) };}, function (e, t, n) {var r;
  /*!
    Copyright (c) 2018 Jed Watson.
    Licensed under the MIT License (MIT), see
    http://jedwatson.github.io/classnames
  */!function () {"use strict";var n = {}.hasOwnProperty;function i() {for (var e = "", t = 0; t < arguments.length; t++) {var n = arguments[t];n && (e = o(e, a(n)));}return e;}function a(e) {if ("string" == typeof e || "number" == typeof e) return e;if ("object" != typeof e) return "";if (Array.isArray(e)) return i.apply(null, e);if (e.toString !== Object.prototype.toString && !e.toString.toString().includes("[native code]")) return e.toString();var t = "";for (var r in e) n.call(e, r) && e[r] && (t = o(t, r));return t;}function o(e, t) {return t ? e ? e + " " + t : e + t : e;}e.exports ? (i.default = i, e.exports = i) : void 0 === (r = function () {return i;}.apply(t, [])) || (e.exports = r);}();}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r,i = n(0),a = (r = i) && r.__esModule ? r : { default: r };t.default = function () {return a.default.createElement("svg", { width: "14", height: "11", viewBox: "0 0 14 11" }, a.default.createElement("path", { d: "M11.264 0L5.26 6.004 2.103 2.847 0 4.95l5.26 5.26 8.108-8.107L11.264 0", fill: "#fff", fillRule: "evenodd" }));};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r,i = n(0),a = (r = i) && r.__esModule ? r : { default: r };t.default = function () {return a.default.createElement("svg", { width: "10", height: "10", viewBox: "0 0 10 10" }, a.default.createElement("path", { d: "M9.9 2.12L7.78 0 4.95 2.828 2.12 0 0 2.12l2.83 2.83L0 7.776 2.123 9.9 4.95 7.07 7.78 9.9 9.9 7.776 7.072 4.95 9.9 2.12", fill: "#fff", fillRule: "evenodd" }));};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.pointerCoord = function (e) {if (e) {var t = e.changedTouches;if (t && t.length > 0) {var n = t[0];return { x: n.clientX, y: n.clientY };}var r = e.pageX;if (void 0 !== r) return { x: r, y: e.pageY };}return { x: 0, y: 0 };};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = d(n(1)),a = d(n(0)),o = d(n(15)),u = d(n(4)),s = n(13),l = n(46),c = n(3),f = n(11);function d(e) {return e && e.__esModule ? e : { default: e };}function p(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function h(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var g = function (e) {function t() {return p(this, t), h(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderPredictedTaxesText", value: function (e, t) {var n = this.props,r = n.calculationConstants,i = n.data,a = n.texts,o = { text: (0, l.currencyFormatDE)(e, a.currencyShort), class: "red" },u = (0, l.roundTo2Digits)(e);return 0 !== parseFloat(u) || i.isGift ? 0 === parseFloat(u) && i.isGift ? (o.text = a.resultNoTaxesGift, o.class = "green") : parseFloat(u) < r.minTaxToPayLowerThreshold && t <= r.zollTaxLimitNoGift ? (o.text = a.minTaxToPayLowerThreshold, o.class = "green") : 0 !== parseFloat(u) && parseFloat(u) < r.minTaxToPayThreshold && t > r.zollTaxLimitNoGift && (o.text = a.minTaxToPayThreshold, o.class = "green") : (o.text = a.resultNoTaxes, o.class = "green"), o;} }, { key: "_calculateBillValueTotal", value: function () {var e = this.props.data;return e.currency.calculationValue / e.currency.exchangeRate;} }, { key: "_calculateZollTaxes", value: function (e) {var t = this.props,n = t.calculationConstants,r = t.data,i = 0;return e > (r.isGift ? n.flatTaxRateUpperLimit : n.zollTaxLimitNoGift) && (r.country.eu ? r.country.specialZone && r.country.calcZoll && (i = e * r.product.zollTax) : i = e * r.product.zollTax, r.product.maxZollTaxAmount > 0 && (i < n.minZollTaxAmount ? i = n.minZollTaxAmount : i > r.product.maxZollTaxAmount && (i = r.product.maxZollTaxAmount))), parseFloat(i);} }, { key: "_calculateEuTaxes", value: function (e, t) {var n = this.props,r = n.calculationConstants,i = n.data,a = 0;return e > (i.isGift ? r.flatTaxRateLowerLimit : 0) && (i.country.eu ? i.country.specialZone && i.country.calcEuTax && (a = (e + t) * i.product.euTax) : a = (e + t) * i.product.euTax), a;} }, { key: "_calculateFlatTaxRate", value: function (e) {var t = this.props,n = t.calculationConstants,r = null;return t.data.isGift && e <= n.flatTaxRateUpperLimit && (r = e * n.flatTaxRate), r;} }, { key: "_canCalculate", value: function () {var e = this.props.data;return !(!e.country.text || !e.product.text);} }, { key: "_getZollTaxText", value: function (e) {var t = this.props,n = t.data,r = t.texts,i = n.product.maxZollTaxAmount > 0,a = r.zollTax1;return e > 0 && (a = i ? r.zollTax1 + " " + r.zollTax2 + r.maxZollTaxAmount1 + (0, l.currencyFormatDE)(e, r.currencyShort) + " " + r.maxZollTaxAmount2 + r.zollTax3 : r.zollTax1 + " " + r.zollTax2 + (0, l.currencyFormatDE)(100 * n.product.zollTax) + "%" + r.zollTax3), a;} }, { key: "_renderTitle", value: function (e) {var t = this.props.texts,n = null;return e.text !== t.resultNoTaxes && e.text !== t.resultNoTaxesGift && e.text !== t.minTaxToPayThreshold && e.text !== t.minTaxToPayLowerThreshold && (n = a.default.createElement(u.default, { htmlTextWrapping: s.TITLE_TEXT_WRAPPING_H2, preventIconDummy: !0, texts: t.title })), n;} }, { key: "render", value: function () {var e = this.props,n = e.texts,r = e.data,i = e.calculationConstants,u = this._calculateBillValueTotal(),s = this._calculateZollTaxes(u),c = this._calculateEuTaxes(u, s),f = this._calculateFlatTaxRate(u),d = t._calculaltePredictedTaxes(s, c, f),p = d.predictedTaxes,h = d.isFlatTax,g = (0, l.currencyFormatDE)(u, n.currencyShort),m = (0, l.currencyFormatDE)(s, n.currencyShort),v = (0, l.currencyFormatDE)(c, n.currencyShort),b = (0, l.currencyFormatDE)(f, n.currencyShort),y = this._canCalculate() ? "resultBox collapse open" : "resultBox collapse",_ = this._renderPredictedTaxesText(p, u),x = this._getZollTaxText(s);return a.default.createElement("div", { className: y }, this._renderTitle(_), a.default.createElement("div", { className: "flexRow center" }, a.default.createElement(o.default, { className: "textAlignCenter bigText " + _.class, text: _.text })), a.default.createElement(o.default, { className: "standardText bold", text: n.base }), a.default.createElement("div", { className: "flexRow" }, a.default.createElement(o.default, { className: "standardText", text: n.billValue }), a.default.createElement(o.default, { className: "standardText", text: g })), a.default.createElement(o.default, { className: "standardText bold", text: n.summary }), a.default.createElement("div", { className: "flexRow" }, a.default.createElement(o.default, { className: "standardText", text: x }), a.default.createElement(o.default, { className: "standardText", text: m })), h || c ? a.default.createElement("div", { className: "flexRow" }, a.default.createElement(o.default, { className: "standardText", text: h ? "" + n.flatTax1 + (0, l.currencyFormatDE)(100 * i.flatTaxRate) + "%" + n.flatTax2 : "" + n.euTax1 + (0, l.currencyFormatDE)(100 * r.product.euTax) + "%" + n.euTax2 }), a.default.createElement(o.default, { className: "standardText", text: h ? b : v })) : null, a.default.createElement("div", { className: "notificationContainer" }, a.default.createElement(o.default, { className: "standardText bordered", text: n.notification })));} }], [{ key: "_calculaltePredictedTaxes", value: function (e, t, n) {var r = e + t,i = !1;return n && (i = n < r, r = n < r ? n : r), { predictedTaxes: r, isFlatTax: i };} }]), t;}(a.default.Component);g.propTypes = { calculationConstants: i.default.exact(c.calculationConstantsType).isRequired, data: i.default.exact({ country: i.default.exact({ calcEuTax: i.default.number.isRequired, calcZoll: i.default.number.isRequired, eu: i.default.number.isRequired, specialZone: i.default.number.isRequired, text: i.default.string.isRequired }).isRequired, currency: i.default.exact({ exchangeRate: i.default.string.isRequired, value: i.default.string.isRequired, calculationValue: i.default.number.isRequired }).isRequired, isGift: i.default.bool.isRequired, product: i.default.exact({ euTax: i.default.string.isRequired, maxZollTaxAmount: i.default.string.isRequired, text: i.default.string.isRequired, zollTax: i.default.string.isRequired }).isRequired }).isRequired, texts: i.default.exact(f.resultBoxTextsType).isRequired }, g.defaultProps = {}, t.default = g;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.handleCatalogSelectSpecialCategorySelection = t.handleCatalogSelectCategorySelection = t.handleCatalogSelectProductSelection = t.handleCatalogSearchFiledInputValueChange = t.handleCatalogViewSelection = t.handleToggleGiftChange = t.toggleSelectProductTypeahead = t.handleSelectProductSearchFieldInputValueChange = t.handleSelectProductSelection = t.handleCurrencyAmountChange = t.handleCurrencyInputFieldBlur = t.handleCurrencyInputFieldFocus = t.handleCurrencyChange = t.handleSelectCountrySearchFieldInputValueChange = t.toggleSelectCountryTypeahead = t.handleSelectCountrySelection = t.handlePopupChangeSpecialProdcutDetails = t.handlePopupChange = t.handleScreenChange = void 0;var r,i = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},a = n(9),o = n(72),u = (r = o) && r.__esModule ? r : { default: r },s = n(46);var l = function (e) {e.isPopupOpen ? document.body.className = document.body.className.replace(" noScroll", "") : -1 === document.body.className.indexOf("noScroll") && (document.body.className = document.body.className + " noScroll");};t.handleScreenChange = function (e, t) {var n = e.currentTarget.getAttribute("data-param");"true" === e.currentTarget.getAttribute("data-reset") ? this.setState(i({}, (0, u.default)(), { currentScreen: n }), t) : this.setState({ currentScreen: n }, t);}, t.handlePopupChange = function (e, t, n, r) {this.setState({ isSelectCountryOpen: this.state.currentPopup === a.CALCULATOR_SELECT_COUNTRY_EU_POPUP && this.state.isPopupOpen, isSelectProductOpen: (this.state.currentPopup === a.CALCULATOR_SELECT_PRODUCT_SPECIAL_POPUP || this.state.isSpecialProductDetailPopupOpen) && this.state.isPopupOpen, isSpecialProductDetailPopupOpen: !1, data: i({}, this.state.data, { product: i({}, this.state.data.product, { unselectableProduct: this.state.isPopupOpen ? "" : r || "" }) }), isPopupOpen: !this.state.isPopupOpen, currentPopup: t || null, showListInCategoryPopup: n }), l(this.state);}, t.handlePopupChangeSpecialProdcutDetails = function (e, t, n) {this.setState({ currentPopup: t || null, isSpecialProductDetailPopupOpen: !0, showListInCategoryPopup: n });}, t.handleSelectCountrySelection = function (e, t) {var n = t.filter(function (t) {return t.iso2.toLowerCase() === e.iso2.toLowerCase();})[0];n || (n = t.filter(function (e) {return "eu" === e.iso2.toLowerCase();})[0]), e.eu && !e.specialZone ? this.handlePopupChange(null, a.CALCULATOR_SELECT_COUNTRY_EU_POPUP) : this.setState({ data: i({}, this.state.data, { country: i({}, this.state.data.country, { subText: "", searchFieldInputValue: e.text }, e), currency: i({}, this.state.data.currency, n) }) });}, t.toggleSelectCountryTypeahead = function () {this.setState({ isSelectCountryOpen: !this.state.isSelectCountryOpen });}, t.handleSelectCountrySearchFieldInputValueChange = function (e) {this.setState({ data: i({}, this.state.data, { country: i({}, this.state.data.country, { searchFieldInputValue: e }) }) });}, t.handleCurrencyChange = function (e) {var t = JSON.parse(e.currentTarget.value);this.setState({ data: i({}, this.state.data, { currency: i({}, this.state.data.currency, t) }) });}, t.handleCurrencyInputFieldFocus = function (e) {console.debug("handleCurrencyInputFieldFocus");var t = e.currentTarget.value;"0,00" !== t && "0" !== t || (e.currentTarget.value = "");}, t.handleCurrencyInputFieldBlur = function (e) {var t = e.currentTarget.value ? e.currentTarget.value : "0",n = t.replace(/\./g, "").replace(",", ".").replace(/[^0-9.]/g, "");n = "." === n || "" === n ? 0 : n, n = parseFloat(n), t = (0, s.currencyFormatDE)(n), this.setState({ data: i({}, this.state.data, { currency: i({}, this.state.data.currency, { calculationValue: n, value: t }) }) });}, t.handleCurrencyAmountChange = function (e) {var t = e.currentTarget.selectionStart,n = e.currentTarget.selectionEnd,r = e.currentTarget.value.length,a = e.currentTarget.value;(a = (a = (a = a.replace(/[^0-9,.]/g, "")).replace(/,/g, function (e, t, n) {return n.indexOf(e) === t ? e : "";})).replace(/\./g, function (e, t, n) {return 0 === t || n[t] === n[t - 1] || n[t] === n[t - 2] || n[t] === n[t - 3] ? "" : e;})).slice(-1).match(/[0-9,]/) && (a.length > 3 && -1 === a.indexOf(".") || a.length > 4) && (a = a.replace(/\./g, "").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));var o = (a = (a = a.replace(/\./g, function (e, t, n) {return n.indexOf(",") < t && -1 !== n.indexOf(",") ? "" : e;})).replace(/./g, function (e, t, n) {return n.indexOf(",") < t - 2 && -1 !== n.indexOf(",") ? "" : e;})).replace(/\./g, "").replace(",", ".").replace(/[^0-9.]/g, "");o = "." === o || "" === o ? 0 : o, o = parseFloat(o), r !== a.length && (n = t = a.length - r + t), this.setState({ data: i({}, this.state.data, { currency: i({}, this.state.data.currency, { calculationValue: o, value: a, cursorStart: t, cursorEnd: n }) }) });}, t.handleSelectProductSelection = function (e) {e.excludeFromCalculation ? (this.setState({ data: i({}, this.state.data, { product: i({}, this.state.data.product, { unselectableProduct: e }) }) }), this.handlePopupChange(null, a.CALCULATOR_SELECT_PRODUCT_SPECIAL_POPUP, null, e)) : this.setState({ data: i({}, this.state.data, { product: i({}, this.state.data.product, e, { unselectableProduct: null }) }) });}, t.handleSelectProductSearchFieldInputValueChange = function (e) {this.setState({ data: i({}, this.state.data, { product: i({}, this.state.data.product, { searchFieldInputValue: e }) }) });}, t.toggleSelectProductTypeahead = function () {this.setState({ isSelectProductOpen: !this.state.isSelectProductOpen });}, t.handleToggleGiftChange = function () {this.setState({ data: i({}, this.state.data, { isGift: !this.state.data.isGift }) });}, t.handleCatalogViewSelection = function (e) {this.setState({ data: i({}, this.state.data, { catalog: i({}, this.state.data.catalog, { view: { value: e.currentTarget.getAttribute("data-param") } }) }) });}, t.handleCatalogSearchFiledInputValueChange = function (e) {this.setState({ data: i({}, this.state.data, { catalog: i({}, this.state.data.catalog, { searchFieldInputValue: e }) }) });}, t.handleCatalogSelectProductSelection = function (e, t, n) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: t, showListInCategoryPopup: n, data: i({}, this.state.data, { catalog: i({}, this.state.data.catalog, { selectedProduct: e, selectedCategory: null, selectedSpecialCategory: null }) }) }), l(this.state);}, t.handleCatalogSelectCategorySelection = function (e, t, n) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: t, showListInCategoryPopup: n, data: i({}, this.state.data, { catalog: i({}, this.state.data.catalog, { selectedProduct: null, selectedCategory: e, selectedSpecialCategory: null }) }) }), l(this.state);}, t.handleCatalogSelectSpecialCategorySelection = function (e, t, n) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: t, showListInCategoryPopup: n, data: i({}, this.state.data, { catalog: i({}, this.state.data.catalog, { selectedProduct: null, selectedCategory: null, selectedSpecialCategory: e }) }) }), l(this.state);};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = p(n(0)),o = p(n(1)),u = p(n(48)),s = n(13),l = p(n(4)),c = p(n(15)),f = p(n(16)),d = n(11);function p(e) {return e && e.__esModule ? e : { default: e };}var h = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.popupRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "render", value: function () {var e = this,t = this.props,n = t.functions,i = t.icons,o = t.navTarget,d = t.texts;return a.default.createElement(u.default, { returnFocus: !0 }, a.default.createElement("div", { className: "popup", role: "dialog", "aria-labelledby": "dialog" }, a.default.createElement("div", { className: "container" }, a.default.createElement(l.default, { functions: { handlePopupChange: n.handlePopupChange }, htmlTextWrapping: s.TITLE_TEXT_WRAPPING_H1, id: "dialog", imgSrc: i.close, preventFocus: !0, preventAlert: !0, ref: function (t) {e.popupRef = t;}, texts: { text: d.title.text, iconButtonAltText: d.title.iconButtonAltText }, navTarget: o }), a.default.createElement("div", { className: "content" }, a.default.createElement(c.default, { text: d.body }), a.default.createElement("div", { className: "buttonWrapper" }, a.default.createElement(f.default, { className: "c-button", dataParam: o, functions: { handlePopupChange: n.handlePopupChange }, texts: r({}, d.closeButton) }))))));} }]), t;}(a.default.Component);h.propTypes = { functions: o.default.exact({ handlePopupChange: o.default.func.isRequired }).isRequired, icons: o.default.exact({ close: o.default.string.isRequired }).isRequired, navTarget: o.default.string.isRequired, texts: o.default.exact({ title: o.default.exact(d.titleWithIconTextsType).isRequired, body: o.default.string.isRequired, closeButton: o.default.exact({ text: o.default.string.isRequired }).isRequired }).isRequired }, h.defaultProps = {}, t.default = h;}, function (e, t, n) {var r = n(85).default,i = n(207);e.exports = function (e) {var t = i(e, "string");return "symbol" == r(t) ? t : t + "";}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {var r = n(85).default;e.exports = function (e, t) {if ("object" != r(e) || !e) return e;var n = e[Symbol.toPrimitive];if (void 0 !== n) {var i = n.call(e, t || "default");if ("object" != r(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === t ? String : Number)(e);}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, u = e[Symbol.iterator](); !(r = (o = u.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && u.return && u.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");},a = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),o = v(n(1)),u = v(n(0)),s = v(n(48)),l = v(n(209)),c = v(n(15)),f = v(n(4)),d = n(13),p = n(9),h = v(n(16)),g = n(3),m = n(11);function v(e) {return e && e.__esModule ? e : { default: e };}var b = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.imgRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), a(t, [{ key: "_renderSelected", value: function (e) {var t = this.props,n = t.currentScreen,r = t.data,i = t.icons,a = t.texts,o = { taxBox: a.taxBox, listItemIconAltTextClosed: a.listItemIconAltTextClosed, listItemIconAltTextOpened: a.listItemIconAltTextOpened };return u.default.createElement("div", null, e.products.map(function (e, t) {var a = !!r.catalog && !!r.catalog.selectedProduct && e.text === r.catalog.selectedProduct.text;n === p.CALCULATOR_SCREEN && (a = !!r.product && e.text === r.product.text || !!r.product && !!r.product.unselectableProduct && e.text === r.product.unselectableProduct.text);var s = { description: e.description, text: e.text, euTax: e.euTax, zollTax: e.zollTax };return u.default.createElement(l.default, { data: s, icons: { down: i.down }, isOpen: a, key: e.text + t, texts: o });}));} }, { key: "_renderGoodsList", value: function (e) {return this.props.data.showListInCategoryPopup ? this._renderSelected(e) : null;} }, { key: "_getCategory", value: function () {var e = this.props,t = e.currentScreen,n = e.categories,r = e.data,a = null;if (t === p.CALCULATOR_SCREEN) {if (r.product.unselectableProduct) {var o = n.filter(function (e) {return e.text === r.product.unselectableProduct.category.text;});a = i(o, 1)[0];} else if (r.product.text) {var u = n.filter(function (e) {return e.text === r.product.category.text;});a = i(u, 1)[0];}} else if (r.catalog.selectedProduct) {var s = n.filter(function (e) {return e.text === r.catalog.selectedProduct.category.text;});a = i(s, 1)[0];} else r.catalog.selectedCategory ? a = r.catalog.selectedCategory : r.catalog.selectedSpecialCategory && (a = r.catalog.selectedSpecialCategory);return a;} }, { key: "render", value: function () {var e = this,t = this.props,n = t.functions,i = t.icons,a = t.navTarget,o = t.texts,l = this._getCategory(),g = l.description,m = l.text;return u.default.createElement(s.default, { returnFocus: !0 }, u.default.createElement("div", { className: "popup", role: "dialog", "aria-labelledby": "dialog" }, u.default.createElement("div", { className: "container" }, u.default.createElement(f.default, { preventFocus: !0, functions: { handlePopupChange: n.handlePopupChange }, htmlTextWrapping: d.TITLE_TEXT_WRAPPING_H1, id: "dialog", imgSrc: i.close, preventAlert: !0, texts: { text: o.title.text, iconButtonAltText: o.title.iconButtonAltText }, navTarget: p.CATEGORY_POPUP }), u.default.createElement("div", { className: "content" }, u.default.createElement("img", { ref: function (t) {e.imgRef = t;}, alt: "", className: "categoryImage", src: l.imgSrc, onError: function () {e.imgRef.style.display = "none";} }), u.default.createElement(f.default, { preventFocus: !0, htmlTextWrapping: d.TITLE_TEXT_WRAPPING_H2, texts: { text: m } }), u.default.createElement(c.default, { text: g }), this._renderGoodsList(l), u.default.createElement("div", { className: "buttonWrapper" }, u.default.createElement(h.default, { className: "c-button", dataParam: a, functions: { handlePopupChange: n.handlePopupChange }, texts: r({}, o.closeButton) }))))));} }]), t;}(u.default.Component);b.propTypes = { categories: o.default.arrayOf(o.default.exact(g.categoryDataType).isRequired).isRequired, currentScreen: o.default.string.isRequired, data: o.default.oneOfType([o.default.exact({ catalog: o.default.exact({ selectedCategory: o.default.exact(g.categoryDataType), selectedProduct: o.default.exact(g.selectOptionProductDataType), selectedSpecialCategory: o.default.exact(g.specialCategoryDataType) }).isRequired, showListInCategoryPopup: o.default.bool.isRequired }), o.default.exact({ product: o.default.exact(r({}, g.selectOptionProductDataType, { unselectableProduct: o.default.oneOfType([o.default.exact(g.selectOptionProductDataType), o.default.string]).isRequired })).isRequired, showListInCategoryPopup: o.default.bool.isRequired })]).isRequired, functions: o.default.exact({ handlePopupChange: o.default.func.isRequired }).isRequired, icons: o.default.exact({ close: o.default.string.isRequired, down: o.default.string.isRequired }).isRequired, navTarget: o.default.string.isRequired, texts: o.default.exact({ body: o.default.string.isRequired, closeButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, listItemIconAltTextClosed: o.default.string.isRequired, listItemIconAltTextOpened: o.default.string.isRequired, taxBox: o.default.exact(m.taxBoxTextsType).isRequired, title: o.default.exact(m.titleWithIconTextsType).isRequired }).isRequired }, t.default = b;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = f(n(1)),a = f(n(0)),o = f(n(210)),u = f(n(15)),s = f(n(4)),l = n(13),c = n(11);function f(e) {return e && e.__esModule ? e : { default: e };}var d = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.state = { isOpen: e.isOpen }, n._toggleCollapse = n._toggleCollapse.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_toggleCollapse", value: function () {this.setState({ isOpen: !this.state.isOpen });} }, { key: "render", value: function () {var e = this.state.isOpen,t = this.props,n = t.data,r = t.icons,i = t.texts,c = e ? "open" : null,f = e ? "collapse open" : "collapse";return a.default.createElement("div", { role: "article" }, a.default.createElement("div", { role: "presentation", className: "listItem", onClick: this._toggleCollapse }, a.default.createElement(s.default, { className: c, htmlTextWrapping: l.LIST_ITEM_TITLE_H3, imgSrc: r.down, preventFocus: !0, texts: { text: n.text, iconButtonAltText: e ? i.listItemIconAltTextOpened : i.listItemIconAltTextClosed } }), a.default.createElement("div", { className: f, "aria-hidden": !e }, a.default.createElement(u.default, { text: n.description }), a.default.createElement(o.default, { texts: i.taxBox, data: { euTax: n.euTax, zollTax: n.zollTax } }))));} }]), t;}(a.default.Component);d.propTypes = { data: i.default.exact({ description: i.default.string.isRequired, euTax: i.default.string.isRequired, text: i.default.string.isRequired, zollTax: i.default.string.isRequired }).isRequired, icons: i.default.exact({ down: i.default.string.isRequired }).isRequired, isOpen: i.default.bool.isRequired, texts: i.default.exact({ listItemIconAltTextClosed: i.default.string.isRequired, listItemIconAltTextOpened: i.default.string.isRequired, taxBox: i.default.exact(c.taxBoxTextsType).isRequired }).isRequired }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(10)),u = n(11);function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var f = function (e) {function t() {return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.data,n = e.texts,r = n.zollTax + " " + (100 * parseFloat(t.zollTax.replace(",", "."))).toFixed(1) + "%",a = n.euTax + " " + (100 * parseFloat(t.euTax.replace(",", "."))).toFixed(1) + "%";return i.default.createElement("div", { className: "taxBox" }, i.default.createElement("div", { className: "standardText bold" }, (0, o.default)(n.title)), i.default.createElement("div", { className: "standardText" }, (0, o.default)(r)), i.default.createElement("div", { className: "standardText" }, (0, o.default)(a)));} }]), t;}(i.default.Component);f.propTypes = { data: a.default.exact({ euTax: a.default.string.isRequired, zollTax: a.default.string.isRequired }).isRequired, texts: a.default.exact(u.taxBoxTextsType).isRequired }, f.defaultProps = {}, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = p(n(0)),o = p(n(1)),u = p(n(48)),s = n(11),l = n(13),c = p(n(4)),f = p(n(15)),d = p(n(16));function p(e) {return e && e.__esModule ? e : { default: e };}function h(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function g(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var m = function (e) {function t() {return h(this, t), g(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "render", value: function () {var e = this.props,t = e.functions,n = e.icons,i = e.navTargets,o = e.texts;return a.default.createElement(u.default, { returnFocus: !0 }, a.default.createElement("div", { className: "popup", role: "dialog", "aria-labelledby": "dialog" }, a.default.createElement("div", { className: "container" }, a.default.createElement(c.default, { functions: { handlePopupChange: t.handlePopupChange }, htmlTextWrapping: l.TITLE_TEXT_WRAPPING_H1, id: "dialog", imgSrc: n.close, preventFocus: !0, preventAlert: !0, navTarget: i[1], texts: { text: o.title.text, iconButtonAltText: o.title.iconButtonAltText } }), a.default.createElement("div", { className: "content" }, a.default.createElement(f.default, { text: o.body }), a.default.createElement("div", { className: "twoButtonsContainer" }, a.default.createElement(d.default, { className: "c-button", dataParam: i[0], functions: { handlePopupChange: t.handlePopupChange }, texts: r({}, o.closeButton) }), a.default.createElement(d.default, { className: "c-button", dataParam: i[1], functions: { handlePopupChange: t.handlePopupChangeSpecialProductDetails }, texts: r({}, o.detailsButton) }))))));} }]), t;}(a.default.Component);m.propTypes = { functions: o.default.exact({ handlePopupChange: o.default.func.isRequired, handlePopupChangeSpecialProductDetails: o.default.func.isRequired }).isRequired, icons: o.default.exact({ close: o.default.string.isRequired }).isRequired, navTargets: o.default.arrayOf(o.default.string).isRequired, texts: o.default.exact({ body: o.default.string.isRequired, closeButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, detailsButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, title: o.default.exact(s.titleWithIconTextsType).isRequired }).isRequired }, m.defaultProps = {}, t.default = m;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = h(n(0)),o = h(n(1)),u = n(9),s = h(n(213)),l = h(n(214)),c = h(n(4)),f = n(13),d = h(n(16)),p = n(3);function h(e) {return e && e.__esModule ? e : { default: e };}var g = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.onProductSelection = n.onProductSelection.bind(n), n.onCategorySelection = n.onCategorySelection.bind(n), n.onSpecialCategorySelection = n.onSpecialCategorySelection.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "onProductSelection", value: function (e) {this.props.functions.handleCatalogSelectProductSelection(e, u.CATEGORY_POPUP, !0);} }, { key: "onCategorySelection", value: function (e) {this.props.functions.handleCatalogSelectCategorySelection(e, u.CATEGORY_POPUP, !0);} }, { key: "onSpecialCategorySelection", value: function (e) {this.props.functions.handleCatalogSelectSpecialCategorySelection(e, u.CATEGORY_POPUP, !1);} }, { key: "_renderRadioButtons", value: function () {var e = this.props,t = e.data,n = e.functions,r = e.texts;return a.default.createElement("div", { className: "radioButtonsContainer", role: "radiogroup" }, a.default.createElement(s.default, { checked: t.catalog.view.value === u.CATALOG_SCREEN_VIEW_PRODUCTS, functions: { handleSelection: n.handleCatalogViewSelection }, texts: r.radioButton1, id: u.CATALOG_SCREEN_VIEW_PRODUCTS, name: "selectGoods", dataParam: u.CATALOG_SCREEN_VIEW_PRODUCTS, dataText: r.radioButton1.text }), a.default.createElement(s.default, { checked: t.catalog.view.value === u.CATALOG_SCREEN_VIEW_CATEGORIES, functions: { handleSelection: n.handleCatalogViewSelection }, texts: r.radioButton2, id: u.CATALOG_SCREEN_VIEW_CATEGORIES, name: "selectGoods", dataParam: u.CATALOG_SCREEN_VIEW_CATEGORIES, dataText: r.radioButton2.text }), a.default.createElement(s.default, { checked: t.catalog.view.value === u.CATALOG_SCREEN_VIEW_SPECIAL_CATEGORIES, functions: { handleSelection: n.handleCatalogViewSelection }, texts: r.radioButton3, id: u.CATALOG_SCREEN_VIEW_SPECIAL_CATEGORIES, name: "selectGoods", dataParam: u.CATALOG_SCREEN_VIEW_SPECIAL_CATEGORIES, dataText: r.radioButton3.text }));} }, { key: "_renderSelectViewProducts", value: function () {var e = this.props,t = e.categories,n = e.data,i = e.functions,o = e.icons,u = e.texts,s = t.reduce(function (e, t) {return e.concat(t.products.map(function (e) {return r({}, e, { category: { text: t.text } });}));}, []);return a.default.createElement("div", { className: "container" }, a.default.createElement(l.default, { data: r({ searchFieldInputValue: n.catalog.searchFieldInputValue }, n.catalog.selectedProduct), functions: { handleSelection: this.onProductSelection, handleInputValueChange: i.handleCatalogSearchFiledInputValueChange }, icons: { clear: o.clear }, key: "selectGoods", optionData: s, sortOptions: !0, texts: r({}, u.select, { entries: u.screenReader.entries, selectInputField: u.screenReader.catalogSelectInputFieldProducts, selectOptionsDescription: u.screenReader.catalogSelectOptionListProducts }) }));} }, { key: "_renderSelectViewCategories", value: function () {var e = this.props,t = e.categories,n = e.data,i = e.functions,o = e.icons,u = e.texts;return a.default.createElement("div", { className: "container" }, a.default.createElement(l.default, { data: r({ searchFieldInputValue: n.catalog.searchFieldInputValue }, n.catalog.selectedCategory), functions: { handleSelection: this.onCategorySelection, handleInputValueChange: i.handleCatalogSearchFiledInputValueChange }, icons: { clear: o.clear }, key: "selectCategories", optionData: t, sortOptions: !0, texts: r({}, u.select, { entries: u.screenReader.entries, selectInputField: u.screenReader.catalogSelectInputFieldCategories, selectOptionsDescription: u.screenReader.catalogSelectOptionListCategories }) }));} }, { key: "_renderSelectViewSpecialCategories", value: function () {var e = this.props,t = e.specialCategories,n = e.data,i = e.functions,o = e.icons,u = e.texts;return a.default.createElement("div", { className: "container" }, a.default.createElement(l.default, { data: r({ searchFieldInputValue: n.catalog.searchFieldInputValue }, n.catalog.selectedSpecialCategory), functions: { handleSelection: this.onSpecialCategorySelection, handleInputValueChange: i.handleCatalogSearchFiledInputValueChange }, icons: { clear: o.clear }, key: "selectSpecialCategories", optionData: t, sortOptions: !0, texts: r({}, u.select, { entries: u.screenReader.entries, selectInputField: u.screenReader.catalogSelectInputFieldSpecialCategories, selectOptionsDescription: u.screenReader.catalogSelectOptionListSpecialCategories }) }));} }, { key: "_getContent", value: function () {var e = null;switch (this.props.data.catalog.view.value) {case u.CATALOG_SCREEN_VIEW_PRODUCTS:e = this._renderSelectViewProducts();break;case u.CATALOG_SCREEN_VIEW_CATEGORIES:e = this._renderSelectViewCategories();break;case u.CATALOG_SCREEN_VIEW_SPECIAL_CATEGORIES:e = this._renderSelectViewSpecialCategories();}return e;} }, { key: "_renderTitle", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.navTargets,i = e.texts;return a.default.createElement(c.default, { appId: t, preventFocus: !0, navTargets: r, texts: { title: i.title, back: i.backButton }, htmlTextWrapping: f.TITLE_TEXT_WRAPPING_H1, functions: { handleScreenChange: n.handleScreenChange } });} }, { key: "_renderContent", value: function () {return a.default.createElement("div", null, "  ", this._renderTitle(), this._renderRadioButtons(), this._getContent());} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.navTargets,i = e.texts;return a.default.createElement("div", { className: "catalog" }, this._renderContent(), a.default.createElement("div", { className: "buttonWrapper" }, a.default.createElement(d.default, { appId: t, className: "c-button", dataParam: r.back, functions: { handleScreenChange: n.handleScreenChange }, texts: i.backButton })));} }]), t;}(a.default.Component);g.propTypes = { appId: o.default.string.isRequired, categories: o.default.arrayOf(o.default.exact(p.categoryDataType).isRequired).isRequired, specialCategories: o.default.arrayOf(o.default.exact(p.specialCategoryDataType).isRequired).isRequired, data: o.default.exact({ catalog: o.default.exact({ searchFieldInputValue: o.default.string.isRequired, view: o.default.exact({ value: o.default.string.isRequired }).isRequired }).isRequired }).isRequired, functions: o.default.exact({ handleScreenChange: o.default.func.isRequired, handleCatalogViewSelection: o.default.func.isRequired, handleCatalogSearchFiledInputValueChange: o.default.func.isRequired, handleCatalogSelectProductSelection: o.default.func.isRequired, handleCatalogSelectCategorySelection: o.default.func.isRequired, handleCatalogSelectSpecialCategorySelection: o.default.func.isRequired }).isRequired, icons: o.default.exact({ back: o.default.string.isRequired, clear: o.default.string.isRequired }).isRequired, navTargets: o.default.exact({ back: o.default.string.isRequired }).isRequired, texts: o.default.exact({ backButton: o.default.exact({ text: o.default.string.isRequired }).isRequired, radioButton1: o.default.exact({ text: o.default.string.isRequired }).isRequired, radioButton2: o.default.exact({ text: o.default.string.isRequired }).isRequired, radioButton3: o.default.exact({ text: o.default.string.isRequired }).isRequired, screenReader: o.default.exact({ catalogSelectInputFieldCategories: o.default.string.isRequired, catalogSelectInputFieldSpecialCategories: o.default.string.isRequired, catalogSelectInputFieldProducts: o.default.string.isRequired, catalogSelectOptionListCategories: o.default.string.isRequired, catalogSelectOptionListSpecialCategories: o.default.string.isRequired, catalogSelectOptionListProducts: o.default.string.isRequired, entries: o.default.string.isRequired }).isRequired, select: o.default.exact({ noResults: o.default.string.isRequired, placeholder: o.default.string.isRequired }).isRequired, title: o.default.exact({ text: o.default.string.isRequired }).isRequired }).isRequired }, g.defaultProps = {}, t.default = g;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = l(n(0)),o = l(n(1)),u = l(n(10)),s = n(3);function l(e) {return e && e.__esModule ? e : { default: e };}var c = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "_onClick", value: function (e) {this.props.functions.handleSelection(e);} }, { key: "render", value: function () {var e = this.props,t = e.texts,n = e.checked,r = e.dataParam,i = "radioButton ".concat(!0 === n ? "checked" : "unchecked");return a.default.createElement("button", { "aria-checked": n, "aria-label": t.text, className: i, "data-param": r, onClick: this._onClick, role: "radio" }, a.default.createElement("span", { "aria-hidden": !0 }, (0, u.default)(t.text)));} }]), t;}(a.default.Component);c.propTypes = r({}, s.radioButtonPropType, { functions: o.default.exact({ handleSelection: o.default.func.isRequired }).isRequired }), t.default = c;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(10)),u = c(n(215)),s = n(3),l = c(n(32));function c(e) {return e && e.__esModule ? e : { default: e };}var f = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.state = { options: e.disableFilter ? e.optionData : n._quickFilter(e.data.searchFieldInputValue) }, n.handleClear = n.handleClear.bind(n), n.handleSelection = n.handleSelection.bind(n), n.filter = n.filter.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {this.props.disableFilter || this.filter({ target: { value: this.props.data.searchFieldInputValue } });} }, { key: "_quickFilter", value: function (e) {return this.props.optionData.filter(function (t) {return 0 === t.text.toLowerCase().indexOf(e.toLowerCase());});} }, { key: "handleSelection", value: function (e) {var t = this.props.functions,n = JSON.parse(e);t.handleSelection(n);} }, { key: "handleClear", value: function () {this.filter({ target: { value: "" } });} }, { key: "filter", value: function (e) {var t = this.props,n = t.functions,r = t.optionData,i = e.target.value,a = [],o = r.filter(function (e) {var t = e.productTags ? [e.text].concat(function (e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}(e.productTags)) : [e.text];return a = a.concat(t), t.map(function (e) {return e.toLowerCase().indexOf(i.toLowerCase()) > -1;}).indexOf(!0) > -1;});this.setState({ options: o }), n.handleInputValueChange(i);} }, { key: "_renderOptions", value: function () {var e = this,t = this.props,n = t.sortOptions,r = t.texts,a = (n ? this.state.options.sort(function (e, t) {return (0, l.default)(e, t, "text");}) : this.state.options).map(function (t, n) {var r = t.text + n;return i.default.createElement(u.default, { key: r, functions: { handleSelection: e.handleSelection }, option: t });}),s = a.length > 0 ? a : i.default.createElement("div", { className: "noResults" }, (0, o.default)(r.noResults));return i.default.createElement("div", { className: "suggestionsContainer" }, i.default.createElement("h3", { className: "aural" }, r.selectOptionsDescription + " " + a.length + " " + r.entries), i.default.createElement("ul", { className: "small-block-grid-2 medium-block-grid-3 large-block-grid-4", role: "radiogroup", "aria-label": r.selectOptionsDescription + " " + a.length + " " + r.entries }, s));} }, { key: "render", value: function () {var e = this.props,t = e.data,n = e.disableFilter,r = e.icons,a = e.texts;return i.default.createElement("div", { className: "selectWrapper" }, n ? null : i.default.createElement("div", { className: "selectInputContainer" }, i.default.createElement("input", { "aria-label": a.selectInputField, type: "text", placeholder: a.placeholder, value: t.searchFieldInputValue, onChange: this.filter }), i.default.createElement("span", { className: "icon" }, i.default.createElement("img", { alt: "", src: r.clear, onClick: this.handleClear }))), this._renderOptions());} }]), t;}(i.default.Component);f.propTypes = { data: a.default.exact({ searchFieldInputValue: a.default.string.isRequired }).isRequired, disableFilter: a.default.bool, functions: a.default.exact({ handleInputValueChange: a.default.func.isRequired, handleSelection: a.default.func.isRequired }).isRequired, icons: a.default.exact({ clear: a.default.string.isRequired }).isRequired, optionData: a.default.arrayOf(a.default.oneOfType([a.default.exact(s.selectOptionProductDataType), a.default.exact(s.categoryDataType), a.default.exact(s.specialCategoryDataType)])).isRequired, sortOptions: a.default.bool, texts: a.default.exact({ entries: a.default.string.isRequired, noResults: a.default.string.isRequired, placeholder: a.default.string.isRequired, selectInputField: a.default.string.isRequired, selectOptionsDescription: a.default.string.isRequired }).isRequired }, f.defaultProps = { disableFilter: !1, sortOptions: !1 }, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(10)),u = n(3);function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_onClick", value: function (e) {this.props.functions.handleSelection(e.currentTarget.value);} }, { key: "render", value: function () {var e = this.props.option,t = e.subText && "." !== e.subText ? i.default.createElement("span", { className: "buttonSubText" }, (0, o.default)(e.subText)) : null;return i.default.createElement("li", { className: "optionButtonListItem" }, i.default.createElement("button", { className: "option", onClick: this._onClick, value: JSON.stringify(e) }, i.default.createElement("span", { className: "optionContent" }, (0, o.default)(e.text), t)));} }]), t;}(i.default.Component);l.propTypes = { functions: a.default.exact({ handleSelection: a.default.func.isRequired }).isRequired, option: a.default.oneOfType([a.default.exact(u.selectOptionProductDataType), a.default.exact(u.categoryDataType), a.default.exact(u.specialCategoryDataType)]).isRequired }, t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = u(n(0)),a = u(n(1)),o = u(n(4));function u(e) {return e && e.__esModule ? e : { default: e };}var s = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.state = { error: null, errorInfo: null }, e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidCatch", value: function (e, t) {this.setState({ error: e, errorInfo: t });} }, { key: "render", value: function () {return this.state.errorInfo ? i.default.createElement("div", { className: "text errorBoundary" }, i.default.createElement(o.default, { texts: { text: "<h1>Something went wrong. ¯\\_(ツ)_/¯</h1>" } }), i.default.createElement("details", { className: "errorDetails" }, this.state.error && this.state.error.toString(), this.state.errorInfo.componentStack)) : this.props.children;} }]), t;}(i.default.Component);s.propTypes = { children: a.default.element.isRequired }, t.default = s;},, function (e, t, n) {"use strict";n.r(t), n.d(t, "ReactSVG", function () {return k;});var r = n(86),i = n.n(r),a = n(5),o = n.n(a),u = n(25),s = n.n(u);Object.create;function l(e, t, n) {if (n || 2 === arguments.length) for (var r, i = 0, a = t.length; i < a; i++) !r && i in t || (r || (r = Array.prototype.slice.call(t, 0, i)), r[i] = t[i]);return e.concat(r || Array.prototype.slice.call(t));}Object.create;"function" == typeof SuppressedError && SuppressedError;var c = n(87),f = new Map(),d = function (e) {return e.cloneNode(!0);},p = function () {return "file:" === window.location.protocol;},h = function (e, t, n) {var r = new XMLHttpRequest();r.onreadystatechange = function () {try {if (!/\.svg/i.test(e) && 2 === r.readyState) {var t = r.getResponseHeader("Content-Type");if (!t) throw new Error("Content type not found");var i = Object(c.parse)(t).type;if ("image/svg+xml" !== i && "text/plain" !== i) throw new Error("Invalid content type: ".concat(i));}if (4 === r.readyState) {if (404 === r.status || null === r.responseXML) throw new Error(p() ? "Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver." : "Unable to load SVG file: " + e);if (!(200 === r.status || p() && 0 === r.status)) throw new Error("There was a problem injecting the SVG: " + r.status + " " + r.statusText);n(null, r);}} catch (e) {if (r.abort(), !(e instanceof Error)) throw e;n(e, r);}}, r.open("GET", e), r.withCredentials = t, r.overrideMimeType && r.overrideMimeType("text/xml"), r.send();},g = {},m = function (e, t) {g[e] = g[e] || [], g[e].push(t);},v = function (e, t, n) {if (f.has(e)) {var r = f.get(e);if (void 0 === r) return void m(e, n);if (r instanceof SVGSVGElement) return void n(null, d(r));}f.set(e, void 0), m(e, n), h(e, t, function (t, n) {var r;t ? f.set(e, t) : (null === (r = n.responseXML) || void 0 === r ? void 0 : r.documentElement) instanceof SVGSVGElement && f.set(e, n.responseXML.documentElement), function (e) {for (var t = function (t, n) {setTimeout(function () {if (Array.isArray(g[e])) {var n = f.get(e),r = g[e][t];n instanceof SVGSVGElement && r(null, d(n)), n instanceof Error && r(n), t === g[e].length - 1 && delete g[e];}}, 0);}, n = 0, r = g[e].length; n < r; n++) t(n);}(e);});},b = function (e, t, n) {h(e, t, function (e, t) {var r;e ? n(e) : (null === (r = t.responseXML) || void 0 === r ? void 0 : r.documentElement) instanceof SVGSVGElement && n(null, t.responseXML.documentElement);});},y = 0,_ = [],x = {},S = "http://www.w3.org/1999/xlink",T = function (e, t, n, r, i, a, o) {var u = e.getAttribute("data-src") || e.getAttribute("src");if (u) {if (-1 !== _.indexOf(e)) return _.splice(_.indexOf(e), 1), void (e = null);_.push(e), e.setAttribute("src", ""), (r ? v : b)(u, i, function (r, i) {if (!i) return _.splice(_.indexOf(e), 1), e = null, void o(r);var s = e.getAttribute("id");s && i.setAttribute("id", s);var c = e.getAttribute("title");c && i.setAttribute("title", c);var f = e.getAttribute("width");f && i.setAttribute("width", f);var d = e.getAttribute("height");d && i.setAttribute("height", d);var p = Array.from(new Set(l(l(l([], (i.getAttribute("class") || "").split(" "), !0), ["injected-svg"], !1), (e.getAttribute("class") || "").split(" "), !0))).join(" ").trim();i.setAttribute("class", p);var h = e.getAttribute("style");h && i.setAttribute("style", h), i.setAttribute("data-src", u);var g = [].filter.call(e.attributes, function (e) {return /^data-\w[\w-]*$/.test(e.name);});if (Array.prototype.forEach.call(g, function (e) {e.name && e.value && i.setAttribute(e.name, e.value);}), n) {var m,v,b,T,w,E = { clipPath: ["clip-path"], "color-profile": ["color-profile"], cursor: ["cursor"], filter: ["filter"], linearGradient: ["fill", "stroke"], marker: ["marker", "marker-start", "marker-mid", "marker-end"], mask: ["mask"], path: [], pattern: ["fill", "stroke"], radialGradient: ["fill", "stroke"] };Object.keys(E).forEach(function (e) {m = e, b = E[e];for (var t = function (e, t) {var n;T = v[e].id, w = T + "-" + ++y, Array.prototype.forEach.call(b, function (e) {for (var t = 0, r = (n = i.querySelectorAll("[" + e + '*="' + T + '"]')).length; t < r; t++) {var a = n[t].getAttribute(e);a && !a.match(new RegExp('url\\("?#' + T + '"?\\)')) || n[t].setAttribute(e, "url(#" + w + ")");}});for (var r = i.querySelectorAll("[*|href]"), a = [], o = 0, u = r.length; o < u; o++) {var s = r[o].getAttributeNS(S, "href");s && s.toString() === "#" + v[e].id && a.push(r[o]);}for (var l = 0, c = a.length; l < c; l++) a[l].setAttributeNS(S, "href", "#" + w);v[e].id = w;}, n = 0, r = (v = i.querySelectorAll(m + "[id]")).length; n < r; n++) t(n);});}i.removeAttribute("xmlns:a");for (var C, k, P = i.querySelectorAll("script"), R = [], O = 0, A = P.length; O < A; O++) (k = P[O].getAttribute("type")) && "application/ecmascript" !== k && "application/javascript" !== k && "text/javascript" !== k || ((C = P[O].innerText || P[O].textContent) && R.push(C), i.removeChild(P[O]));if (R.length > 0 && ("always" === t || "once" === t && !x[u])) {for (var I = 0, N = R.length; I < N; I++) new Function(R[I])(window);x[u] = !0;}var q = i.querySelectorAll("style");if (Array.prototype.forEach.call(q, function (e) {e.textContent += "";}), i.setAttribute("xmlns", "http://www.w3.org/2000/svg"), i.setAttribute("xmlns:xlink", S), a(i), !e.parentNode) return _.splice(_.indexOf(e), 1), e = null, void o(new Error("Parent node is null"));e.parentNode.replaceChild(i, e), _.splice(_.indexOf(e), 1), e = null, o(null, i);});} else o(new Error("Invalid data-src or src attribute"));},w = n(1),E = n(0),C = ["afterInjection", "beforeInjection", "desc", "evalScripts", "fallback", "httpRequestWithCredentials", "loading", "renumerateIRIElements", "src", "title", "useRequestCache", "wrapper"],k = function (e) {function t() {for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];return (t = e.call.apply(e, [this].concat(r)) || this).initialState = { hasError: !1, isLoading: !0 }, t.state = t.initialState, t._isMounted = !1, t.reactWrapper = void 0, t.nonReactWrapper = void 0, t.refCallback = function (e) {t.reactWrapper = e;}, t;}s()(t, e);var n = t.prototype;return n.renderSVG = function () {var e,t = this;if (this.reactWrapper instanceof (e = this.reactWrapper, ((null == e ? void 0 : e.ownerDocument) || document).defaultView || window).Node) {var n,r,i = this.props,a = i.desc,o = i.evalScripts,u = i.httpRequestWithCredentials,s = i.renumerateIRIElements,l = i.src,c = i.title,f = i.useRequestCache,d = this.props.onError,p = this.props.beforeInjection,h = this.props.afterInjection,g = this.props.wrapper;"svg" === g ? ((n = document.createElementNS("http://www.w3.org/2000/svg", g)).setAttribute("xmlns", "http://www.w3.org/2000/svg"), n.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), r = document.createElementNS("http://www.w3.org/2000/svg", g)) : (n = document.createElement(g), r = document.createElement(g)), n.appendChild(r), r.dataset.src = l, this.nonReactWrapper = this.reactWrapper.appendChild(n);var m = function (e) {t.removeSVG(), t._isMounted ? t.setState(function () {return { hasError: !0, isLoading: !1 };}, function () {d(e);}) : d(e);};!function (e, t) {var n = void 0 === t ? {} : t,r = n.afterAll,i = void 0 === r ? function () {} : r,a = n.afterEach,o = void 0 === a ? function () {} : a,u = n.beforeEach,s = void 0 === u ? function () {} : u,l = n.cacheRequests,c = void 0 === l || l,f = n.evalScripts,d = void 0 === f ? "never" : f,p = n.httpRequestWithCredentials,h = void 0 !== p && p,g = n.renumerateIRIElements,m = void 0 === g || g;if (e && "length" in e) for (var v = 0, b = 0, y = e.length; b < y; b++) T(e[b], d, m, c, h, s, function (t, n) {o(t, n), e && "length" in e && e.length === ++v && i(v);});else e ? T(e, d, m, c, h, s, function (t, n) {o(t, n), i(1), e = null;}) : i(0);}(r, { afterEach: function (e, n) {e ? m(e) : t._isMounted && t.setState(function () {return { isLoading: !1 };}, function () {try {h(n);} catch (e) {m(e);}});}, beforeEach: function (e) {if (e.setAttribute("role", "img"), a) {var t = e.querySelector(":scope > desc");t && e.removeChild(t);var n = document.createElement("desc");n.innerHTML = a, e.prepend(n);}if (c) {var r = e.querySelector(":scope > title");r && e.removeChild(r);var i = document.createElement("title");i.innerHTML = c, e.prepend(i);}try {p(e);} catch (e) {m(e);}}, cacheRequests: f, evalScripts: o, httpRequestWithCredentials: u, renumerateIRIElements: s });}}, n.removeSVG = function () {var e;null != (e = this.nonReactWrapper) && e.parentNode && (this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper), this.nonReactWrapper = null);}, n.componentDidMount = function () {this._isMounted = !0, this.renderSVG();}, n.componentDidUpdate = function (e) {var t = this;(function (e, t) {for (var n in e) if (!(n in t)) return !0;for (var r in t) if (e[r] !== t[r]) return !0;return !1;})(o()({}, e), this.props) && this.setState(function () {return t.initialState;}, function () {t.removeSVG(), t.renderSVG();});}, n.componentWillUnmount = function () {this._isMounted = !1, this.removeSVG();}, n.render = function () {var e = this.props;e.afterInjection, e.beforeInjection, e.desc, e.evalScripts;var t = e.fallback;e.httpRequestWithCredentials;var n = e.loading;e.renumerateIRIElements, e.src, e.title, e.useRequestCache;var r = e.wrapper,a = i()(e, C),u = r;return E.createElement(u, o()({}, a, { ref: this.refCallback }, "svg" === r ? { xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink" } : {}), this.state.isLoading && n && E.createElement(n, null), this.state.hasError && t && E.createElement(t, null));}, t;}(E.Component);k.defaultProps = { afterInjection: function () {}, beforeInjection: function () {}, desc: "", evalScripts: "never", fallback: null, httpRequestWithCredentials: !1, loading: null, onError: function () {}, renumerateIRIElements: !0, title: "", useRequestCache: !0, wrapper: "div" }, k.propTypes = { afterInjection: w.func, beforeInjection: w.func, desc: w.string, evalScripts: w.oneOf(["always", "once", "never"]), fallback: w.oneOfType([w.func, w.object, w.string]), httpRequestWithCredentials: w.bool, loading: w.oneOfType([w.func, w.object, w.string]), onError: w.func, renumerateIRIElements: w.bool, src: w.string.isRequired, title: w.string, useRequestCache: w.bool, wrapper: w.oneOf(["div", "span", "svg"]) };}]);
   /* Ende gsb_zoll_und_post_app */
   /* Start gsb_zoll_und_post_starter */
   "use strict";!function (e) {var t = {};function o(r) {if (t[r]) return t[r].exports;var n = t[r] = { i: r, l: !1, exports: {} };return e[r].call(n.exports, n, n.exports, o), n.l = !0, n.exports;}o.m = e, o.c = t, o.d = function (e, t, r) {o.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r });}, o.r = function (e) {"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 });}, o.t = function (e, t) {if (1 & t && (e = o(e)), 8 & t) return e;if (4 & t && "object" == typeof e && e && e.__esModule) return e;var r = Object.create(null);if (o.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var n in e) o.d(r, n, function (t) {return e[t];}.bind(null, n));return r;}, o.n = function (e) {var t = e && e.__esModule ? function () {return e.default;} : function () {return e;};return o.d(t, "a", t), t;}, o.o = function (e, t) {return Object.prototype.hasOwnProperty.call(e, t);}, o.p = "", o(o.s = 217);}({ 217: function (e, t, o) {"use strict";var r,n,l = o(42),c = (r = l) && r.__esModule ? r : { default: r };n = jQuery, jQuery.fn.gsb_zoll_und_post_starter = function (e, t) {return this.each(function () {var o = n("#" + e);if (1 === o.length) {var r = n("<div>", { class: "loadingSpinner" }).appendTo(o),l = n("<div>", { class: "loadingSpinnerText", text: "Bitte haben Sie einen Moment Geduld, der Abgabenrechner lädt die notwendigen Daten." }).attr("aria-hidden", !0).appendTo(o);n('<span class="aural">Bitte haben Sie einen Moment Geduld, der Abgabenrechner lädt die notwendigen Daten.</span>').appendTo(o), n.ajax({ indexValue: { webserviceUrl: t }, dataType: "json", url: t, contentType: "json", crossDomain: !1, success: function (t) {console.log("ZuP: GSB Zoll und Post App Daten erfolgreich geladen."), console.debug(t), (0, c.default)(t.textConfigDe), r.hide(), l.hide(), gsb_zoll_und_post_app(e, t);}, error: function (e) {console.error("ZuP: Bei Laden der Daten ist folgender Fehler aufgetreten"), console.error(e), r.hide(), l.hide(), n("<div>", { class: "loadingSpinnerText error", text: "Leider konnten die Daten nicht geladen werden. Versuchen sie es zu einem späteren Zeitpunkt noch einmal." }).appendTo(o);} });} else console.error("ZuP: Das Element mit der Id " + e + "wurde " + o.length + " mal im DOM gefunden. Es muss genau 1 mal im DOM vorhanden sein, damit die Anwendung ausgeführt werden kann."), n("<div>", { css: { color: "red", "font-weight": "bold", "font-size": "1.6rem" }, text: "Leider konnte die Zoll und Post App nicht ausgeführt werden." }).appendTo(n("#content"));});};}, 42: function (e, t, o) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;};t.default = function (e) {var t = n.map(function (t) {var o,r,n = (o = e, r = null, t.split(".").reduce(function (e, t) {return e ? e[t] : r;}, o));return !(!n || !n.trim()) || (console.error("ZuP: Der Text " + t + " bzw. " + t.replace(/[.]/g, "_") + " ist nicht vorhanden oder leer!"), !1);}).filter(function (e) {return !e;}).length;t ? console.error("ZuP: Fehlende Texte: " + t) : console.debug("ZuP: Keine fehlenden Texte festgestellt.");!function e(t, o, n) {for (var l in t) Array.isArray(t[l]) || "object" === r(t[l]) ? e(t[l], "" + o + l + ".", n) : -1 === n.indexOf("" + (o + l)) && console.warn("Der Text '" + (o + l) + "' bzw. '" + (o.replace(/[.]/g, "_") + l) + "' ist vorhanden, wird aber nicht validiert/benötigt");}(e, "", n);};var n = ["buttons.backButton.text", "buttons.closeButton.text", "buttons.detailsButton.text", "buttons.resetButton.text", "currencySigns.euro", "popups.categoryPopup.title.text", "popups.categoryPopup.title.iconButtonAltText", "popups.categoryPopup.listItemIconAltTextClosed", "popups.categoryPopup.listItemIconAltTextOpened", "popups.categoryPopup.taxBox.euTax", "popups.categoryPopup.taxBox.title", "popups.categoryPopup.taxBox.zollTax", "popups.euPopup.title.text", "popups.euPopup.title.iconButtonAltText", "popups.euPopup.body", "popups.specialProductPopup.title.iconButtonAltText", "select.placeholder", "select.noResults", "screenReader.entries", "screenReader.selected", "screenReader.notSelected", "screenReader.selectCurrencyInput", "screenReader.selectCurrencyLabel", "screenReader.selectCurrencyDropdown", "screenReader.selectCurrencyInEuro", "screenReader.catalogSelectInputFieldProducts", "screenReader.catalogSelectInputFieldCategories", "screenReader.catalogSelectInputFieldSpecialCategories", "screenReader.catalogSelectOptionListProducts", "screenReader.catalogSelectOptionListCategories", "screenReader.catalogSelectOptionListSpecialCategories", "screens.calculator.title.text", "screens.calculator.title.iconButtonAltText", "screens.calculator.infoPopup.title.text", "screens.calculator.infoPopup.title.iconButtonAltText", "screens.calculator.infoPopup.body", "screens.calculator.body", "screens.calculator.selectProduct.title.text", "screens.calculator.selectProduct.dropdownPlaceholder", "screens.calculator.toggleGift.title.text", "screens.calculator.toggleGift.title.iconButtonAltText", "screens.calculator.toggleGift.toggleLabel", "screens.calculator.toggleGift.infoPopup.title.text", "screens.calculator.toggleGift.infoPopup.title.iconButtonAltText", "screens.calculator.toggleGift.infoPopup.body", "screens.calculator.selectCountry.title.text", "screens.calculator.selectCountry.dropdownPlaceholder", "screens.calculator.selectCurrency.title.text", "screens.calculator.selectCurrency.title.iconButtonAltText", "screens.calculator.selectCurrency.infoPopup.title.text", "screens.calculator.selectCurrency.infoPopup.title.iconButtonAltText", "screens.calculator.selectCurrency.infoPopup.body", "screens.calculator.resultBox.title.text", "screens.calculator.resultBox.base", "screens.calculator.resultBox.billValue", "screens.calculator.resultBox.currencyShort", "screens.calculator.resultBox.summary", "screens.calculator.resultBox.resultNoTaxes", "screens.calculator.resultBox.resultNoTaxesGift", "screens.calculator.resultBox.minTaxToPayThreshold", "screens.calculator.resultBox.minTaxToPayLowerThreshold", "screens.calculator.resultBox.notification", "screens.calculator.resultBox.euTax1", "screens.calculator.resultBox.euTax2", "screens.calculator.resultBox.flatTax1", "screens.calculator.resultBox.flatTax2", "screens.calculator.resultBox.zollTax1", "screens.calculator.resultBox.zollTax2", "screens.calculator.resultBox.zollTax3", "screens.calculator.resultBox.maxZollTaxAmount1", "screens.calculator.resultBox.maxZollTaxAmount2", "screens.catalog.title.text", "screens.catalog.radioButton1.text", "screens.catalog.radioButton2.text", "screens.catalog.radioButton3.text", "screens.mainMenu.title.text", "screens.mainMenu.buttons.calculator.h", "screens.mainMenu.buttons.calculator.text", "screens.mainMenu.buttons.catalog.h", "screens.mainMenu.buttons.catalog.text", "typeahead.searchPlaceholder", "typeahead.noResults"];} });
   /* Ende gsb_zoll_und_post_starter */
   /* Start gsb_zoll_und_reise_app */
   "use strict";!function (e) {var t = {};function n(r) {if (t[r]) return t[r].exports;var i = t[r] = { i: r, l: !1, exports: {} };return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports;}n.m = e, n.c = t, n.d = function (e, t, r) {n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r });}, n.r = function (e) {"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 });}, n.t = function (e, t) {if (1 & t && (e = n(e)), 8 & t) return e;if (4 & t && "object" == typeof e && e && e.__esModule) return e;var r = Object.create(null);if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var i in e) n.d(r, i, function (t) {return e[t];}.bind(null, i));return r;}, n.n = function (e) {var t = e && e.__esModule ? function () {return e.default;} : function () {return e;};return n.d(t, "a", t), t;}, n.o = function (e, t) {return Object.prototype.hasOwnProperty.call(e, t);}, n.p = "", n(n.s = 107);}([function (e, t, n) {"use strict";e.exports = n(136);}, function (e, t, n) {e.exports = n(155)();}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.selectedSpecialRestrictionDataType = t.selectedCategoryDataType = t.selectedGoodDataType = t.specialGoodsType = t.sliderDataType = t.radioButtonTextsType = t.currencyDataType = t.currencyType = t.selectGoodsBarTextsType = t.selectedCriteriaTextsType = t.selectTextsType = t.infoPopupTextsType = t.taxBoxTextsType = t.titleTextsType = t.buttonBarTextsType = t.anySliderPanelTextsType = t.anySliderTextsType = t.selectCountryAssetsType = t.fullDataObjectType = t.specialGoodsCategoriesNotExceedingLimitDataType = t.specialGoodsCategoriesExceedinglimitDataType = t.transportDataType = t.specialGoodsDataType = t.goodsDataType = t.selectedGoodsBarDataType = t.countryDataType = t.specialCategoriesType = t.categoryDataType = t.productDataType = t.freeAmountsType = t.ageDataType = void 0;var r,i = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},a = n(1),o = (r = a) && r.__esModule ? r : { default: r };var s = t.ageDataType = o.default.shape({ imgSrc: o.default.string.isRequired, text: o.default.string.isRequired, value: o.default.string.isRequired }),l = (t.freeAmountsType = o.default.shape({ FREE_AMOUNT_AGE_SMALLER_15: o.default.number.isRequired, FREE_AMOUNT_AGE_GREATER_15_SHIP_OR_PLANE: o.default.number.isRequired, FREE_AMOUNT_AGE_GREATER_15_OTHER_TRANSPORT: o.default.number.isRequired }), t.productDataType = o.default.shape({ descriptionEU: o.default.string.isRequired, descriptionNonEU: o.default.string.isRequired, descriptionShort: o.default.string.isRequired, euTax: o.default.string.isRequired, productTags: o.default.arrayOf(o.default.string.isRequired).isRequired, productType: o.default.string.isRequired, text: o.default.string.isRequired, zollTax: o.default.string.isRequired, maxFlatTaxAmount: o.default.string.isRequired })),u = (t.categoryDataType = o.default.shape({ description: o.default.string.isRequired, goods: o.default.arrayOf(l.isRequired).isRequired, imgSrc: o.default.string.isRequired, text: o.default.string.isRequired }), t.specialCategoriesType = o.default.shape({ description: o.default.string.isRequired, imgSrc: o.default.string.isRequired, text: o.default.string.isRequired }), t.countryDataType = o.default.shape({ calcEuTax: o.default.number.isRequired, calcZoll: o.default.number.isRequired, eu: o.default.number.isRequired, imgSrc: o.default.string.isRequired, specialZone: o.default.number.isRequired, subText: o.default.string, text: o.default.string.isRequired })),c = t.selectedGoodsBarDataType = o.default.shape({ currency: o.default.shape({ name: o.default.string.isRequired, value: o.default.string.isRequired, calculationValue: o.default.number.isRequired, exchangeRate: o.default.string.isRequired }).isRequired }),d = t.goodsDataType = o.default.shape({ selectedGoodsBar: o.default.arrayOf(c.isRequired).isRequired, value: o.default.string.isRequired }),f = t.specialGoodsDataType = o.default.shape({ alcohol: o.default.objectOf(o.default.string.isRequired).isRequired, coffee: o.default.objectOf(o.default.string.isRequired).isRequired, fuel: o.default.objectOf(o.default.string.isRequired).isRequired, tobacco: o.default.objectOf(o.default.string.isRequired).isRequired }),p = t.transportDataType = o.default.shape({ imgSrc: o.default.string.isRequired, text: o.default.string.isRequired, value: o.default.string.isRequired }),h = t.specialGoodsCategoriesExceedinglimitDataType = o.default.arrayOf(o.default.string.isRequired),g = t.specialGoodsCategoriesNotExceedingLimitDataType = o.default.arrayOf(o.default.string.isRequired),m = (t.fullDataObjectType = o.default.shape({ age: s.isRequired, country: u.isRequired, goods: d.isRequired, specialGoods: f.isRequired, specialGoodsCategoriesExceedingLimit: h.isRequired, specialGoodsCategoriesNotExceedingLimit: g.isRequired, transport: p.isRequired }), t.selectCountryAssetsType = o.default.arrayOf(u.isRequired), t.anySliderTextsType = o.default.shape({ label: o.default.string.isRequired, subTitle: o.default.string })),b = (t.anySliderPanelTextsType = o.default.shape({ eu: o.default.objectOf(m.isRequired), label: o.default.string.isRequired, notEU: o.default.objectOf(m.isRequired).isRequired }), t.buttonBarTextsType = o.default.shape({ back: o.default.shape({ text: o.default.string.isRequired }).isRequired, continue: o.default.shape({ text: o.default.string.isRequired }) }), t.titleTextsType = o.default.shape({ text: o.default.string.isRequired, iconButton: o.default.string, iconButtonAltText: o.default.string }), t.taxBoxTextsType = o.default.shape({ title: o.default.string.isRequired, zollTax: o.default.string.isRequired, euTax: o.default.string.isRequired }), t.infoPopupTextsType = o.default.shape({ alertBox: o.default.string, body: o.default.string.isRequired, title: o.default.shape({ text: o.default.string.isRequired, iconButton: o.default.string, iconButtonAltText: o.default.string }).isRequired }), t.selectTextsType = o.default.shape({ noResults: o.default.string.isRequired, placeholder: o.default.string.isRequired }), t.selectedCriteriaTextsType = o.default.shape({ label: o.default.string.isRequired, younger: o.default.string.isRequired, older: o.default.string.isRequired }), t.selectGoodsBarTextsType = o.default.shape({ addGoods: o.default.string.isRequired, currency: o.default.shape({ placeholder: o.default.string.isRequired, resultCurrency: o.default.string.isRequired }).isRequired }), t.currencyType = o.default.shape({ exchangeRate: o.default.string.isRequired, name: o.default.string.isRequired }), t.currencyDataType = o.default.shape({ exchangeRate: o.default.string.isRequired, name: o.default.string.isRequired, value: o.default.string.isRequired }), t.radioButtonTextsType = o.default.shape({ top: o.default.string.isRequired }), t.sliderDataType = o.default.shape({ limit: o.default.number.isRequired, step: o.default.oneOfType([o.default.string.isRequired, o.default.number.isRequired]).isRequired, unit: o.default.string.isRequired }));t.specialGoodsType = o.default.shape({ eu: o.default.shape({ tobacco: o.default.shape({ cigarettes: b.isRequired, cigarillo: b.isRequired, cigars: b.isRequired, smokeTobacco: b.isRequired }).isRequired, alcohol: o.default.shape({ beer: b.isRequired, alcopops: b.isRequired, foamingWines: b.isRequired, provisionalProducts: b.isRequired, spirits: b.isRequired }).isRequired, fuel: o.default.shape({ fuel: b.isRequired }).isRequired, coffee: o.default.shape({ coffee: b.isRequired }).isRequired }).isRequired, notEU: o.default.shape({ tobacco: o.default.shape({ cigarettes: b.isRequired, cigarillo: b.isRequired, cigars: b.isRequired, smokeTobacco: b.isRequired }).isRequired, alcohol: o.default.shape({ beer: b.isRequired, lessEqualsXPercent: b.isRequired, moreThanXPercent: b.isRequired, nonFoamingWines: b.isRequired }).isRequired, fuel: o.default.shape({ fuel: b.isRequired }).isRequired, coffee: o.default.shape({ coffee: b.isRequired }).isRequired }).isRequired }), t.selectedGoodDataType = o.default.shape(i({}, l.isRequired, { category: o.default.shape({ text: o.default.string.isRequired }).isRequired })), t.selectedCategoryDataType = o.default.shape({ description: o.default.string.isRequired, goods: o.default.arrayOf(l).isRequired, imgSrc: o.default.string.isRequired, text: o.default.string.isRequired }), t.selectedSpecialRestrictionDataType = o.default.shape({ description: o.default.string.isRequired, imgSrc: o.default.string.isRequired, text: o.default.string.isRequired });}, function (e, t) {e.exports = function (e) {if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.htmlparser2 = t.convertNodeToElement = t.processNodes = void 0;var r = n(54);Object.defineProperty(t, "processNodes", { enumerable: !0, get: function () {return s(r).default;} });var i = n(87);Object.defineProperty(t, "convertNodeToElement", { enumerable: !0, get: function () {return s(i).default;} });var a = n(25);Object.defineProperty(t, "htmlparser2", { enumerable: !0, get: function () {return s(a).default;} });var o = s(n(192));function s(e) {return e && e.__esModule ? e : { default: e };}t.default = o.default;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.TOP_BAR = "topBar", t.CONTENT = "content", t.WARN = "warn", t.ALERT = "alert", t.OK = "ok", t.BACK = "back", t.CLOSE = "close", t.CONTINUE = "continue", t.RESET = "reset";var r = t.INFO_POPUP = "infoPopup",i = t.POPUP = "popup";t.GOODS_POPUP = "goodsPopup", t.CALCULATOR = "calculator", t.CALCULATOR_INFO_SCREEN = "calculatorInfo", t.CALCULATOR_INFO_INFO_POPUP = r + "CalculatorInfo", t.CALCULATOR_SELECT_COUNTRY_SCREEN = "calculatorSelectCountry", t.CALCULATOR_SELECT_COUNTRY_INFO_POPUP = r + "CalculatorSelectCountry", t.CALCULATOR_SELECT_AGE_SCREEN = "calculatorSelectAge", t.CALCULATOR_SELECT_AGE_INFO_POPUP = r + "CalculatorSelectAge", t.CALCULATOR_SELECT_TRANSPORT_SCREEN = "calculatorSelectTransport", t.CALCULATOR_SELECT_TRANSPORT_INFO_POPUP = r + "CalculatorSelectTransport", t.CALCULATOR_SHOW_NON_EU_TRANSPORT_OTHER_NOTIFICATION_SCREEN = "calculatorShowNonEuTransportOtherNotification", t.CALCULATOR_SELECT_SPECIAL_GOODS_SCREEN = "calculatorSelectSpecialGoods", t.CALCULATOR_SELECT_SPECIAL_GOODS_INFO_POPUP = r + "CalculatorSelectSpecialGoods", t.CALCULATOR_SELECT_SPECIAL_GOODS_TOBACCO_INFO_POPUP = r + "CalculatorSelectSpecialGoodsTobacco", t.CALCULATOR_SELECT_SPECIAL_GOODS_ALCOHOL_INFO_POPUP = r + "CalculatorSelectSpecialGoodsAlcohol", t.CALCULATOR_SELECT_SPECIAL_GOODS_COFFEE_INFO_POPUP = r + "CalculatorSelectSpecialGoodsCoffee", t.CALCULATOR_SELECT_SPECIAL_GOODS_FUEL_INFO_POPUP = r + "CalculatorSelectSpecialGoodsFuel", t.CALCULATOR_SELECT_GOODS_SCREEN = "calculatorSelectGoods", t.CALCULATOR_SELECT_GOODS_INFO_POPUP = r + "CalculatorSelectGoods", t.CALCULATOR_SELECT_GOODS_POPUP = i + "CalculatorSelectGoods", t.CALCULATOR_SHOW_RESULTS_SCREEN = "calculatorShowResults", t.CALCULATOR_SHOW_RESULTS_INFO_POPUP = r + "CalculatorShowResults", t.PERMITTED = "permitted", t.PERMITTED_INFO_SCREEN = "permittedInfo", t.PERMITTED_INFO_INFO_POPUP = r + "PermitedInfo", t.PERMITTED_SELECT_COUNTRY_SCREEN = "permittedSelectCountry", t.PERMITTED_SELECT_COUNTRY_INFO_POPUP = r + "PermittedSelectCountry", t.PERMITTED_SELECT_GOODS_SCREEN = "permittedSelectGoods", t.PERMITTED_SELECT_GOODS_INFO_POPUP = r + "PermittedSelectGoods", t.PERMITTED_SHOW_RESULTS_POPUP = i + "PermittedShowResults", t.MAIN_MENU_SCREEN = "mainMenu", t.APP_INFO_SCREEN = "appInfo";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = u(n(0)),a = u(n(1)),o = function (e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}(n(85)),s = u(n(12)),l = u(n(57));function u(e) {return e && e.__esModule ? e : { default: e };}var c = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.iconButtonRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {var e = this.props,t = e.imgSrc,n = e.preventFocus;t && !n && this.iconButtonRef.focus();} }, { key: "shouldComponentUpdate", value: function (e) {return !o.isEqual(this.props, e);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,r = t.functions,a = t.htmlTextWrapping,o = t.id,u = t.imgSrc,c = t.navTargets,d = t.texts,f = n ? "title " + n : "title";f = u ? f : f.concat(" textOnly");var p = u ? i.default.createElement(l.default, { className: "titleIconButton", dataParam: c.infoPopup, imgSrc: u, functions: { handleClick: r.handlePopupChange }, ref: function (t) {e.iconButtonRef = t;}, texts: { text: d.iconButton || d.title && d.title.iconButton, altText: d.altText || d.title && d.title.altText } }) : null;return i.default.createElement("div", { className: f }, i.default.createElement(s.default, { htmlTextWrapping: a, id: o, preventAlert: !0, text: d.text || d.title.text, isAlert: !0 }), "h1" === a ? i.default.createElement("div", { className: "aural", role: "alert" }, d.text || d.title.text) : "", p);} }]), t;}(i.default.Component);c.propTypes = { appId: a.default.string, className: a.default.string, functions: a.default.shape({ handlePopupChange: a.default.func, handleScreenChange: a.default.func }), htmlTextWrapping: a.default.string, id: a.default.string, imgSrc: a.default.string, navTargets: a.default.exact({ back: a.default.string, infoPopup: a.default.string }), preventAlert: a.default.bool, preventFocus: a.default.bool, texts: a.default.shape({ altText: a.default.string, text: a.default.string, iconButton: a.default.string }).isRequired }, c.defaultProps = { className: "", functions: { handlePopupChange: function () {}, handleScreenChange: function () {} }, htmlTextWrapping: "", id: "", imgSrc: "", navTargets: {}, preventAlert: !1, preventFocus: !1 }, t.default = c;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.TITLE_TEXT_WRAPPING_H1 = "h1", t.TITLE_TEXT_WRAPPING_H2 = "h2", t.SLIDER_PANEL_TITLE_TEXT_WRAPPING_H2 = "h2", t.NO_SPECIAL_GOODS_ALLOWED_TEXT_WRAPPING_H3 = "h3", t.NO_SPECIAL_GOODS_TEXT_WRAPPING_H3 = "h3", t.SELECT_GOODS_BILLING_AMOUNT_H2 = "h2", t.SHOW_RESULTS_TEXT_BOX_H2 = "h2", t.SELECTED_CRITERIA_LABEL_TEXT_WRAPPING_P = "p", t.LIST_ITEM_TITLE_H3 = "h3";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {document.getElementById(e).focus();};}, function (e, t) {function n() {return e.exports = n = Object.assign ? Object.assign.bind() : function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) ({}).hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;}, e.exports.__esModule = !0, e.exports.default = e.exports, n.apply(null, arguments);}e.exports = n, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {var r = n(197);e.exports = function (e, t, n) {return (t = r(t)) in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {var r = n(43)("wks"),i = n(34),a = n(14).Symbol,o = "function" == typeof a;(e.exports = function (e) {return r[e] || (r[e] = o && a[e] || (o ? a : i)("Symbol." + e));}).store = r;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(4)),s = l(n(99));function l(e) {return e && e.__esModule ? e : { default: e };}function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return u(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.className,n = e.htmlTextWrapping,r = e.id,a = e.preventAlert,l = e.text,u = e.htmlTextWrappingClassName,c = t ? "textBody " + t : "textBody",d = null,f = "" + n;return u && (f = f + ' class="' + u + '"'), d = r ? 0 !== f.indexOf("h1") || a ? (0, s.default)(f + " id=" + r, l, f) : (0, s.default)(f + ' role="alert" id=' + r, l, f) : 0 !== f.indexOf("h1") || a ? (0, s.default)(f, l) : (0, s.default)(f + ' role="alert"', l, f), i.default.createElement("div", { className: c }, (0, o.default)(d));} }]), t;}(i.default.Component);d.propTypes = { className: a.default.string, htmlTextWrapping: a.default.string, id: a.default.string, preventAlert: a.default.bool, text: a.default.string.isRequired, htmlTextWrappingClassName: a.default.string }, d.defaultProps = { className: "", htmlTextWrapping: "", id: "", preventAlert: !1, htmlTextWrappingClassName: "" }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = n(5),s = c(n(27)),l = n(2),u = c(n(41));function c(e) {return e && e.__esModule ? e : { default: e };}function d(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function f(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {return d(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderButton", value: function (e, t, n, r) {var a = this.props,l = a.functions,u = a.navTargets,c = a.texts,d = t === o.RESET,f = null,p = n ? r + " c-button disabled" : r + " c-button";return u && u[t] && (f = i.default.createElement(s.default, { appId: e, disabled: n, className: p, texts: c[t], functions: { handleScreenChange: l.handleScreenChange }, dataParam: u[t], reset: d })), f;} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.resetButton;return i.default.createElement("div", { className: "buttonBar" }, this._renderButton(t, o.BACK, !1, "leftButton"), this._renderButton(t, o.CONTINUE, this.props.continueButtonDisabled, "rightButton"), n ? this._renderButton(t, o.RESET, !1, "resetButton") : null, i.default.createElement(u.default, null));} }]), t;}(i.default.Component);p.propTypes = { appId: a.default.string.isRequired, continueButtonDisabled: a.default.bool.isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired, continue: a.default.string }).isRequired, functions: a.default.shape({ handleScreenChange: a.default.func }).isRequired, texts: l.buttonBarTextsType.isRequired, resetButton: a.default.bool }, p.defaultProps = { resetButton: !1 }, t.default = p;}, function (e, t) {var n = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();"number" == typeof __g && (__g = n);}, function (e, t) {e.exports = function (e) {return "object" == typeof e ? null !== e : "function" == typeof e;};}, function (e, t, n) {e.exports = !n(35)(function () {return 7 != Object.defineProperty({}, "a", { get: function () {return 7;} }).a;});}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(216)),s = n(5);function l(e) {return e && e.__esModule ? e : { default: e };}function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return u(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.functions,r = e.texts,a = [{ title: r.step1, navTarget: s.CALCULATOR_SELECT_COUNTRY_SCREEN, onClick: n.handleScreenChange }, { title: r.step2, navTarget: s.CALCULATOR_SELECT_AGE_SCREEN, onClick: n.handleScreenChange }, { title: r.step3, navTarget: s.CALCULATOR_SELECT_TRANSPORT_SCREEN, onClick: n.handleScreenChange }, { title: r.step4, navTarget: s.CALCULATOR_SELECT_SPECIAL_GOODS_SCREEN, onClick: n.handleScreenChange }, { title: r.step5, navTarget: s.CALCULATOR_SELECT_GOODS_SCREEN, onClick: n.handleScreenChange }, { title: r.step6, navTarget: s.CALCULATOR_SHOW_RESULTS_SCREEN, onClick: n.handleScreenChange }];return i.default.createElement("div", { className: "stepper-wrapper" }, i.default.createElement(o.default, { steps: a, activeStep: t }));} }]), t;}(i.default.Component);d.propTypes = { activeStep: a.default.number.isRequired, functions: a.default.shape({ handleScreenChange: a.default.func.isRequired }).isRequired, texts: a.default.objectOf(a.default.string.isRequired).isRequired }, t.default = d;}, function (e, t) {var n = e.exports = { version: "2.6.12" };"number" == typeof __e && (__e = n);}, function (e, t, n) {var r = n(14),i = n(20),a = n(23),o = n(34)("src"),s = n(110),l = ("" + s).split("toString");n(18).inspectSource = function (e) {return s.call(e);}, (e.exports = function (e, t, n, s) {var u = "function" == typeof n;u && (a(n, "name") || i(n, "name", t)), e[t] !== n && (u && (a(n, o) || i(n, o, e[t] ? "" + e[t] : l.join(String(t)))), e === r ? e[t] = n : s ? e[t] ? e[t] = n : i(e, t, n) : (delete e[t], i(e, t, n)));})(Function.prototype, "toString", function () {return "function" == typeof this && this[o] || s.call(this);});}, function (e, t, n) {var r = n(21),i = n(44);e.exports = n(16) ? function (e, t, n) {return r.f(e, t, i(1, n));} : function (e, t, n) {return e[t] = n, e;};}, function (e, t, n) {var r = n(22),i = n(66),a = n(68),o = Object.defineProperty;t.f = n(16) ? Object.defineProperty : function (e, t, n) {if (r(e), t = a(t, !0), r(n), i) try {return o(e, t, n);} catch (e) {}if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");return "value" in n && (e[t] = n.value), e;};}, function (e, t, n) {var r = n(15);e.exports = function (e) {if (!r(e)) throw TypeError(e + " is not an object!");return e;};}, function (e, t) {var n = {}.hasOwnProperty;e.exports = function (e, t) {return n.call(e, t);};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.AGE_SMALLER_15 = "-15", t.AGE_SMALLER_17 = "-17", t.AGE_GREATER_EQUALS_17 = "17+";}, function (e, t, n) {var r = n(88),i = n(92);function a(t, n) {return delete e.exports[t], e.exports[t] = n, n;}e.exports = { Parser: r, Tokenizer: n(89), ElementType: n(26), DomHandler: i, get FeedHandler() {return a("FeedHandler", n(163));}, get Stream() {return a("Stream", n(174));}, get WritableStream() {return a("WritableStream", n(95));}, get ProxyHandler() {return a("ProxyHandler", n(181));}, get DomUtils() {return a("DomUtils", n(94));}, get CollectingHandler() {return a("CollectingHandler", n(182));}, DefaultHandler: i, get RssHandler() {return a("RssHandler", this.FeedHandler);}, parseDOM: function (e, t) {var n = new i(t);return new r(n, t).end(e), n.dom;}, parseFeed: function (t, n) {var i = new e.exports.FeedHandler(n);return new r(i, n).end(t), i.dom;}, createDomStream: function (e, t, n) {var a = new i(e, t, n);return new r(a, t);}, EVENTS: { attribute: 2, cdatastart: 0, cdataend: 0, text: 1, processinginstruction: 2, comment: 1, commentend: 0, closetag: 1, opentag: 2, opentagname: 1, error: 1, end: 0 } };}, function (e, t) {e.exports = { Text: "text", Directive: "directive", Comment: "comment", Script: "script", Style: "style", Tag: "tag", CDATA: "cdata", Doctype: "doctype", isTag: function (e) {return "tag" === e.type || "script" === e.type || "style" === e.type;} };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(4)),s = n(5);function l(e) {return e && e.__esModule ? e : { default: e };}var u = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.buttonRef = {}, e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "focus", value: function () {this.buttonRef.focus();} }, { key: "_onClick", value: function (e) {var t = this,n = this.props,r = n.appId,i = n.functions,a = e.currentTarget.getAttribute("data-param");if (a.indexOf(s.POPUP) > -1 || a.indexOf(s.GOODS_POPUP) > -1 || a.indexOf(s.INFO_POPUP) > -1) {var o = JSON.parse(a);i.handlePopupChange(e, o.popup, o.index);} else i.handleScreenChange(e, function () {t._smoothScroll(window.scrollY, document.getElementsByClassName("l-content")[0].getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height || document.getElementById(r).parentElement.parentElement.getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height);});} }, { key: "_smoothScroll", value: function (e, t) {var n = this,r = e || 0;r < t ? setTimeout(function () {r < t - 10 ? (window.scrollTo(0, r + 10), n._smoothScroll(r + 10, t)) : window.scrollTo(0, t);}, 1) : r > t && setTimeout(function () {r > t + 10 ? (window.scrollTo(0, r - 10), n._smoothScroll(r - 10, t)) : window.scrollTo(0, t);}, 1);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,r = t.dataParam,a = t.disabled,s = t.imgSrc,l = t.texts,u = t.reset,c = l.h ? l.h : "",d = l.text ? l.text : "";return i.default.createElement("button", { "aria-label": l.ariaLabel, className: n, "data-param": r, "data-reset": u, disabled: a, onClick: this._onClick, ref: function (t) {e.buttonRef = t;}, title: l.altText }, c ? i.default.createElement("span", { className: "buttonHeader" }, (0, o.default)(c)) : null, (0, o.default)(d), s ? i.default.createElement("span", { className: "icon" }, i.default.createElement("img", { alt: l.altText, className: "radioButtonImage", src: s })) : null);} }]), t;}(i.default.Component);u.propTypes = { appId: a.default.string, className: a.default.string.isRequired, dataParam: a.default.string.isRequired, disabled: a.default.bool, functions: a.default.shape({ handlePopupChange: a.default.func, handleScreenChange: a.default.func }).isRequired, imgSrc: a.default.string, texts: a.default.shape({ h: a.default.string, text: a.default.string, ariaLabel: a.default.string }) }, u.defaultProps = { disabled: !1, imgSrc: "", texts: { altText: "", h: "", text: "" } }, t.default = u;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(4)),s = n(5);function l(e) {return e && e.__esModule ? e : { default: e };}function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return u(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderIcon", value: function () {var e = this.props,t = e.icons,n = e.type,r = null;return n !== s.WARN && n !== s.ALERT || (r = i.default.createElement("img", { src: t.warning, alt: "" })), n === s.OK && (r = i.default.createElement("img", { src: t.confirm, alt: "" })), r;} }, { key: "_renderScreenReaderNotification", value: function () {var e = this.props,t = e.texts,n = null;return e.type && (n = i.default.createElement("span", { className: "aural" }, t.attention)), n;} }, { key: "render", value: function () {var e = this.props,t = e.texts,n = e.type,r = null;return t.alertBox && (r = i.default.createElement("div", { className: "textBox " + n }, i.default.createElement("div", { className: "iconContainer" }, this._renderIcon()), this._renderScreenReaderNotification(), i.default.createElement("div", { className: "text" }, (0, o.default)(t.alertBox)))), r;} }]), t;}(i.default.Component);d.propTypes = { icons: a.default.shape({ warning: a.default.string, confirm: a.default.string }), texts: a.default.shape({ alertBox: a.default.string.isRequired, attention: a.default.string.isRequired }).isRequired, type: a.default.oneOf([s.ALERT, s.OK, s.WARN]).isRequired }, d.defaultProps = { icons: {} }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return Object.keys(e).map(function (t) {return e[t];}).slice(0, 3);};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(219)),s = n(24),l = n(5),u = n(2);function c(e) {return e && e.__esModule ? e : { default: e };}function d(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function f(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {return d(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderSelectedCriteriasAsTopBar", value: function () {for (var e = this.props, t = e.activeStep, n = e.data, r = e.type, a = [], s = t <= 3 ? t : 3, l = 0; l < s; l++) a = a.concat(i.default.createElement(o.default, { key: "selectedCriteria" + l, data: n[l], type: r }));return i.default.createElement("div", { "aria-hidden": !0, className: "selectedCriteriaWrapper asTopBar" }, i.default.createElement("div", { className: "selectedCriteriaContainer" }, a));} }, { key: "_renderSelectedCriteriasAsContent", value: function () {for (var e = this.props, t = e.activeStep, n = e.data, r = e.type, a = e.texts, l = [], u = t <= 3 ? t : 3, c = 0; c < u; c++) {var d = "";1 === c && (d = n[1].value === s.AGE_GREATER_EQUALS_17 ? a.older : a.younger), l = l.concat(i.default.createElement(o.default, { key: "selectedCriteria" + c, data: n[c], type: r, text: d }));}return i.default.createElement("div", { className: "selectedCriteriaWrapper asContent" }, i.default.createElement("div", { className: "selectedCriteriaContainer" }, l));} }, { key: "render", value: function () {return this.props.type === l.TOP_BAR ? this._renderSelectedCriteriasAsTopBar() : this._renderSelectedCriteriasAsContent();} }]), t;}(i.default.Component);p.propTypes = { activeStep: a.default.number.isRequired, data: a.default.arrayOf(a.default.oneOfType([u.countryDataType, u.ageDataType, u.transportDataType])).isRequired, texts: u.selectedCriteriaTextsType.isRequired, type: a.default.string.isRequired }, t.default = p;}, function (e, t, n) {var r = n(193);e.exports = function (e, t) {e.prototype = Object.create(t.prototype), e.prototype.constructor = e, r(e, t);}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t) {e.exports = {};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(4)),s = n(2);function l(e) {return e && e.__esModule ? e : { default: e };}function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return u(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {for (var e = this.props, t = e.activeStep, n = e.data, r = e.texts, a = [], s = t <= 3 ? t : 3, l = 0; l < s; l++) a = a.concat(i.default.createElement("li", { key: "selectedCriteria" + l }, (0, o.default)(r["top" + l]), ": ", (0, o.default)(n[l].text)));return i.default.createElement("div", { className: "aural" }, i.default.createElement("p", null, i.default.createElement("strong", null, r.label)), i.default.createElement("ul", { className: "selectedCriteriaScreenReaderList" }, a));} }]), t;}(i.default.Component);d.propTypes = { activeStep: a.default.number.isRequired, data: a.default.arrayOf(a.default.oneOfType([s.countryDataType, s.ageDataType, s.transportDataType])).isRequired, texts: s.selectedCriteriaTextsType.isRequired }, t.default = d;}, function (e, t) {var n = 0,r = Math.random();e.exports = function (e) {return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++n + r).toString(36));};}, function (e, t) {e.exports = function (e) {try {return !!e();} catch (e) {return !0;}};}, function (e, t, n) {var r = n(112);e.exports = function (e, t, n) {if (r(e), void 0 === t) return e;switch (n) {case 1:return function (n) {return e.call(t, n);};case 2:return function (n, r) {return e.call(t, n, r);};case 3:return function (n, r, i) {return e.call(t, n, r, i);};}return function () {return e.apply(t, arguments);};};}, function (e, t, n) {var r = n(116),i = n(46);e.exports = function (e) {return r(i(e));};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.TRANSPORT_SHIP_OR_PLANE = "transportShipOrPlane", t.TRANSPORT_OTHER = "transportOther";}, function (e, t, n) {"use strict";function r(e, t) {var n = function (e, t, n) {n && (t = -t);var r = ("" + e).split("e");return +(r[0] + "e" + (r[1] ? +r[1] + t : t));};return n(Math.round(n(e, t, !1)), t, !0);}Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t) {var n = r(r(e, 3), 2).toFixed(2).replace(".", ",").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.");t && (n = n + " " + t);return n;};}, function (e, t) {"function" == typeof Object.create ? e.exports = function (e, t) {t && (e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }));} : e.exports = function (e, t) {if (t) {e.super_ = t;var n = function () {};n.prototype = t.prototype, e.prototype = new n(), e.prototype.constructor = e;}};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r,i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = (r = a) && r.__esModule ? r : { default: r };function s(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function l(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var u = function (e) {function t() {return s(this, t), l(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "render", value: function () {return o.default.createElement("div", { className: "ieFloatFix" });} }]), t;}(o.default.Component);t.default = u;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(4)),s = n(2);function l(e) {return e && e.__esModule ? e : { default: e };}var u = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_onClick", value: function (e) {this.props.functions.handleSelection(e);} }, { key: "render", value: function () {var e = this.props,t = e.imgSrc,n = e.addImgSrc,r = e.addImg2Src,a = e.texts,s = e.id,l = e.className,u = e.checked,c = e.dataParam,d = e.dataText,f = "radioButton ".concat(!0 === u ? "checked" : "unchecked"),p = l ? l + " " + f : f;return i.default.createElement("button", { "aria-checked": u, "aria-label": a.ariaLabel || a.top, className: p, "data-img": t, "data-param": c, "data-text": d, onClick: this._onClick, role: "radio" }, i.default.createElement("span", { "aria-hidden": !0, className: "age top ".concat(s) }, (0, o.default)(a.top)), t ? i.default.createElement("img", { "aria-hidden": !0, alt: "", className: "radioButtonImage", src: t }) : null, n ? i.default.createElement("img", { "aria-hidden": !0, alt: "", className: "radioButtonImage", src: n }) : null, r ? i.default.createElement("img", { "aria-hidden": !0, alt: "", className: "radioButtonImage", src: r }) : null, a.bottom ? i.default.createElement("span", { "aria-hidden": !0, className: "age bottom ".concat(s) }, (0, o.default)(a.bottom)) : null);} }]), t;}(i.default.Component);u.propTypes = { checked: a.default.bool.isRequired, className: a.default.string, dataParam: a.default.string.isRequired, dataText: a.default.string.isRequired, functions: a.default.shape({ handleSelection: a.default.func.isRequired }).isRequired, id: a.default.string.isRequired, imgSrc: a.default.string, addImgSrc: a.default.string, addImg2Src: a.default.string, texts: s.radioButtonTextsType.isRequired }, u.defaultProps = { className: "", imgSrc: "", addImgSrc: "", addImg2Src: "" }, t.default = u;}, function (e, t, n) {var r = n(18),i = n(14),a = i["__core-js_shared__"] || (i["__core-js_shared__"] = {});(e.exports = function (e, t) {return a[e] || (a[e] = void 0 !== t ? t : {});})("versions", []).push({ version: r.version, mode: n(65) ? "pure" : "global", copyright: "© 2020 Denis Pushkarev (zloirock.ru)" });}, function (e, t) {e.exports = function (e, t) {return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t };};}, function (e, t) {var n = Math.ceil,r = Math.floor;e.exports = function (e) {return isNaN(e = +e) ? 0 : (e > 0 ? r : n)(e);};}, function (e, t) {e.exports = function (e) {if (null == e) throw TypeError("Can't call method on  " + e);return e;};}, function (e, t, n) {"use strict";var r = n(65),i = n(70),a = n(19),o = n(20),s = n(32),l = n(113),u = n(49),c = n(120),d = n(11)("iterator"),f = !([].keys && "next" in [].keys()),p = function () {return this;};e.exports = function (e, t, n, h, g, m, b) {l(n, t, h);var v,_,y,S = function (e) {if (!f && e in w) return w[e];switch (e) {case "keys":case "values":return function () {return new n(this, e);};}return function () {return new n(this, e);};},x = t + " Iterator",E = "values" == g,T = !1,w = e.prototype,C = w[d] || w["@@iterator"] || g && w[g],O = C || S(g),R = g ? E ? S("entries") : O : void 0,k = "Array" == t && w.entries || C;if (k && (y = c(k.call(new e()))) !== Object.prototype && y.next && (u(y, x, !0), r || "function" == typeof y[d] || o(y, d, p)), E && C && "values" !== C.name && (T = !0, O = function () {return C.call(this);}), r && !b || !f && !T && w[d] || o(w, d, O), s[t] = O, s[x] = p, g) if (v = { values: E ? O : S("values"), keys: m ? O : S("keys"), entries: R }, b) for (_ in v) _ in w || a(w, _, v[_]);else i(i.P + i.F * (f || T), t, v);return v;};}, function (e, t, n) {var r = n(43)("keys"),i = n(34);e.exports = function (e) {return r[e] || (r[e] = i(e));};}, function (e, t, n) {var r = n(21).f,i = n(23),a = n(11)("toStringTag");e.exports = function (e, t, n) {e && !i(e = n ? e : e.prototype, a) && r(e, a, { configurable: !0, value: t });};}, function (e, t, n) {var r = n(15);e.exports = function (e, t) {if (!r(e) || e._t !== t) throw TypeError("Incompatible receiver, " + t + " required!");return e;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.GOODS_LESS_THAN_FREE_AMOUNT = "lessThanFreeAmount", t.GOODS_MORE_THAN_FREE_AMOUNT = "moreThanFreeAmount";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t) {var n = { tobacco: { value1: e ? t.eu.tobacco.cigarettes : t.notEU.tobacco.cigarettes, value2: e ? t.eu.tobacco.cigarillo : t.notEU.tobacco.cigarillo, value3: e ? t.eu.tobacco.cigars : t.notEU.tobacco.cigars, value4: e ? t.eu.tobacco.smokeTobacco : t.notEU.tobacco.smokeTobacco }, alcohol: { value1: e ? t.eu.alcohol.beer : t.notEU.alcohol.beer, value2: e ? t.eu.alcohol.alcopops : t.notEU.alcohol.lessEqualsXPercent, value3: e ? t.eu.alcohol.foamingWines : t.notEU.alcohol.moreThanXPercent, value4: e ? t.eu.alcohol.provisionalProducts : t.notEU.alcohol.nonFoamingWines }, fuel: { value1: e ? t.eu.fuel.fuel : t.notEU.fuel.fuel }, coffee: { value1: e ? t.eu.coffee.coffee : t.notEU.coffee.coffee } };return e && (n.alcohol.value5 = t.eu.alcohol.spirits), n;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;};t.default = function (e) {var t = i.map(function (t) {var n,r,i = (n = e, r = null, t.split(".").reduce(function (e, t) {return e ? e[t] : r;}, n));return !(!i || !i.trim()) || (console.error("ZuR: Der Text " + t + " bzw. " + t.replace(/[.]/g, "_") + " ist nicht vorhanden oder leer!"), !1);}).filter(function (e) {return !e;}).length;t ? console.error("ZuR: Fehlende Texte: " + t) : console.debug("ZuR: Keine fehlenden Texte festgestellt.");!function e(t, n, i) {for (var a in t) Array.isArray(t[a]) || "object" === r(t[a]) ? e(t[a], "" + n + a + ".", i) : -1 === i.indexOf("" + (n + a)) && console.warn("Der Text '" + (n + a) + "' bzw. '" + (n.replace(/[.]/g, "_") + a) + "' ist vorhanden, wird aber nicht validiert/benötigt");}(e, "", i);};var i = ["closeButton", "screenReader.attention", "screenReader.entries", "screenReader.selected", "screenReader.notSelected", "screenReader.selectInputField", "screenReader.typeaheadButtonDescription", "screenReader.oneLetterFilterButtonsDescription", "screenReader.selectCountryOptionsDescription", "screenReader.calculatorSelectGoodsOptionsDescription", "screenReader.permittedSelectGoodsViewGoodsOptionsDescription", "screenReader.permittedSelectGoodsViewCategoriesOptionsDescription", "screenReader.permittedSelectGoodsViewSpecialRestrictionsOptionsDescription", "screenReader.calculatorSelectGoodsCurrencyInput", "screenReader.calculatorSelectGoodsCurrencyDropdown", "screenReader.calculatorSelectGoodsCurrencyInEuro", "screenReader.calculatorSelectGoodsGoodsSelection", "screenReader.calculatorSelectGoodsAddGoodsBar", "currencySigns.euro", "buttonBar.buttons.back.text", "buttonBar.buttons.continue.text", "buttonBar.buttons.reset.text", "selectedCriteria.label", "selectedCriteria.younger", "selectedCriteria.older", "searchBar.select.placeholder", "searchBar.select.noResults", "stepper.step1", "stepper.step2", "stepper.step3", "stepper.step4", "stepper.step5", "stepper.step6", "popups.goodsPopup.title.iconButtonAltText", "popups.goodsPopup.taxBox.euTax", "popups.goodsPopup.taxBox.title", "popups.goodsPopup.taxBox.zollTax", "popups.goodsPopup.configureGoods.title.text", "popups.goodsPopup.configureGoods.body", "popups.popupCalculatorSelectGoods.title.text", "popups.popupCalculatorSelectGoods.title.iconButtonAltText", "popups.popupPermittedShowResults.title.text", "popups.popupPermittedShowResults.title.iconButtonAltText", "popups.popupPermittedShowResults.listItemIconAltTextOpened", "popups.popupPermittedShowResults.listItemIconAltTextClosed", "screens.mainMenu.title.text", "screens.mainMenu.buttons.calculator.h", "screens.mainMenu.buttons.calculator.text", "screens.mainMenu.buttons.permitted.h", "screens.mainMenu.buttons.permitted.text", "screens.calculatorInfo.title.text", "screens.calculatorInfo.title.altText", "screens.calculatorInfo.body", "screens.calculatorInfo.infoPopup.title.text", "screens.calculatorInfo.infoPopup.title.iconButtonAltText", "screens.calculatorInfo.infoPopup.body", "screens.calculatorInfo.infoPopup.alertBox", "screens.calculatorSelectCountry.title.text", "screens.calculatorSelectCountry.title.altText", "screens.calculatorSelectCountry.infoPopup.title.text", "screens.calculatorSelectCountry.infoPopup.title.iconButtonAltText", "screens.calculatorSelectCountry.infoPopup.body", "screens.calculatorSelectCountry.selectCountryContainer.addCountry", "screens.calculatorSelectAge.title.text", "screens.calculatorSelectAge.title.altText", "screens.calculatorSelectAge.radioButton1.ariaLabel", "screens.calculatorSelectAge.radioButton1.top", "screens.calculatorSelectAge.radioButton1.bottom", "screens.calculatorSelectAge.radioButton2.ariaLabel", "screens.calculatorSelectAge.radioButton2.top", "screens.calculatorSelectAge.radioButton2.bottom", "screens.calculatorSelectAge.radioButton3.ariaLabel", "screens.calculatorSelectAge.radioButton3.top", "screens.calculatorSelectAge.radioButton3.bottom", "screens.calculatorSelectAge.infoPopup.title.text", "screens.calculatorSelectAge.infoPopup.title.iconButtonAltText", "screens.calculatorSelectAge.infoPopup.body", "screens.calculatorSelectTransport.title.text", "screens.calculatorSelectTransport.title.altText", "screens.calculatorSelectTransport.radioButton1.top", "screens.calculatorSelectTransport.radioButton2.top", "screens.calculatorSelectTransport.infoPopup.title.text", "screens.calculatorSelectTransport.infoPopup.title.iconButtonAltText", "screens.calculatorSelectTransport.infoPopup.body", "screens.calculatorSelectTransport.infoPopup.alertBox", "screens.calculatorShowNonEuTransportOtherNotification.title.text", "screens.calculatorShowNonEuTransportOtherNotification.body", "screens.calculatorSelectSpecialGoods.title.text", "screens.calculatorSelectSpecialGoods.title.altText", "screens.calculatorSelectSpecialGoods.sliderLimitExceeded", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.altText", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider2.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider3.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider4.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider2.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider3.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider4.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.altText", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider2.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider2.subTitle", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider3.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider4.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider4.subTitle", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider5.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider5.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider5.subTitle", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider2.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider3.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider4.label", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.label", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.altText", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.label", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.altText", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.noSlidersText", "screens.calculatorSelectSpecialGoods.bottomText.noSpecialGoods", "screens.calculatorSelectSpecialGoods.bottomText.limitNotExceededSpecialGoods1", "screens.calculatorSelectSpecialGoods.bottomText.limitNotExceededSpecialGoods2", "screens.calculatorSelectSpecialGoods.bottomText.limitExceededSpecialGoods1", "screens.calculatorSelectSpecialGoods.bottomText.limitExceededSpecialGoods2", "screens.calculatorSelectSpecialGoods.infoPopup.title.text", "screens.calculatorSelectSpecialGoods.infoPopup.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopup.body", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.eu.body", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.notEu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.notEu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.notEu.body", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.eu.body", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.notEu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.notEu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.notEu.body", "screens.calculatorSelectSpecialGoods.infoPopupFuel.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupFuel.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupFuel.eu.body", "screens.calculatorSelectSpecialGoods.infoPopupFuel.notEu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupFuel.notEu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupFuel.notEu.body", "screens.calculatorSelectSpecialGoods.infoPopupCoffee.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupCoffee.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupCoffee.eu.body", "screens.calculatorSelectSpecialGoods.predictedTaxesNotice", "screens.calculatorSelectGoods.title.text", "screens.calculatorSelectGoods.title.altText", "screens.calculatorSelectGoods.fromEuropeTextBox", "screens.calculatorSelectGoods.radioButton1.top", "screens.calculatorSelectGoods.radioButton2.top", "screens.calculatorSelectGoods.selectGoodsContainer.title", "screens.calculatorSelectGoods.selectGoodsContainer.addGoodsBarButton", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.addGoods", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.deleteGoodsBarAltText", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.infoGoodsBarAltText", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.currency.placeholder", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.currency.resultCurrency", "screens.calculatorSelectGoods.billingAmount", "screens.calculatorSelectGoods.bottomText.limitNotExceededGoods1", "screens.calculatorSelectGoods.bottomText.limitNotExceededGoods2", "screens.calculatorSelectGoods.infoPopup.eu.title.text", "screens.calculatorSelectGoods.infoPopup.eu.title.iconButtonAltText", "screens.calculatorSelectGoods.infoPopup.eu.body", "screens.calculatorSelectGoods.infoPopup.notEu.title.text", "screens.calculatorSelectGoods.infoPopup.notEu.title.iconButtonAltText", "screens.calculatorSelectGoods.infoPopup.notEu.body", "screens.calculatorShowResults.title.text", "screens.calculatorShowResults.predictedTaxes", "screens.calculatorShowResults.taxedGoodsOverview.tableHeadline", "screens.calculatorShowResults.taxedGoodsOverview.goodHead", "screens.calculatorShowResults.taxedGoodsOverview.foreignCurrencyHead", "screens.calculatorShowResults.taxedGoodsOverview.euroCurrencyHead", "screens.calculatorShowResults.taxedGoodsOverview.taxToPayHead", "screens.calculatorShowResults.textBoxSpecialGoods.title.text", "screens.calculatorShowResults.textBoxSpecialGoods.tobaccoLabel", "screens.calculatorShowResults.textBoxSpecialGoods.alcoholLabel", "screens.calculatorShowResults.textBoxSpecialGoods.fuelLabel", "screens.calculatorShowResults.textBoxSpecialGoods.coffeeLabel", "screens.calculatorShowResults.textBoxSpecialGoods.noSpecialGoodsAllowed", "screens.calculatorShowResults.textBoxSpecialGoods.noSpecialGoods", "screens.calculatorShowResults.textBoxSpecialGoods.limitNotExceededSpecialGoods1", "screens.calculatorShowResults.textBoxSpecialGoods.limitNotExceededSpecialGoods2", "screens.calculatorShowResults.textBoxSpecialGoods.limitExceededSpecialGoods1", "screens.calculatorShowResults.textBoxSpecialGoods.limitExceededSpecialGoods2", "screens.calculatorShowResults.textBoxGoods.title.text", "screens.calculatorShowResults.textBoxGoods.fromEuropeTextBox", "screens.calculatorShowResults.textBoxGoods.limitNotExceededGoods1", "screens.calculatorShowResults.textBoxGoods.limitNotExceededGoods2", "screens.calculatorShowResults.textBoxGoods.limitExceededGoods", "screens.calculatorShowResults.predictedTaxesNotice", "screens.calculatorShowResults.flatTaxValue1", "screens.calculatorShowResults.flatTaxValue2", "screens.calculatorShowResults.euTaxValue1", "screens.calculatorShowResults.euTaxValue2", "screens.calculatorShowResults.maxFlatTaxAmount1", "screens.calculatorShowResults.maxFlatTaxAmount2", "screens.calculatorShowResults.zollTaxValue1", "screens.calculatorShowResults.zollTaxValue2", "screens.permittedInfo.title.text", "screens.permittedInfo.title.altText", "screens.permittedInfo.body", "screens.permittedInfo.infoPopup.title.text", "screens.permittedInfo.infoPopup.title.iconButtonAltText", "screens.permittedInfo.infoPopup.body", "screens.permittedInfo.infoPopup.alertBox", "screens.permittedSelectCountry.title.text", "screens.permittedSelectCountry.title.altText", "screens.permittedSelectCountry.infoPopup.title.text", "screens.permittedSelectCountry.infoPopup.title.iconButtonAltText", "screens.permittedSelectCountry.infoPopup.body", "screens.permittedSelectCountry.selectCountryContainer.addCountry", "screens.permittedSelectGoods.title.text", "screens.permittedSelectGoods.title.altText", "screens.permittedSelectGoods.radioButton1.top", "screens.permittedSelectGoods.radioButton2.top", "screens.permittedSelectGoods.radioButton3.top", "screens.permittedSelectGoods.infoPopup.title.text", "screens.permittedSelectGoods.infoPopup.title.iconButtonAltText", "screens.permittedSelectGoods.infoPopup.body"];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t) {return e.filter(function (e) {return !(0, r.default)(e);}).map(function (e, n) {var r = void 0;return "function" != typeof t || null !== (r = t(e, n)) && !r ? (0, i.default)(e, n, t) : r;});};var r = a(n(158)),i = a(n(87));function a(e) {return e && e.__esModule ? e : { default: e };}}, function (e) {e.exports = JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ﬃ","fflig":"ﬀ","ffllig":"ﬄ","Ffr":"𝔉","ffr":"𝔣","filig":"ﬁ","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"ﬂ","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"Ĳ","ijlig":"ĳ","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ŉ","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}');}, function (e) {e.exports = JSON.parse('{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}');}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = u(n(0)),a = u(n(1)),o = n(246),s = u(n(4)),l = n(194);function u(e) {return e && e.__esModule ? e : { default: e };}var c = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.buttonRef = {}, e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "focus", value: function () {this.buttonRef.focus();} }, { key: "_onClick", value: function (e) {var t = this,n = this.props,r = n.appId,i = n.functions,a = e.currentTarget.getAttribute("data-param");!a || a.toLowerCase().indexOf(l.POPUP) > -1 ? i.handleClick(e, a, !0) : isNaN(parseInt(a, 10)) ? i.handleClick(e, function () {t._smoothScroll(window.scrollY, document.getElementsByClassName("l-content")[0].getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height || document.getElementById(r).parentElement.parentElement.getBoundingClientRect().top + window.scrollY + document.getElementsByClassName("l-header")[0].getBoundingClientRect().height);}) : i.handleClick(e, a);} }, { key: "_smoothScroll", value: function (e, t) {var n = this,r = e || 0;r < t ? setTimeout(function () {r < t - 10 ? (window.scrollTo(0, r + 10), n._smoothScroll(r + 10, t)) : window.scrollTo(0, t);}, 1) : r > t && setTimeout(function () {r > t + 10 ? (window.scrollTo(0, r - 10), n._smoothScroll(r - 10, t)) : window.scrollTo(0, t);}, 1);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,r = t.dataParam,a = t.imgSrc,l = t.texts,u = n ? n + " iconButton" : "iconButton";return i.default.createElement("button", { ref: function (t) {e.buttonRef = t;}, "data-param": r, onClick: this._onClick, className: u, title: l.altText }, i.default.createElement("span", { className: "icon" }, (0, s.default)(l.text), i.default.createElement(o.ReactSVG, { src: a })), l.iconButtonBackText ? i.default.createElement("span", null, l.iconButtonBackText) : null);} }]), t;}(i.default.Component);c.propTypes = { appId: a.default.string, className: a.default.string, functions: a.default.shape({ handleClick: a.default.func.isRequired }).isRequired, imgSrc: a.default.string.isRequired, dataParam: a.default.string, texts: a.default.shape({ text: a.default.string, altText: a.default.string }) }, c.defaultProps = { className: "", texts: { text: "", altText: "" } }, t.default = c;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;};t.default = function (e, t) {var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [];if (e === t) return !1;var i = Object.keys(e),a = Object.keys(t);if (i.length !== a.length) return !0;var o = {},s = void 0,l = void 0;for (s = 0, l = n.length; s < l; s++) o[n[s]] = !0;for (s = 0, l = i.length; s < l; s++) {var u = i[s],c = e[u],d = t[u];if (c !== d) {if (!o[u] || null === c || null === d || "object" !== (void 0 === c ? "undefined" : r(c)) || "object" !== (void 0 === d ? "undefined" : r(d))) return !0;var f = Object.keys(c),p = Object.keys(d);if (f.length !== p.length) return !0;for (var h = 0, g = f.length; h < g; h++) {var m = f[h];if (c[m] !== d[m]) return !0;}}}return !1;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {return e[n].localeCompare(t[n]);};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.findBestGoodsCombinationLesserEqualsLimit = t.calculateBillingAmount = t.getFreeAmount = void 0, t.isBargeldBarmittel = a;var r = n(38),i = n(24);function a(e) {return !!e && e.toLowerCase().indexOf("bargeld") > -1 && e.toLowerCase().indexOf("barmittel") > -1;}t.getFreeAmount = function (e, t) {var n = t.FREE_AMOUNT_AGE_SMALLER_15;return e.age.value !== i.AGE_SMALLER_15 && (n = e.transport.value === r.TRANSPORT_SHIP_OR_PLANE ? t.FREE_AMOUNT_AGE_GREATER_15_SHIP_OR_PLANE : t.FREE_AMOUNT_AGE_GREATER_15_OTHER_TRANSPORT), n;}, t.calculateBillingAmount = function (e) {return e.goods.selectedGoodsBar.reduce(function (e, t) {return a(t.text) ? e : e + t.currency.calculationValue / t.currency.exchangeRate;}, 0);}, t.findBestGoodsCombinationLesserEqualsLimit = function (e, t) {var n = e.goods.selectedGoodsBar.map(function (e, t) {return { euroValue: e.currency.calculationValue / e.currency.exchangeRate, text: e.text, originalIndex: t };}).filter(function (e) {return !a(e.text);}),r = n.length;return [].concat(function (e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}(Array(Math.pow(2, r)))).map(function (e, t) {for (var i = 0, a = t, o = []; i < r;) 1 & a && o.push(n[i]), a >>= 1, i += 1;return o;}).slice(1).filter(function (e) {return e.reduce(function (e, t) {return { euroValue: e.euroValue + t.euroValue, texts: e.texts.concat(t.text), originalIndexes: e.originalIndexes.concat(t.originalIndex) };}, { euroValue: 0, texts: [], originalIndexes: [] }).euroValue <= t;}).reduce(function (e, t) {return e.concat(t.reduce(function (e, t) {return { euroValue: e.euroValue + t.euroValue, texts: e.texts.concat(t.text), originalIndexes: e.originalIndexes.concat(t.originalIndex) };}, { euroValue: 0, texts: [], originalIndexes: [] }));}, []).reduce(function (e, t) {return e.euroValue > t.euroValue ? e : t;}, { euroValue: 0, texts: [], originalIndexes: [] });};}, function (e, t, n) {"use strict";n.r(t), n.d(t, "AutoFocusInside", function () {return Se;}), n.d(t, "MoveFocusInside", function () {return xe;}), n.d(t, "FreeFocusInside", function () {return Te;}), n.d(t, "InFocusGuard", function () {return he;});var r = {};n.r(r), n.d(r, "FOCUS_GROUP", function () {return _;}), n.d(r, "FOCUS_DISABLED", function () {return y;}), n.d(r, "FOCUS_ALLOW", function () {return S;}), n.d(r, "FOCUS_AUTO", function () {return x;});var i = n(9),a = n.n(i),o = n(31),s = n.n(o),l = n(3),u = n.n(l),c = n(10),d = n.n(c),f = n(0),p = n.n(f),h = function (e) {for (var t = Array(e.length), n = 0; n < e.length; ++n) t[n] = e[n];return t;},g = function (e) {return Array.isArray(e) ? e : [e];},m = function (e, t) {var n = e.tabIndex - t.tabIndex,r = e.index - t.index;if (n) {if (!e.tabIndex) return 1;if (!t.tabIndex) return -1;}return n || r;},b = function (e, t, n) {return h(e).map(function (e, t) {return { node: e, index: t, tabIndex: n && -1 === e.tabIndex ? (e.dataset || {}).focusGuard ? 0 : -1 : e.tabIndex };}).filter(function (e) {return !t || e.tabIndex >= 0;}).sort(m);},v = ["button:enabled:not([readonly])", "select:enabled:not([readonly])", "textarea:enabled:not([readonly])", "input:enabled:not([readonly])", "a[href]", "area[href]", "iframe", "object", "embed", "[tabindex]", "[contenteditable]", "[autofocus]"],_ = "data-focus-lock",y = "data-focus-lock-disabled",S = "data-no-focus-lock",x = "data-autofocus-inside",E = v.join(","),T = E + ", [data-focus-guard]",w = function (e, t) {return e.reduce(function (e, n) {return e.concat(h(n.querySelectorAll(t ? T : E)), n.parentNode ? h(n.parentNode.querySelectorAll(v.join(","))).filter(function (e) {return e === n;}) : []);}, []);},C = function e(t) {var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];return n.push(t), t.parentNode && e(t.parentNode, n), n;},O = function (e, t) {for (var n = C(e), r = C(t), i = 0; i < n.length; i += 1) {var a = n[i];if (r.indexOf(a) >= 0) return a;}return !1;},R = function (e) {return h(e).filter(function (e) {return function e(t) {return !t || t === document || t.nodeType === Node.DOCUMENT_NODE || !((n = window.getComputedStyle(t, null)) && n.getPropertyValue && ("none" === n.getPropertyValue("display") || "hidden" === n.getPropertyValue("visibility"))) && e(t.parentNode);var n;}(e);}).filter(function (e) {return function (e) {return !(("INPUT" === e.tagName || "BUTTON" === e.tagName) && ("hidden" === e.type || e.disabled));}(e);});},k = function (e, t) {return b(R(w(e, t)), !0, t);},P = function (e) {return R((t = e.querySelectorAll("[" + x + "]"), h(t).map(function (e) {return w([e]);}).reduce(function (e, t) {return e.concat(t);}, [])));var t;},L = function (e) {return "INPUT" === e.tagName && "radio" === e.type;},A = function (e, t) {return t.filter(L).filter(function (t) {return t.name === e.name;}).filter(function (e) {return e.checked;})[0] || e;},I = function (e, t) {return e.length > 1 && L(e[t]) && e[t].name ? e.indexOf(A(e[t], e)) : t;},N = function (e) {return e[0] && e.length > 1 && L(e[0]) && e[0].name ? A(e[0], e) : e[0];},B = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;},j = function (e) {return g(e).filter(Boolean).reduce(function (e, t) {var n = t.getAttribute(_);return e.push.apply(e, n ? function e(t) {for (var n = t.length, r = 0; r < n; r += 1) for (var i = function (n) {if (r !== n && t[r].contains(t[n])) return { v: e(t.filter(function (e) {return e !== t[n];})) };}, a = 0; a < n; a += 1) {var o = i(a);if ("object" === (void 0 === o ? "undefined" : B(o))) return o.v;}return t;}(h(function e(t) {return t.parentNode ? e(t.parentNode) : t;}(t).querySelectorAll("[" + _ + '="' + n + '"]:not([' + y + '="disabled"])'))) : [t]), e;}, []);},G = function (e) {return e && e.dataset && e.dataset.focusGuard;},D = function (e) {return !G(e);},q = function (e, t, n) {var r = g(e),i = g(t),a = r[0],o = null;return i.filter(Boolean).forEach(function (e) {o = O(o || e, e) || o, n.filter(Boolean).forEach(function (e) {var t = O(a, e);t && (o = !o || t.contains(o) ? t : O(t, o));});}), o;},z = function (e, t) {var n = document && document.activeElement,r = j(e).filter(D),i = q(n || e, e, r),a = k(r).filter(function (e) {var t = e.node;return D(t);});if (a[0] || (a = (o = r, b(R(w(o)), !1)).filter(function (e) {var t = e.node;return D(t);}))[0]) {var o,s,l,u,c,d = k([i]).map(function (e) {return e.node;}),f = (s = d, l = a, u = new Map(), l.forEach(function (e) {return u.set(e.node, e);}), s.map(function (e) {return u.get(e);}).filter(Boolean)),p = f.map(function (e) {return e.node;}),h = function (e, t, n, r, i) {var a = e.length,o = e[0],s = e[a - 1],l = G(n);if (!(e.indexOf(n) >= 0)) {var u = t.indexOf(n),c = t.indexOf(r || u),d = e.indexOf(r),f = u - c,p = t.indexOf(o),h = t.indexOf(s),g = I(e, 0),m = I(e, a - 1);return -1 === u || -1 === d ? e.indexOf(i && i.length ? N(i) : N(e)) : !f && d >= 0 ? d : u <= p && l && Math.abs(f) > 1 ? m : u >= p && l && Math.abs(f) > 1 ? g : f && Math.abs(f) > 1 ? d : u <= p ? m : u > h ? g : f ? Math.abs(f) > 1 ? d : (a + d + f) % a : void 0;}}(p, d, n, t, p.filter((c = function (e) {return e.reduce(function (e, t) {return e.concat(P(t));}, []);}(r), function (e) {return !!e.autofocus || e.dataset && !!e.dataset.autofocus || c.indexOf(e) >= 0;})));return void 0 === h ? h : f[h];}},M = 0,F = !1,Z = function (e, t) {var n,r = z(e, t);if (!F && r) {if (M > 2) return console.error("FocusLock: focus-fighting detected. Only one focus management system could be active. See https://github.com/theKashey/focus-lock/#focus-fighting"), F = !0, void setTimeout(function () {F = !1;}, 1);M++, (n = r.node).focus(), n.contentWindow && n.contentWindow.focus(), M--;}};function W(e, t) {return (W = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {return e.__proto__ = t, e;})(e, t);}function U(e) {return (U = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;})(e);}function V(e) {var t = function (e, t) {if ("object" != U(e) || !e) return e;var n = e[Symbol.toPrimitive];if (void 0 !== n) {var r = n.call(e, t || "default");if ("object" != U(r)) return r;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === t ? String : Number)(e);}(e, "string");return "symbol" == U(t) ? t : t + "";}var H = function () {return document && h(document.querySelectorAll("[" + S + "]")).some(function (e) {return e.contains(document.activeElement);});},K = function (e) {return e === document.activeElement;},Y = function (e) {var t = document && document.activeElement;return !(!t || t.dataset && t.dataset.focusGuard) && j(e).reduce(function (e, n) {return e || n.contains(t) || function (e) {return t = h(e.querySelectorAll("iframe")), n = K, !!t.filter(function (e) {return e === n;})[0];var t, n;}(n);}, !1);};function X(e) {var t = window.setImmediate;void 0 !== t ? t(e) : setTimeout(e, 1);}var $ = function (e, t) {var n = {};return n[e] = t, n;},Q = function () {return document && document.activeElement === document.body || H();},J = null,ee = null,te = null,ne = !1,re = function () {return !0;};function ie(e, t, n, r) {var i = null,a = e;do {var o = r[a];if (o.guard) o.node.dataset.focusAutoGuard && (i = o);else {if (!o.lockItem) break;if (a !== e) return;i = null;}} while ((a += n) !== t);i && (i.node.tabIndex = 0);}var ae = function (e) {return e && "current" in e ? e.current : e;},oe = function () {var e,t,n,r,i,a,o = !1;if (J) {var s = J,l = s.observed,u = s.persistentFocus,c = s.autoFocus,d = s.shards,f = l || te && te.portaledElement,p = document && document.activeElement;if (f) {var h = [f].concat(d.map(ae).filter(Boolean));if (p && !function (e) {return (J.whiteList || re)(e);}(p) || (u || ne || !Q() || !ee && c) && (!f || Y(h) || (a = p, te && te.portaledElement === a) || (document && !ee && p && !c ? (p.blur(), document.body.focus()) : (o = Z(h, ee), te = {})), ne = !1, ee = document && document.activeElement), document) {var g = document && document.activeElement,m = (t = j(e = h).filter(D), n = q(e, e, t), r = k([n], !0), i = k(t).filter(function (e) {var t = e.node;return D(t);}).map(function (e) {return e.node;}), r.map(function (e) {var t = e.node;return { node: t, index: e.index, lockItem: i.indexOf(t) >= 0, guard: G(t) };})),b = m.find(function (e) {return e.node === g;});if (b) {m.filter(function (e) {var t = e.guard,n = e.node;return t && n.dataset.focusAutoGuard;}).forEach(function (e) {return e.node.removeAttribute("tabIndex");});var v = m.indexOf(b);ie(v, m.length, 1, m), ie(v, -1, -1, m);}}}}return o;},se = function (e) {oe() && e && (e.stopPropagation(), e.preventDefault());},le = function () {return X(oe);},ue = function (e) {var t = e.target,n = e.currentTarget;n.contains(t) || (te = { observerNode: n, portaledElement: t });},ce = function () {ne = !0;};var de = function (e, t) {return function (n) {var r,i = [];function a() {r = e(i.map(function (e) {return e.props;})), t(r);}var o,s,l,u = function (e) {var t, o;function s() {return e.apply(this, arguments) || this;}o = e, (t = s).prototype = Object.create(o.prototype), t.prototype.constructor = t, W(t, o), s.peek = function () {return r;};var l = s.prototype;return l.componentDidMount = function () {i.push(this), a();}, l.componentDidUpdate = function () {a();}, l.componentWillUnmount = function () {var e = i.indexOf(this);i.splice(e, 1), a();}, l.render = function () {return p.a.createElement(n, this.props);}, s;}(f.PureComponent);return o = u, s = "displayName", l = "SideEffect(" + function (e) {return e.displayName || e.name || "Component";}(n) + ")", (s = V(s)) in o ? Object.defineProperty(o, s, { value: l, enumerable: !0, configurable: !0, writable: !0 }) : o[s] = l, u;};}(function (e) {return e.filter(function (e) {return !e.disabled;}).slice(-1)[0];}, function (e) {e && !J && (document.addEventListener("focusin", se, !0), document.addEventListener("focusout", le), window.addEventListener("blur", ce));var t = J,n = t && e && e.onActivation === t.onActivation;J = e, t && !n && t.onDeactivation(), e ? (ee = null, n && t.observed === e.observed || e.onActivation(), oe(), X(oe)) : (document.removeEventListener("focusin", se, !0), document.removeEventListener("focusout", le), window.removeEventListener("blur", ce), ee = null);})(function () {return null;}),fe = { width: "1px", height: "0px", padding: 0, overflow: "hidden", position: "fixed", top: "1px", left: "1px" },pe = function (e) {var t = e.children;return p.a.createElement(p.a.Fragment, null, p.a.createElement("div", { key: "guard-first", "data-focus-guard": !0, "data-focus-auto-guard": !0, style: fe }), t, t && p.a.createElement("div", { key: "guard-last", "data-focus-guard": !0, "data-focus-auto-guard": !0, style: fe }));};pe.propTypes = {}, pe.defaultProps = { children: null };var he = pe,ge = function (e) {var t = e.children;return p.a.createElement("div", null, t);};ge.propTypes = {};var me = p.a.Fragment ? p.a.Fragment : ge,be = [],ve = function (e) {function t() {for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];return t = e.call.apply(e, [this].concat(r)) || this, d()(u()(u()(t)), "state", { observed: void 0 }), d()(u()(u()(t)), "onActivation", function () {t.originalFocusedElement = t.originalFocusedElement || document && document.activeElement, t.state.observed && t.props.onActivation && t.props.onActivation(t.state.observed), t.isActive = !0;}), d()(u()(u()(t)), "onDeactivation", function () {t.isActive = !1, t.props.returnFocus && t.originalFocusedElement && t.originalFocusedElement.focus && (t.originalFocusedElement.focus(), t.originalFocusedElement = null), t.props.onDeactivation && t.props.onDeactivation(t.state.observed);}), d()(u()(u()(t)), "onFocus", function (e) {t.isActive && ue(e);}), d()(u()(u()(t)), "onBlur", le), d()(u()(u()(t)), "setObserveNode", function (e) {t.state.observed !== e && t.setState({ observed: e });}), d()(u()(u()(t)), "isActive", !1), d()(u()(u()(t)), "originalFocusedElement", null), t;}return s()(t, e), t.prototype.render = function () {var e,t = this.props,n = t.children,i = t.disabled,o = t.noFocusGuards,s = t.persistentFocus,l = t.autoFocus,u = (t.allowTextSelection, t.group),c = t.className,d = t.whiteList,f = t.shards,h = void 0 === f ? be : f,g = t.as,m = void 0 === g ? "div" : g,b = t.lockProps,v = void 0 === b ? {} : b,_ = this.state.observed;var y = a()(((e = {})[r.FOCUS_DISABLED] = i && "disabled", e[r.FOCUS_GROUP] = u, e), v),S = !0 !== o,x = S && "tail" !== o;return p.a.createElement(me, null, S && [p.a.createElement("div", { key: "guard-first", "data-focus-guard": !0, tabIndex: i ? -1 : 0, style: fe }), p.a.createElement("div", { key: "guard-nearest", "data-focus-guard": !0, tabIndex: i ? -1 : 1, style: fe })], p.a.createElement(m, a()({ ref: this.setObserveNode }, y, { className: c, onBlur: this.onBlur, onFocus: this.onFocus }), p.a.createElement(de, { observed: _, disabled: i, persistentFocus: s, autoFocus: l, whiteList: d, shards: h, onActivation: this.onActivation, onDeactivation: this.onDeactivation }), n), x && p.a.createElement("div", { "data-focus-guard": !0, tabIndex: i ? -1 : 0, style: fe }));}, t;}(f.Component);ve.propTypes = {}, ve.defaultProps = { disabled: !1, returnFocus: !1, noFocusGuards: !1, autoFocus: !0, persistentFocus: !1, allowTextSelection: void 0, group: void 0, className: void 0, whiteList: void 0, shards: void 0, as: "div", lockProps: {}, onActivation: void 0, onDeactivation: void 0 };var _e = ve,ye = function (e) {var t = e.disabled,n = e.children,i = e.className;return p.a.createElement("div", a()({}, $(r.FOCUS_AUTO, !t), { className: i }), n);};ye.propTypes = {}, ye.defaultProps = { disabled: !1, className: void 0 };var Se = ye,xe = function (e) {function t() {for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];return t = e.call.apply(e, [this].concat(r)) || this, d()(u()(u()(t)), "setObserveNode", function (e) {t.observed = e, t.moveFocus();}), t;}s()(t, e);var n = t.prototype;return n.componentDidMount = function () {this.moveFocus();}, n.componentDidUpdate = function (e) {e.disabled && !this.props.disabled && this.moveFocus();}, n.moveFocus = function () {var e = this.observed;!this.props.disabled && e && (Y(e) || Z(e, null));}, n.render = function () {var e = this.props,t = e.children,n = e.disabled,i = e.className;return p.a.createElement("div", a()({}, $(r.FOCUS_AUTO, !n), { ref: this.setObserveNode, className: i }), t);}, t;}(f.Component);d()(xe, "defaultProps", { disabled: !1, className: void 0 }), xe.propTypes = {};var Ee = function (e) {var t = e.children,n = e.className;return p.a.createElement("div", a()({}, $(r.FOCUS_ALLOW, !0), { className: n }), t);};Ee.propTypes = {}, Ee.defaultProps = { disabled: !1, className: void 0 };var Te = Ee;t.default = _e;}, function (e, t, n) {"use strict";var r = n(63),i = {};i[n(11)("toStringTag")] = "z", i + "" != "[object z]" && n(19)(Object.prototype, "toString", function () {return "[object " + r(this) + "]";}, !0);}, function (e, t, n) {var r = n(64),i = n(11)("toStringTag"),a = "Arguments" == r(function () {return arguments;}());e.exports = function (e) {var t, n, o;return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = function (e, t) {try {return e[t];} catch (e) {}}(t = Object(e), i)) ? n : a ? r(t) : "Object" == (o = r(t)) && "function" == typeof t.callee ? "Arguments" : o;};}, function (e, t) {var n = {}.toString;e.exports = function (e) {return n.call(e).slice(8, -1);};}, function (e, t) {e.exports = !1;}, function (e, t, n) {e.exports = !n(16) && !n(35)(function () {return 7 != Object.defineProperty(n(67)("div"), "a", { get: function () {return 7;} }).a;});}, function (e, t, n) {var r = n(15),i = n(14).document,a = r(i) && r(i.createElement);e.exports = function (e) {return a ? i.createElement(e) : {};};}, function (e, t, n) {var r = n(15);e.exports = function (e, t) {if (!r(e)) return e;var n, i;if (t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i;if ("function" == typeof (n = e.valueOf) && !r(i = n.call(e))) return i;if (!t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i;throw TypeError("Can't convert object to primitive value");};}, function (e, t, n) {"use strict";var r = n(111)(!0);n(47)(String, "String", function (e) {this._t = String(e), this._i = 0;}, function () {var e,t = this._t,n = this._i;return n >= t.length ? { value: void 0, done: !0 } : (e = r(t, n), this._i += e.length, { value: e, done: !1 });});}, function (e, t, n) {var r = n(14),i = n(18),a = n(20),o = n(19),s = n(36),l = function (e, t, n) {var u,c,d,f,p = e & l.F,h = e & l.G,g = e & l.S,m = e & l.P,b = e & l.B,v = h ? r : g ? r[t] || (r[t] = {}) : (r[t] || {}).prototype,_ = h ? i : i[t] || (i[t] = {}),y = _.prototype || (_.prototype = {});for (u in h && (n = t), n) d = ((c = !p && v && void 0 !== v[u]) ? v : n)[u], f = b && c ? s(d, r) : m && "function" == typeof d ? s(Function.call, d) : d, v && o(v, u, d, e & l.U), _[u] != d && a(_, u, f), m && y[u] != d && (y[u] = d);};r.core = i, l.F = 1, l.G = 2, l.S = 4, l.P = 8, l.B = 16, l.W = 32, l.U = 64, l.R = 128, e.exports = l;}, function (e, t, n) {var r = n(22),i = n(114),a = n(74),o = n(48)("IE_PROTO"),s = function () {},l = function () {var e,t = n(67)("iframe"),r = a.length;for (t.style.display = "none", n(119).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("<script>document.F=Object<\/script>"), e.close(), l = e.F; r--;) delete l.prototype[a[r]];return l();};e.exports = Object.create || function (e, t) {var n;return null !== e ? (s.prototype = r(e), n = new s(), s.prototype = null, n[o] = e) : n = l(), void 0 === t ? n : i(n, t);};}, function (e, t, n) {var r = n(115),i = n(74);e.exports = Object.keys || function (e) {return r(e, i);};}, function (e, t, n) {var r = n(45),i = Math.min;e.exports = function (e) {return e > 0 ? i(r(e), 9007199254740991) : 0;};}, function (e, t) {e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");}, function (e, t, n) {for (var r = n(122), i = n(72), a = n(19), o = n(14), s = n(20), l = n(32), u = n(11), c = u("iterator"), d = u("toStringTag"), f = l.Array, p = { CSSRuleList: !0, CSSStyleDeclaration: !1, CSSValueList: !1, ClientRectList: !1, DOMRectList: !1, DOMStringList: !1, DOMTokenList: !0, DataTransferItemList: !1, FileList: !1, HTMLAllCollection: !1, HTMLCollection: !1, HTMLFormElement: !1, HTMLSelectElement: !1, MediaList: !0, MimeTypeArray: !1, NamedNodeMap: !1, NodeList: !0, PaintRequestList: !1, Plugin: !1, PluginArray: !1, SVGLengthList: !1, SVGNumberList: !1, SVGPathSegList: !1, SVGPointList: !1, SVGStringList: !1, SVGTransformList: !1, SourceBufferList: !1, StyleSheetList: !0, TextTrackCueList: !1, TextTrackList: !1, TouchList: !1 }, h = i(p), g = 0; g < h.length; g++) {var m,b = h[g],v = p[b],_ = o[b],y = _ && _.prototype;if (y && (y[c] || s(y, c, f), y[d] || s(y, d, b), l[b] = f, v)) for (m in r) y[m] || a(y, m, r[m], !0);}}, function (e, t) {e.exports = function (e, t) {return { value: t, done: !!e };};}, function (e, t, n) {"use strict";var r = n(21).f,i = n(71),a = n(78),o = n(36),s = n(79),l = n(80),u = n(47),c = n(76),d = n(128),f = n(16),p = n(81).fastKey,h = n(50),g = f ? "_s" : "size",m = function (e, t) {var n,r = p(t);if ("F" !== r) return e._i[r];for (n = e._f; n; n = n.n) if (n.k == t) return n;};e.exports = { getConstructor: function (e, t, n, u) {var c = e(function (e, r) {s(e, c, t, "_i"), e._t = t, e._i = i(null), e._f = void 0, e._l = void 0, e[g] = 0, null != r && l(r, n, e[u], e);});return a(c.prototype, { clear: function () {for (var e = h(this, t), n = e._i, r = e._f; r; r = r.n) r.r = !0, r.p && (r.p = r.p.n = void 0), delete n[r.i];e._f = e._l = void 0, e[g] = 0;}, delete: function (e) {var n = h(this, t),r = m(n, e);if (r) {var i = r.n,a = r.p;delete n._i[r.i], r.r = !0, a && (a.n = i), i && (i.p = a), n._f == r && (n._f = i), n._l == r && (n._l = a), n[g]--;}return !!r;}, forEach: function (e) {h(this, t);for (var n, r = o(e, arguments.length > 1 ? arguments[1] : void 0, 3); n = n ? n.n : this._f;) for (r(n.v, n.k, this); n && n.r;) n = n.p;}, has: function (e) {return !!m(h(this, t), e);} }), f && r(c.prototype, "size", { get: function () {return h(this, t)[g];} }), c;}, def: function (e, t, n) {var r,i,a = m(e, t);return a ? a.v = n : (e._l = a = { i: i = p(t, !0), k: t, v: n, p: r = e._l, n: void 0, r: !1 }, e._f || (e._f = a), r && (r.n = a), e[g]++, "F" !== i && (e._i[i] = a)), e;}, getEntry: m, setStrong: function (e, t, n) {u(e, t, function (e, n) {this._t = h(e, t), this._k = n, this._l = void 0;}, function () {for (var e = this._k, t = this._l; t && t.r;) t = t.p;return this._t && (this._l = t = t ? t.n : this._t._f) ? c(0, "keys" == e ? t.k : "values" == e ? t.v : [t.k, t.v]) : (this._t = void 0, c(1));}, n ? "entries" : "values", !n, !0), d(t);} };}, function (e, t, n) {var r = n(19);e.exports = function (e, t, n) {for (var i in t) r(e, i, t[i], n);return e;};}, function (e, t) {e.exports = function (e, t, n, r) {if (!(e instanceof t) || void 0 !== r && r in e) throw TypeError(n + ": incorrect invocation!");return e;};}, function (e, t, n) {var r = n(36),i = n(125),a = n(126),o = n(22),s = n(73),l = n(127),u = {},c = {};(t = e.exports = function (e, t, n, d, f) {var p,h,g,m,b = f ? function () {return e;} : l(e),v = r(n, d, t ? 2 : 1),_ = 0;if ("function" != typeof b) throw TypeError(e + " is not iterable!");if (a(b)) {for (p = s(e.length); p > _; _++) if ((m = t ? v(o(h = e[_])[0], h[1]) : v(e[_])) === u || m === c) return m;} else for (g = b.call(e); !(h = g.next()).done;) if ((m = i(g, v, h.value, t)) === u || m === c) return m;}).BREAK = u, t.RETURN = c;}, function (e, t, n) {var r = n(34)("meta"),i = n(15),a = n(23),o = n(21).f,s = 0,l = Object.isExtensible || function () {return !0;},u = !n(35)(function () {return l(Object.preventExtensions({}));}),c = function (e) {o(e, r, { value: { i: "O" + ++s, w: {} } });},d = e.exports = { KEY: r, NEED: !1, fastKey: function (e, t) {if (!i(e)) return "symbol" == typeof e ? e : ("string" == typeof e ? "S" : "P") + e;if (!a(e, r)) {if (!l(e)) return "F";if (!t) return "E";c(e);}return e[r].i;}, getWeak: function (e, t) {if (!a(e, r)) {if (!l(e)) return !0;if (!t) return !1;c(e);}return e[r].w;}, onFreeze: function (e) {return u && d.NEED && l(e) && !a(e, r) && c(e), e;} };}, function (e, t, n) {"use strict";var r = n(14),i = n(70),a = n(19),o = n(78),s = n(81),l = n(80),u = n(79),c = n(15),d = n(35),f = n(129),p = n(49),h = n(130);e.exports = function (e, t, n, g, m, b) {var v = r[e],_ = v,y = m ? "set" : "add",S = _ && _.prototype,x = {},E = function (e) {var t = S[e];a(S, e, "delete" == e || "has" == e ? function (e) {return !(b && !c(e)) && t.call(this, 0 === e ? 0 : e);} : "get" == e ? function (e) {return b && !c(e) ? void 0 : t.call(this, 0 === e ? 0 : e);} : "add" == e ? function (e) {return t.call(this, 0 === e ? 0 : e), this;} : function (e, n) {return t.call(this, 0 === e ? 0 : e, n), this;});};if ("function" == typeof _ && (b || S.forEach && !d(function () {new _().entries().next();}))) {var T = new _(),w = T[y](b ? {} : -0, 1) != T,C = d(function () {T.has(1);}),O = f(function (e) {new _(e);}),R = !b && d(function () {for (var e = new _(), t = 5; t--;) e[y](t, t);return !e.has(-0);});O || ((_ = t(function (t, n) {u(t, _, e);var r = h(new v(), t, _);return null != n && l(n, m, r[y], r), r;})).prototype = S, S.constructor = _), (C || R) && (E("delete"), E("has"), m && E("get")), (R || w) && E(y), b && S.clear && delete S.clear;} else _ = g.getConstructor(t, e, m, y), o(_.prototype, n), s.NEED = !0;return p(_, e), x[e] = _, i(i.G + i.W + i.F * (_ != v), x), b || g.setStrong(_, e, m), _;};}, function (e, t, n) {"use strict";
  /*
  object-assign
  (c) Sindre Sorhus
  @license MIT
  */var r = Object.getOwnPropertySymbols,i = Object.prototype.hasOwnProperty,a = Object.prototype.propertyIsEnumerable;function o(e) {if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e);}e.exports = function () {try {if (!Object.assign) return !1;var e = new String("abc");if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) return !1;for (var t = {}, n = 0; n < 10; n++) t["_" + String.fromCharCode(n)] = n;if ("0123456789" !== Object.getOwnPropertyNames(t).map(function (e) {return t[e];}).join("")) return !1;var r = {};return "abcdefghijklmnopqrst".split("").forEach(function (e) {r[e] = e;}), "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("");} catch (e) {return !1;}}() ? Object.assign : function (e, t) {for (var n, s, l = o(e), u = 1; u < arguments.length; u++) {for (var c in n = Object(arguments[u])) i.call(n, c) && (l[c] = n[c]);if (r) {s = r(n);for (var d = 0; d < s.length; d++) a.call(n, s[d]) && (l[s[d]] = n[s[d]]);}}return l;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.PERMITTED_SELECT_GOODS_VIEW_GOODS = "goods", t.PERMITTED_SELECT_GOODS_VIEW_CATEGORIES = "categories", t.PERMITTED_SELECT_GOODS_VIEW_SPECIAL_RESTRICTIONS = "specialRestrictions";}, function (e, t, n) {(function (e, r) {var i;
    /**
     * @license
     * Lodash <https://lodash.com/>
     * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
     * Released under MIT license <https://lodash.com/license>
     * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
     * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
     */(function () {var a = "Expected a function",o = "__lodash_placeholder__",s = [["ary", 128], ["bind", 1], ["bindKey", 2], ["curry", 8], ["curryRight", 16], ["flip", 512], ["partial", 32], ["partialRight", 64], ["rearg", 256]],l = "[object Arguments]",u = "[object Array]",c = "[object Boolean]",d = "[object Date]",f = "[object Error]",p = "[object Function]",h = "[object GeneratorFunction]",g = "[object Map]",m = "[object Number]",b = "[object Object]",v = "[object RegExp]",_ = "[object Set]",y = "[object String]",S = "[object Symbol]",x = "[object WeakMap]",E = "[object ArrayBuffer]",T = "[object DataView]",w = "[object Float32Array]",C = "[object Float64Array]",O = "[object Int8Array]",R = "[object Int16Array]",k = "[object Int32Array]",P = "[object Uint8Array]",L = "[object Uint16Array]",A = "[object Uint32Array]",I = /\b__p \+= '';/g,N = /\b(__p \+=) '' \+/g,B = /(__e\(.*?\)|\b__t\)) \+\n'';/g,j = /&(?:amp|lt|gt|quot|#39);/g,G = /[&<>"']/g,D = RegExp(j.source),q = RegExp(G.source),z = /<%-([\s\S]+?)%>/g,M = /<%([\s\S]+?)%>/g,F = /<%=([\s\S]+?)%>/g,Z = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,W = /^\w*$/,U = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,V = /[\\^$.*+?()[\]{}|]/g,H = RegExp(V.source),K = /^\s+/,Y = /\s/,X = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,$ = /\{\n\/\* \[wrapped with (.+)\] \*/,Q = /,? & /,J = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee = /[()=,{}\[\]\/\s]/,te = /\\(\\)?/g,ne = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re = /\w*$/,ie = /^[-+]0x[0-9a-f]+$/i,ae = /^0b[01]+$/i,oe = /^\[object .+?Constructor\]$/,se = /^0o[0-7]+$/i,le = /^(?:0|[1-9]\d*)$/,ue = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ce = /($^)/,de = /['\n\r\u2028\u2029\\]/g,fe = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",pe = "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he = "[\\ud800-\\udfff]",ge = "[" + pe + "]",me = "[" + fe + "]",be = "\\d+",ve = "[\\u2700-\\u27bf]",_e = "[a-z\\xdf-\\xf6\\xf8-\\xff]",ye = "[^\\ud800-\\udfff" + pe + be + "\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",Se = "\\ud83c[\\udffb-\\udfff]",xe = "[^\\ud800-\\udfff]",Ee = "(?:\\ud83c[\\udde6-\\uddff]){2}",Te = "[\\ud800-\\udbff][\\udc00-\\udfff]",we = "[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ce = "(?:" + _e + "|" + ye + ")",Oe = "(?:" + we + "|" + ye + ")",Re = "(?:" + me + "|" + Se + ")" + "?",ke = "[\\ufe0e\\ufe0f]?" + Re + ("(?:\\u200d(?:" + [xe, Ee, Te].join("|") + ")[\\ufe0e\\ufe0f]?" + Re + ")*"),Pe = "(?:" + [ve, Ee, Te].join("|") + ")" + ke,Le = "(?:" + [xe + me + "?", me, Ee, Te, he].join("|") + ")",Ae = RegExp("['’]", "g"),Ie = RegExp(me, "g"),Ne = RegExp(Se + "(?=" + Se + ")|" + Le + ke, "g"),Be = RegExp([we + "?" + _e + "+(?:['’](?:d|ll|m|re|s|t|ve))?(?=" + [ge, we, "$"].join("|") + ")", Oe + "+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=" + [ge, we + Ce, "$"].join("|") + ")", we + "?" + Ce + "+(?:['’](?:d|ll|m|re|s|t|ve))?", we + "+(?:['’](?:D|LL|M|RE|S|T|VE))?", "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", be, Pe].join("|"), "g"),je = RegExp("[\\u200d\\ud800-\\udfff" + fe + "\\ufe0e\\ufe0f]"),Ge = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,De = ["Array", "Buffer", "DataView", "Date", "Error", "Float32Array", "Float64Array", "Function", "Int8Array", "Int16Array", "Int32Array", "Map", "Math", "Object", "Promise", "RegExp", "Set", "String", "Symbol", "TypeError", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "WeakMap", "_", "clearTimeout", "isFinite", "parseInt", "setTimeout"],qe = -1,ze = {};ze[w] = ze[C] = ze[O] = ze[R] = ze[k] = ze[P] = ze["[object Uint8ClampedArray]"] = ze[L] = ze[A] = !0, ze[l] = ze[u] = ze[E] = ze[c] = ze[T] = ze[d] = ze[f] = ze[p] = ze[g] = ze[m] = ze[b] = ze[v] = ze[_] = ze[y] = ze[x] = !1;var Me = {};Me[l] = Me[u] = Me[E] = Me[T] = Me[c] = Me[d] = Me[w] = Me[C] = Me[O] = Me[R] = Me[k] = Me[g] = Me[m] = Me[b] = Me[v] = Me[_] = Me[y] = Me[S] = Me[P] = Me["[object Uint8ClampedArray]"] = Me[L] = Me[A] = !0, Me[f] = Me[p] = Me[x] = !1;var Fe = { "\\": "\\", "'": "'", "\n": "n", "\r": "r", "\u2028": "u2028", "\u2029": "u2029" },Ze = parseFloat,We = parseInt,Ue = "object" == typeof e && e && e.Object === Object && e,Ve = "object" == typeof self && self && self.Object === Object && self,He = Ue || Ve || Function("return this")(),Ke = t && !t.nodeType && t,Ye = Ke && "object" == typeof r && r && !r.nodeType && r,Xe = Ye && Ye.exports === Ke,$e = Xe && Ue.process,Qe = function () {try {var e = Ye && Ye.require && Ye.require("util").types;return e || $e && $e.binding && $e.binding("util");} catch (e) {}}(),Je = Qe && Qe.isArrayBuffer,et = Qe && Qe.isDate,tt = Qe && Qe.isMap,nt = Qe && Qe.isRegExp,rt = Qe && Qe.isSet,it = Qe && Qe.isTypedArray;function at(e, t, n) {switch (n.length) {case 0:return e.call(t);case 1:return e.call(t, n[0]);case 2:return e.call(t, n[0], n[1]);case 3:return e.call(t, n[0], n[1], n[2]);}return e.apply(t, n);}function ot(e, t, n, r) {for (var i = -1, a = null == e ? 0 : e.length; ++i < a;) {var o = e[i];t(r, o, n(o), e);}return r;}function st(e, t) {for (var n = -1, r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e););return e;}function lt(e, t) {for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e););return e;}function ut(e, t) {for (var n = -1, r = null == e ? 0 : e.length; ++n < r;) if (!t(e[n], n, e)) return !1;return !0;}function ct(e, t) {for (var n = -1, r = null == e ? 0 : e.length, i = 0, a = []; ++n < r;) {var o = e[n];t(o, n, e) && (a[i++] = o);}return a;}function dt(e, t) {return !!(null == e ? 0 : e.length) && St(e, t, 0) > -1;}function ft(e, t, n) {for (var r = -1, i = null == e ? 0 : e.length; ++r < i;) if (n(t, e[r])) return !0;return !1;}function pt(e, t) {for (var n = -1, r = null == e ? 0 : e.length, i = Array(r); ++n < r;) i[n] = t(e[n], n, e);return i;}function ht(e, t) {for (var n = -1, r = t.length, i = e.length; ++n < r;) e[i + n] = t[n];return e;}function gt(e, t, n, r) {var i = -1,a = null == e ? 0 : e.length;for (r && a && (n = e[++i]); ++i < a;) n = t(n, e[i], i, e);return n;}function mt(e, t, n, r) {var i = null == e ? 0 : e.length;for (r && i && (n = e[--i]); i--;) n = t(n, e[i], i, e);return n;}function bt(e, t) {for (var n = -1, r = null == e ? 0 : e.length; ++n < r;) if (t(e[n], n, e)) return !0;return !1;}var vt = wt("length");function _t(e, t, n) {var r;return n(e, function (e, n, i) {if (t(e, n, i)) return r = n, !1;}), r;}function yt(e, t, n, r) {for (var i = e.length, a = n + (r ? 1 : -1); r ? a-- : ++a < i;) if (t(e[a], a, e)) return a;return -1;}function St(e, t, n) {return t == t ? function (e, t, n) {var r = n - 1,i = e.length;for (; ++r < i;) if (e[r] === t) return r;return -1;}(e, t, n) : yt(e, Et, n);}function xt(e, t, n, r) {for (var i = n - 1, a = e.length; ++i < a;) if (r(e[i], t)) return i;return -1;}function Et(e) {return e != e;}function Tt(e, t) {var n = null == e ? 0 : e.length;return n ? Rt(e, t) / n : NaN;}function wt(e) {return function (t) {return null == t ? void 0 : t[e];};}function Ct(e) {return function (t) {return null == e ? void 0 : e[t];};}function Ot(e, t, n, r, i) {return i(e, function (e, i, a) {n = r ? (r = !1, e) : t(n, e, i, a);}), n;}function Rt(e, t) {for (var n, r = -1, i = e.length; ++r < i;) {var a = t(e[r]);void 0 !== a && (n = void 0 === n ? a : n + a);}return n;}function kt(e, t) {for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n);return r;}function Pt(e) {return e ? e.slice(0, Kt(e) + 1).replace(K, "") : e;}function Lt(e) {return function (t) {return e(t);};}function At(e, t) {return pt(t, function (t) {return e[t];});}function It(e, t) {return e.has(t);}function Nt(e, t) {for (var n = -1, r = e.length; ++n < r && St(t, e[n], 0) > -1;);return n;}function Bt(e, t) {for (var n = e.length; n-- && St(t, e[n], 0) > -1;);return n;}function jt(e, t) {for (var n = e.length, r = 0; n--;) e[n] === t && ++r;return r;}var Gt = Ct({ "À": "A", "Á": "A", "Â": "A", "Ã": "A", "Ä": "A", "Å": "A", "à": "a", "á": "a", "â": "a", "ã": "a", "ä": "a", "å": "a", "Ç": "C", "ç": "c", "Ð": "D", "ð": "d", "È": "E", "É": "E", "Ê": "E", "Ë": "E", "è": "e", "é": "e", "ê": "e", "ë": "e", "Ì": "I", "Í": "I", "Î": "I", "Ï": "I", "ì": "i", "í": "i", "î": "i", "ï": "i", "Ñ": "N", "ñ": "n", "Ò": "O", "Ó": "O", "Ô": "O", "Õ": "O", "Ö": "O", "Ø": "O", "ò": "o", "ó": "o", "ô": "o", "õ": "o", "ö": "o", "ø": "o", "Ù": "U", "Ú": "U", "Û": "U", "Ü": "U", "ù": "u", "ú": "u", "û": "u", "ü": "u", "Ý": "Y", "ý": "y", "ÿ": "y", "Æ": "Ae", "æ": "ae", "Þ": "Th", "þ": "th", "ß": "ss", "Ā": "A", "Ă": "A", "Ą": "A", "ā": "a", "ă": "a", "ą": "a", "Ć": "C", "Ĉ": "C", "Ċ": "C", "Č": "C", "ć": "c", "ĉ": "c", "ċ": "c", "č": "c", "Ď": "D", "Đ": "D", "ď": "d", "đ": "d", "Ē": "E", "Ĕ": "E", "Ė": "E", "Ę": "E", "Ě": "E", "ē": "e", "ĕ": "e", "ė": "e", "ę": "e", "ě": "e", "Ĝ": "G", "Ğ": "G", "Ġ": "G", "Ģ": "G", "ĝ": "g", "ğ": "g", "ġ": "g", "ģ": "g", "Ĥ": "H", "Ħ": "H", "ĥ": "h", "ħ": "h", "Ĩ": "I", "Ī": "I", "Ĭ": "I", "Į": "I", "İ": "I", "ĩ": "i", "ī": "i", "ĭ": "i", "į": "i", "ı": "i", "Ĵ": "J", "ĵ": "j", "Ķ": "K", "ķ": "k", "ĸ": "k", "Ĺ": "L", "Ļ": "L", "Ľ": "L", "Ŀ": "L", "Ł": "L", "ĺ": "l", "ļ": "l", "ľ": "l", "ŀ": "l", "ł": "l", "Ń": "N", "Ņ": "N", "Ň": "N", "Ŋ": "N", "ń": "n", "ņ": "n", "ň": "n", "ŋ": "n", "Ō": "O", "Ŏ": "O", "Ő": "O", "ō": "o", "ŏ": "o", "ő": "o", "Ŕ": "R", "Ŗ": "R", "Ř": "R", "ŕ": "r", "ŗ": "r", "ř": "r", "Ś": "S", "Ŝ": "S", "Ş": "S", "Š": "S", "ś": "s", "ŝ": "s", "ş": "s", "š": "s", "Ţ": "T", "Ť": "T", "Ŧ": "T", "ţ": "t", "ť": "t", "ŧ": "t", "Ũ": "U", "Ū": "U", "Ŭ": "U", "Ů": "U", "Ű": "U", "Ų": "U", "ũ": "u", "ū": "u", "ŭ": "u", "ů": "u", "ű": "u", "ų": "u", "Ŵ": "W", "ŵ": "w", "Ŷ": "Y", "ŷ": "y", "Ÿ": "Y", "Ź": "Z", "Ż": "Z", "Ž": "Z", "ź": "z", "ż": "z", "ž": "z", "Ĳ": "IJ", "ĳ": "ij", "Œ": "Oe", "œ": "oe", "ŉ": "'n", "ſ": "s" }),Dt = Ct({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" });function qt(e) {return "\\" + Fe[e];}function zt(e) {return je.test(e);}function Mt(e) {var t = -1,n = Array(e.size);return e.forEach(function (e, r) {n[++t] = [r, e];}), n;}function Ft(e, t) {return function (n) {return e(t(n));};}function Zt(e, t) {for (var n = -1, r = e.length, i = 0, a = []; ++n < r;) {var s = e[n];s !== t && s !== o || (e[n] = o, a[i++] = n);}return a;}function Wt(e) {var t = -1,n = Array(e.size);return e.forEach(function (e) {n[++t] = e;}), n;}function Ut(e) {var t = -1,n = Array(e.size);return e.forEach(function (e) {n[++t] = [e, e];}), n;}function Vt(e) {return zt(e) ? function (e) {var t = Ne.lastIndex = 0;for (; Ne.test(e);) ++t;return t;}(e) : vt(e);}function Ht(e) {return zt(e) ? function (e) {return e.match(Ne) || [];}(e) : function (e) {return e.split("");}(e);}function Kt(e) {for (var t = e.length; t-- && Y.test(e.charAt(t)););return t;}var Yt = Ct({ "&amp;": "&", "&lt;": "<", "&gt;": ">", "&quot;": '"', "&#39;": "'" });var Xt = function e(t) {var n,r = (t = null == t ? He : Xt.defaults(He.Object(), t, Xt.pick(He, De))).Array,i = t.Date,Y = t.Error,fe = t.Function,pe = t.Math,he = t.Object,ge = t.RegExp,me = t.String,be = t.TypeError,ve = r.prototype,_e = fe.prototype,ye = he.prototype,Se = t["__core-js_shared__"],xe = _e.toString,Ee = ye.hasOwnProperty,Te = 0,we = (n = /[^.]+$/.exec(Se && Se.keys && Se.keys.IE_PROTO || "")) ? "Symbol(src)_1." + n : "",Ce = ye.toString,Oe = xe.call(he),Re = He._,ke = ge("^" + xe.call(Ee).replace(V, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),Pe = Xe ? t.Buffer : void 0,Le = t.Symbol,Ne = t.Uint8Array,je = Pe ? Pe.allocUnsafe : void 0,Fe = Ft(he.getPrototypeOf, he),Ue = he.create,Ve = ye.propertyIsEnumerable,Ke = ve.splice,Ye = Le ? Le.isConcatSpreadable : void 0,$e = Le ? Le.iterator : void 0,Qe = Le ? Le.toStringTag : void 0,vt = function () {try {var e = ea(he, "defineProperty");return e({}, "", {}), e;} catch (e) {}}(),Ct = t.clearTimeout !== He.clearTimeout && t.clearTimeout,$t = i && i.now !== He.Date.now && i.now,Qt = t.setTimeout !== He.setTimeout && t.setTimeout,Jt = pe.ceil,en = pe.floor,tn = he.getOwnPropertySymbols,nn = Pe ? Pe.isBuffer : void 0,rn = t.isFinite,an = ve.join,on = Ft(he.keys, he),sn = pe.max,ln = pe.min,un = i.now,cn = t.parseInt,dn = pe.random,fn = ve.reverse,pn = ea(t, "DataView"),hn = ea(t, "Map"),gn = ea(t, "Promise"),mn = ea(t, "Set"),bn = ea(t, "WeakMap"),vn = ea(he, "create"),_n = bn && new bn(),yn = {},Sn = Oa(pn),xn = Oa(hn),En = Oa(gn),Tn = Oa(mn),wn = Oa(bn),Cn = Le ? Le.prototype : void 0,On = Cn ? Cn.valueOf : void 0,Rn = Cn ? Cn.toString : void 0;function kn(e) {if (Uo(e) && !No(e) && !(e instanceof In)) {if (e instanceof An) return e;if (Ee.call(e, "__wrapped__")) return Ra(e);}return new An(e);}var Pn = function () {function e() {}return function (t) {if (!Wo(t)) return {};if (Ue) return Ue(t);e.prototype = t;var n = new e();return e.prototype = void 0, n;};}();function Ln() {}function An(e, t) {this.__wrapped__ = e, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = void 0;}function In(e) {this.__wrapped__ = e, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = 4294967295, this.__views__ = [];}function Nn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.clear(); ++t < n;) {var r = e[t];this.set(r[0], r[1]);}}function Bn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.clear(); ++t < n;) {var r = e[t];this.set(r[0], r[1]);}}function jn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.clear(); ++t < n;) {var r = e[t];this.set(r[0], r[1]);}}function Gn(e) {var t = -1,n = null == e ? 0 : e.length;for (this.__data__ = new jn(); ++t < n;) this.add(e[t]);}function Dn(e) {var t = this.__data__ = new Bn(e);this.size = t.size;}function qn(e, t) {var n = No(e),r = !n && Io(e),i = !n && !r && Do(e),a = !n && !r && !i && Jo(e),o = n || r || i || a,s = o ? kt(e.length, me) : [],l = s.length;for (var u in e) !t && !Ee.call(e, u) || o && ("length" == u || i && ("offset" == u || "parent" == u) || a && ("buffer" == u || "byteLength" == u || "byteOffset" == u) || sa(u, l)) || s.push(u);return s;}function zn(e) {var t = e.length;return t ? e[Gr(0, t - 1)] : void 0;}function Mn(e, t) {return Ta(vi(e), Xn(t, 0, e.length));}function Fn(e) {return Ta(vi(e));}function Zn(e, t, n) {(void 0 !== n && !Po(e[t], n) || void 0 === n && !(t in e)) && Kn(e, t, n);}function Wn(e, t, n) {var r = e[t];Ee.call(e, t) && Po(r, n) && (void 0 !== n || t in e) || Kn(e, t, n);}function Un(e, t) {for (var n = e.length; n--;) if (Po(e[n][0], t)) return n;return -1;}function Vn(e, t, n, r) {return tr(e, function (e, i, a) {t(r, e, n(e), a);}), r;}function Hn(e, t) {return e && _i(t, Ss(t), e);}function Kn(e, t, n) {"__proto__" == t && vt ? vt(e, t, { configurable: !0, enumerable: !0, value: n, writable: !0 }) : e[t] = n;}function Yn(e, t) {for (var n = -1, i = t.length, a = r(i), o = null == e; ++n < i;) a[n] = o ? void 0 : ms(e, t[n]);return a;}function Xn(e, t, n) {return e == e && (void 0 !== n && (e = e <= n ? e : n), void 0 !== t && (e = e >= t ? e : t)), e;}function $n(e, t, n, r, i, a) {var o,s = 1 & t,u = 2 & t,f = 4 & t;if (n && (o = i ? n(e, r, i, a) : n(e)), void 0 !== o) return o;if (!Wo(e)) return e;var x = No(e);if (x) {if (o = function (e) {var t = e.length,n = new e.constructor(t);t && "string" == typeof e[0] && Ee.call(e, "index") && (n.index = e.index, n.input = e.input);return n;}(e), !s) return vi(e, o);} else {var I = ra(e),N = I == p || I == h;if (Do(e)) return fi(e, s);if (I == b || I == l || N && !i) {if (o = u || N ? {} : aa(e), !s) return u ? function (e, t) {return _i(e, na(e), t);}(e, function (e, t) {return e && _i(t, xs(t), e);}(o, e)) : function (e, t) {return _i(e, ta(e), t);}(e, Hn(o, e));} else {if (!Me[I]) return i ? e : {};o = function (e, t, n) {var r = e.constructor;switch (t) {case E:return pi(e);case c:case d:return new r(+e);case T:return function (e, t) {var n = t ? pi(e.buffer) : e.buffer;return new e.constructor(n, e.byteOffset, e.byteLength);}(e, n);case w:case C:case O:case R:case k:case P:case "[object Uint8ClampedArray]":case L:case A:return hi(e, n);case g:return new r();case m:case y:return new r(e);case v:return function (e) {var t = new e.constructor(e.source, re.exec(e));return t.lastIndex = e.lastIndex, t;}(e);case _:return new r();case S:return i = e, On ? he(On.call(i)) : {};}var i;}(e, I, s);}}a || (a = new Dn());var B = a.get(e);if (B) return B;a.set(e, o), Xo(e) ? e.forEach(function (r) {o.add($n(r, t, n, r, e, a));}) : Vo(e) && e.forEach(function (r, i) {o.set(i, $n(r, t, n, i, e, a));});var j = x ? void 0 : (f ? u ? Hi : Vi : u ? xs : Ss)(e);return st(j || e, function (r, i) {j && (r = e[i = r]), Wn(o, i, $n(r, t, n, i, e, a));}), o;}function Qn(e, t, n) {var r = n.length;if (null == e) return !r;for (e = he(e); r--;) {var i = n[r],a = t[i],o = e[i];if (void 0 === o && !(i in e) || !a(o)) return !1;}return !0;}function Jn(e, t, n) {if ("function" != typeof e) throw new be(a);return ya(function () {e.apply(void 0, n);}, t);}function er(e, t, n, r) {var i = -1,a = dt,o = !0,s = e.length,l = [],u = t.length;if (!s) return l;n && (t = pt(t, Lt(n))), r ? (a = ft, o = !1) : t.length >= 200 && (a = It, o = !1, t = new Gn(t));e: for (; ++i < s;) {var c = e[i],d = null == n ? c : n(c);if (c = r || 0 !== c ? c : 0, o && d == d) {for (var f = u; f--;) if (t[f] === d) continue e;l.push(c);} else a(t, d, r) || l.push(c);}return l;}kn.templateSettings = { escape: z, evaluate: M, interpolate: F, variable: "", imports: { _: kn } }, kn.prototype = Ln.prototype, kn.prototype.constructor = kn, An.prototype = Pn(Ln.prototype), An.prototype.constructor = An, In.prototype = Pn(Ln.prototype), In.prototype.constructor = In, Nn.prototype.clear = function () {this.__data__ = vn ? vn(null) : {}, this.size = 0;}, Nn.prototype.delete = function (e) {var t = this.has(e) && delete this.__data__[e];return this.size -= t ? 1 : 0, t;}, Nn.prototype.get = function (e) {var t = this.__data__;if (vn) {var n = t[e];return "__lodash_hash_undefined__" === n ? void 0 : n;}return Ee.call(t, e) ? t[e] : void 0;}, Nn.prototype.has = function (e) {var t = this.__data__;return vn ? void 0 !== t[e] : Ee.call(t, e);}, Nn.prototype.set = function (e, t) {var n = this.__data__;return this.size += this.has(e) ? 0 : 1, n[e] = vn && void 0 === t ? "__lodash_hash_undefined__" : t, this;}, Bn.prototype.clear = function () {this.__data__ = [], this.size = 0;}, Bn.prototype.delete = function (e) {var t = this.__data__,n = Un(t, e);return !(n < 0) && (n == t.length - 1 ? t.pop() : Ke.call(t, n, 1), --this.size, !0);}, Bn.prototype.get = function (e) {var t = this.__data__,n = Un(t, e);return n < 0 ? void 0 : t[n][1];}, Bn.prototype.has = function (e) {return Un(this.__data__, e) > -1;}, Bn.prototype.set = function (e, t) {var n = this.__data__,r = Un(n, e);return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this;}, jn.prototype.clear = function () {this.size = 0, this.__data__ = { hash: new Nn(), map: new (hn || Bn)(), string: new Nn() };}, jn.prototype.delete = function (e) {var t = Qi(this, e).delete(e);return this.size -= t ? 1 : 0, t;}, jn.prototype.get = function (e) {return Qi(this, e).get(e);}, jn.prototype.has = function (e) {return Qi(this, e).has(e);}, jn.prototype.set = function (e, t) {var n = Qi(this, e),r = n.size;return n.set(e, t), this.size += n.size == r ? 0 : 1, this;}, Gn.prototype.add = Gn.prototype.push = function (e) {return this.__data__.set(e, "__lodash_hash_undefined__"), this;}, Gn.prototype.has = function (e) {return this.__data__.has(e);}, Dn.prototype.clear = function () {this.__data__ = new Bn(), this.size = 0;}, Dn.prototype.delete = function (e) {var t = this.__data__,n = t.delete(e);return this.size = t.size, n;}, Dn.prototype.get = function (e) {return this.__data__.get(e);}, Dn.prototype.has = function (e) {return this.__data__.has(e);}, Dn.prototype.set = function (e, t) {var n = this.__data__;if (n instanceof Bn) {var r = n.__data__;if (!hn || r.length < 199) return r.push([e, t]), this.size = ++n.size, this;n = this.__data__ = new jn(r);}return n.set(e, t), this.size = n.size, this;};var tr = xi(ur),nr = xi(cr, !0);function rr(e, t) {var n = !0;return tr(e, function (e, r, i) {return n = !!t(e, r, i);}), n;}function ir(e, t, n) {for (var r = -1, i = e.length; ++r < i;) {var a = e[r],o = t(a);if (null != o && (void 0 === s ? o == o && !Qo(o) : n(o, s))) var s = o,l = a;}return l;}function ar(e, t) {var n = [];return tr(e, function (e, r, i) {t(e, r, i) && n.push(e);}), n;}function or(e, t, n, r, i) {var a = -1,o = e.length;for (n || (n = oa), i || (i = []); ++a < o;) {var s = e[a];t > 0 && n(s) ? t > 1 ? or(s, t - 1, n, r, i) : ht(i, s) : r || (i[i.length] = s);}return i;}var sr = Ei(),lr = Ei(!0);function ur(e, t) {return e && sr(e, t, Ss);}function cr(e, t) {return e && lr(e, t, Ss);}function dr(e, t) {return ct(t, function (t) {return Mo(e[t]);});}function fr(e, t) {for (var n = 0, r = (t = li(t, e)).length; null != e && n < r;) e = e[Ca(t[n++])];return n && n == r ? e : void 0;}function pr(e, t, n) {var r = t(e);return No(e) ? r : ht(r, n(e));}function hr(e) {return null == e ? void 0 === e ? "[object Undefined]" : "[object Null]" : Qe && Qe in he(e) ? function (e) {var t = Ee.call(e, Qe),n = e[Qe];try {e[Qe] = void 0;var r = !0;} catch (e) {}var i = Ce.call(e);r && (t ? e[Qe] = n : delete e[Qe]);return i;}(e) : function (e) {return Ce.call(e);}(e);}function gr(e, t) {return e > t;}function mr(e, t) {return null != e && Ee.call(e, t);}function br(e, t) {return null != e && t in he(e);}function vr(e, t, n) {for (var i = n ? ft : dt, a = e[0].length, o = e.length, s = o, l = r(o), u = 1 / 0, c = []; s--;) {var d = e[s];s && t && (d = pt(d, Lt(t))), u = ln(d.length, u), l[s] = !n && (t || a >= 120 && d.length >= 120) ? new Gn(s && d) : void 0;}d = e[0];var f = -1,p = l[0];e: for (; ++f < a && c.length < u;) {var h = d[f],g = t ? t(h) : h;if (h = n || 0 !== h ? h : 0, !(p ? It(p, g) : i(c, g, n))) {for (s = o; --s;) {var m = l[s];if (!(m ? It(m, g) : i(e[s], g, n))) continue e;}p && p.push(g), c.push(h);}}return c;}function _r(e, t, n) {var r = null == (e = ma(e, t = li(t, e))) ? e : e[Ca(qa(t))];return null == r ? void 0 : at(r, e, n);}function yr(e) {return Uo(e) && hr(e) == l;}function Sr(e, t, n, r, i) {return e === t || (null == e || null == t || !Uo(e) && !Uo(t) ? e != e && t != t : function (e, t, n, r, i, a) {var o = No(e),s = No(t),p = o ? u : ra(e),h = s ? u : ra(t),x = (p = p == l ? b : p) == b,w = (h = h == l ? b : h) == b,C = p == h;if (C && Do(e)) {if (!Do(t)) return !1;o = !0, x = !1;}if (C && !x) return a || (a = new Dn()), o || Jo(e) ? Wi(e, t, n, r, i, a) : function (e, t, n, r, i, a, o) {switch (n) {case T:if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;e = e.buffer, t = t.buffer;case E:return !(e.byteLength != t.byteLength || !a(new Ne(e), new Ne(t)));case c:case d:case m:return Po(+e, +t);case f:return e.name == t.name && e.message == t.message;case v:case y:return e == t + "";case g:var s = Mt;case _:var l = 1 & r;if (s || (s = Wt), e.size != t.size && !l) return !1;var u = o.get(e);if (u) return u == t;r |= 2, o.set(e, t);var p = Wi(s(e), s(t), r, i, a, o);return o.delete(e), p;case S:if (On) return On.call(e) == On.call(t);}return !1;}(e, t, p, n, r, i, a);if (!(1 & n)) {var O = x && Ee.call(e, "__wrapped__"),R = w && Ee.call(t, "__wrapped__");if (O || R) {var k = O ? e.value() : e,P = R ? t.value() : t;return a || (a = new Dn()), i(k, P, n, r, a);}}if (!C) return !1;return a || (a = new Dn()), function (e, t, n, r, i, a) {var o = 1 & n,s = Vi(e),l = s.length,u = Vi(t).length;if (l != u && !o) return !1;var c = l;for (; c--;) {var d = s[c];if (!(o ? d in t : Ee.call(t, d))) return !1;}var f = a.get(e),p = a.get(t);if (f && p) return f == t && p == e;var h = !0;a.set(e, t), a.set(t, e);var g = o;for (; ++c < l;) {d = s[c];var m = e[d],b = t[d];if (r) var v = o ? r(b, m, d, t, e, a) : r(m, b, d, e, t, a);if (!(void 0 === v ? m === b || i(m, b, n, r, a) : v)) {h = !1;break;}g || (g = "constructor" == d);}if (h && !g) {var _ = e.constructor,y = t.constructor;_ == y || !("constructor" in e) || !("constructor" in t) || "function" == typeof _ && _ instanceof _ && "function" == typeof y && y instanceof y || (h = !1);}return a.delete(e), a.delete(t), h;}(e, t, n, r, i, a);}(e, t, n, r, Sr, i));}function xr(e, t, n, r) {var i = n.length,a = i,o = !r;if (null == e) return !a;for (e = he(e); i--;) {var s = n[i];if (o && s[2] ? s[1] !== e[s[0]] : !(s[0] in e)) return !1;}for (; ++i < a;) {var l = (s = n[i])[0],u = e[l],c = s[1];if (o && s[2]) {if (void 0 === u && !(l in e)) return !1;} else {var d = new Dn();if (r) var f = r(u, c, l, e, t, d);if (!(void 0 === f ? Sr(c, u, 3, r, d) : f)) return !1;}}return !0;}function Er(e) {return !(!Wo(e) || (t = e, we && we in t)) && (Mo(e) ? ke : oe).test(Oa(e));var t;}function Tr(e) {return "function" == typeof e ? e : null == e ? Hs : "object" == typeof e ? No(e) ? Pr(e[0], e[1]) : kr(e) : nl(e);}function wr(e) {if (!fa(e)) return on(e);var t = [];for (var n in he(e)) Ee.call(e, n) && "constructor" != n && t.push(n);return t;}function Cr(e) {if (!Wo(e)) return function (e) {var t = [];if (null != e) for (var n in he(e)) t.push(n);return t;}(e);var t = fa(e),n = [];for (var r in e) ("constructor" != r || !t && Ee.call(e, r)) && n.push(r);return n;}function Or(e, t) {return e < t;}function Rr(e, t) {var n = -1,i = jo(e) ? r(e.length) : [];return tr(e, function (e, r, a) {i[++n] = t(e, r, a);}), i;}function kr(e) {var t = Ji(e);return 1 == t.length && t[0][2] ? ha(t[0][0], t[0][1]) : function (n) {return n === e || xr(n, e, t);};}function Pr(e, t) {return ua(e) && pa(t) ? ha(Ca(e), t) : function (n) {var r = ms(n, e);return void 0 === r && r === t ? bs(n, e) : Sr(t, r, 3);};}function Lr(e, t, n, r, i) {e !== t && sr(t, function (a, o) {if (i || (i = new Dn()), Wo(a)) !function (e, t, n, r, i, a, o) {var s = va(e, n),l = va(t, n),u = o.get(l);if (u) return void Zn(e, n, u);var c = a ? a(s, l, n + "", e, t, o) : void 0,d = void 0 === c;if (d) {var f = No(l),p = !f && Do(l),h = !f && !p && Jo(l);c = l, f || p || h ? No(s) ? c = s : Go(s) ? c = vi(s) : p ? (d = !1, c = fi(l, !0)) : h ? (d = !1, c = hi(l, !0)) : c = [] : Ko(l) || Io(l) ? (c = s, Io(s) ? c = ss(s) : Wo(s) && !Mo(s) || (c = aa(l))) : d = !1;}d && (o.set(l, c), i(c, l, r, a, o), o.delete(l));Zn(e, n, c);}(e, t, o, n, Lr, r, i);else {var s = r ? r(va(e, o), a, o + "", e, t, i) : void 0;void 0 === s && (s = a), Zn(e, o, s);}}, xs);}function Ar(e, t) {var n = e.length;if (n) return sa(t += t < 0 ? n : 0, n) ? e[t] : void 0;}function Ir(e, t, n) {t = t.length ? pt(t, function (e) {return No(e) ? function (t) {return fr(t, 1 === e.length ? e[0] : e);} : e;}) : [Hs];var r = -1;return t = pt(t, Lt($i())), function (e, t) {var n = e.length;for (e.sort(t); n--;) e[n] = e[n].value;return e;}(Rr(e, function (e, n, i) {return { criteria: pt(t, function (t) {return t(e);}), index: ++r, value: e };}), function (e, t) {return function (e, t, n) {var r = -1,i = e.criteria,a = t.criteria,o = i.length,s = n.length;for (; ++r < o;) {var l = gi(i[r], a[r]);if (l) {if (r >= s) return l;var u = n[r];return l * ("desc" == u ? -1 : 1);}}return e.index - t.index;}(e, t, n);});}function Nr(e, t, n) {for (var r = -1, i = t.length, a = {}; ++r < i;) {var o = t[r],s = fr(e, o);n(s, o) && Fr(a, li(o, e), s);}return a;}function Br(e, t, n, r) {var i = r ? xt : St,a = -1,o = t.length,s = e;for (e === t && (t = vi(t)), n && (s = pt(e, Lt(n))); ++a < o;) for (var l = 0, u = t[a], c = n ? n(u) : u; (l = i(s, c, l, r)) > -1;) s !== e && Ke.call(s, l, 1), Ke.call(e, l, 1);return e;}function jr(e, t) {for (var n = e ? t.length : 0, r = n - 1; n--;) {var i = t[n];if (n == r || i !== a) {var a = i;sa(i) ? Ke.call(e, i, 1) : ei(e, i);}}return e;}function Gr(e, t) {return e + en(dn() * (t - e + 1));}function Dr(e, t) {var n = "";if (!e || t < 1 || t > 9007199254740991) return n;do {t % 2 && (n += e), (t = en(t / 2)) && (e += e);} while (t);return n;}function qr(e, t) {return Sa(ga(e, t, Hs), e + "");}function zr(e) {return zn(Ps(e));}function Mr(e, t) {var n = Ps(e);return Ta(n, Xn(t, 0, n.length));}function Fr(e, t, n, r) {if (!Wo(e)) return e;for (var i = -1, a = (t = li(t, e)).length, o = a - 1, s = e; null != s && ++i < a;) {var l = Ca(t[i]),u = n;if ("__proto__" === l || "constructor" === l || "prototype" === l) return e;if (i != o) {var c = s[l];void 0 === (u = r ? r(c, l, s) : void 0) && (u = Wo(c) ? c : sa(t[i + 1]) ? [] : {});}Wn(s, l, u), s = s[l];}return e;}var Zr = _n ? function (e, t) {return _n.set(e, t), e;} : Hs,Wr = vt ? function (e, t) {return vt(e, "toString", { configurable: !0, enumerable: !1, value: Ws(t), writable: !0 });} : Hs;function Ur(e) {return Ta(Ps(e));}function Vr(e, t, n) {var i = -1,a = e.length;t < 0 && (t = -t > a ? 0 : a + t), (n = n > a ? a : n) < 0 && (n += a), a = t > n ? 0 : n - t >>> 0, t >>>= 0;for (var o = r(a); ++i < a;) o[i] = e[i + t];return o;}function Hr(e, t) {var n;return tr(e, function (e, r, i) {return !(n = t(e, r, i));}), !!n;}function Kr(e, t, n) {var r = 0,i = null == e ? r : e.length;if ("number" == typeof t && t == t && i <= 2147483647) {for (; r < i;) {var a = r + i >>> 1,o = e[a];null !== o && !Qo(o) && (n ? o <= t : o < t) ? r = a + 1 : i = a;}return i;}return Yr(e, t, Hs, n);}function Yr(e, t, n, r) {var i = 0,a = null == e ? 0 : e.length;if (0 === a) return 0;for (var o = (t = n(t)) != t, s = null === t, l = Qo(t), u = void 0 === t; i < a;) {var c = en((i + a) / 2),d = n(e[c]),f = void 0 !== d,p = null === d,h = d == d,g = Qo(d);if (o) var m = r || h;else m = u ? h && (r || f) : s ? h && f && (r || !p) : l ? h && f && !p && (r || !g) : !p && !g && (r ? d <= t : d < t);m ? i = c + 1 : a = c;}return ln(a, 4294967294);}function Xr(e, t) {for (var n = -1, r = e.length, i = 0, a = []; ++n < r;) {var o = e[n],s = t ? t(o) : o;if (!n || !Po(s, l)) {var l = s;a[i++] = 0 === o ? 0 : o;}}return a;}function $r(e) {return "number" == typeof e ? e : Qo(e) ? NaN : +e;}function Qr(e) {if ("string" == typeof e) return e;if (No(e)) return pt(e, Qr) + "";if (Qo(e)) return Rn ? Rn.call(e) : "";var t = e + "";return "0" == t && 1 / e == -1 / 0 ? "-0" : t;}function Jr(e, t, n) {var r = -1,i = dt,a = e.length,o = !0,s = [],l = s;if (n) o = !1, i = ft;else if (a >= 200) {var u = t ? null : Di(e);if (u) return Wt(u);o = !1, i = It, l = new Gn();} else l = t ? [] : s;e: for (; ++r < a;) {var c = e[r],d = t ? t(c) : c;if (c = n || 0 !== c ? c : 0, o && d == d) {for (var f = l.length; f--;) if (l[f] === d) continue e;t && l.push(d), s.push(c);} else i(l, d, n) || (l !== s && l.push(d), s.push(c));}return s;}function ei(e, t) {return null == (e = ma(e, t = li(t, e))) || delete e[Ca(qa(t))];}function ti(e, t, n, r) {return Fr(e, t, n(fr(e, t)), r);}function ni(e, t, n, r) {for (var i = e.length, a = r ? i : -1; (r ? a-- : ++a < i) && t(e[a], a, e););return n ? Vr(e, r ? 0 : a, r ? a + 1 : i) : Vr(e, r ? a + 1 : 0, r ? i : a);}function ri(e, t) {var n = e;return n instanceof In && (n = n.value()), gt(t, function (e, t) {return t.func.apply(t.thisArg, ht([e], t.args));}, n);}function ii(e, t, n) {var i = e.length;if (i < 2) return i ? Jr(e[0]) : [];for (var a = -1, o = r(i); ++a < i;) for (var s = e[a], l = -1; ++l < i;) l != a && (o[a] = er(o[a] || s, e[l], t, n));return Jr(or(o, 1), t, n);}function ai(e, t, n) {for (var r = -1, i = e.length, a = t.length, o = {}; ++r < i;) {var s = r < a ? t[r] : void 0;n(o, e[r], s);}return o;}function oi(e) {return Go(e) ? e : [];}function si(e) {return "function" == typeof e ? e : Hs;}function li(e, t) {return No(e) ? e : ua(e, t) ? [e] : wa(ls(e));}var ui = qr;function ci(e, t, n) {var r = e.length;return n = void 0 === n ? r : n, !t && n >= r ? e : Vr(e, t, n);}var di = Ct || function (e) {return He.clearTimeout(e);};function fi(e, t) {if (t) return e.slice();var n = e.length,r = je ? je(n) : new e.constructor(n);return e.copy(r), r;}function pi(e) {var t = new e.constructor(e.byteLength);return new Ne(t).set(new Ne(e)), t;}function hi(e, t) {var n = t ? pi(e.buffer) : e.buffer;return new e.constructor(n, e.byteOffset, e.length);}function gi(e, t) {if (e !== t) {var n = void 0 !== e,r = null === e,i = e == e,a = Qo(e),o = void 0 !== t,s = null === t,l = t == t,u = Qo(t);if (!s && !u && !a && e > t || a && o && l && !s && !u || r && o && l || !n && l || !i) return 1;if (!r && !a && !u && e < t || u && n && i && !r && !a || s && n && i || !o && i || !l) return -1;}return 0;}function mi(e, t, n, i) {for (var a = -1, o = e.length, s = n.length, l = -1, u = t.length, c = sn(o - s, 0), d = r(u + c), f = !i; ++l < u;) d[l] = t[l];for (; ++a < s;) (f || a < o) && (d[n[a]] = e[a]);for (; c--;) d[l++] = e[a++];return d;}function bi(e, t, n, i) {for (var a = -1, o = e.length, s = -1, l = n.length, u = -1, c = t.length, d = sn(o - l, 0), f = r(d + c), p = !i; ++a < d;) f[a] = e[a];for (var h = a; ++u < c;) f[h + u] = t[u];for (; ++s < l;) (p || a < o) && (f[h + n[s]] = e[a++]);return f;}function vi(e, t) {var n = -1,i = e.length;for (t || (t = r(i)); ++n < i;) t[n] = e[n];return t;}function _i(e, t, n, r) {var i = !n;n || (n = {});for (var a = -1, o = t.length; ++a < o;) {var s = t[a],l = r ? r(n[s], e[s], s, n, e) : void 0;void 0 === l && (l = e[s]), i ? Kn(n, s, l) : Wn(n, s, l);}return n;}function yi(e, t) {return function (n, r) {var i = No(n) ? ot : Vn,a = t ? t() : {};return i(n, e, $i(r, 2), a);};}function Si(e) {return qr(function (t, n) {var r = -1,i = n.length,a = i > 1 ? n[i - 1] : void 0,o = i > 2 ? n[2] : void 0;for (a = e.length > 3 && "function" == typeof a ? (i--, a) : void 0, o && la(n[0], n[1], o) && (a = i < 3 ? void 0 : a, i = 1), t = he(t); ++r < i;) {var s = n[r];s && e(t, s, r, a);}return t;});}function xi(e, t) {return function (n, r) {if (null == n) return n;if (!jo(n)) return e(n, r);for (var i = n.length, a = t ? i : -1, o = he(n); (t ? a-- : ++a < i) && !1 !== r(o[a], a, o););return n;};}function Ei(e) {return function (t, n, r) {for (var i = -1, a = he(t), o = r(t), s = o.length; s--;) {var l = o[e ? s : ++i];if (!1 === n(a[l], l, a)) break;}return t;};}function Ti(e) {return function (t) {var n = zt(t = ls(t)) ? Ht(t) : void 0,r = n ? n[0] : t.charAt(0),i = n ? ci(n, 1).join("") : t.slice(1);return r[e]() + i;};}function wi(e) {return function (t) {return gt(Ms(Is(t).replace(Ae, "")), e, "");};}function Ci(e) {return function () {var t = arguments;switch (t.length) {case 0:return new e();case 1:return new e(t[0]);case 2:return new e(t[0], t[1]);case 3:return new e(t[0], t[1], t[2]);case 4:return new e(t[0], t[1], t[2], t[3]);case 5:return new e(t[0], t[1], t[2], t[3], t[4]);case 6:return new e(t[0], t[1], t[2], t[3], t[4], t[5]);case 7:return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]);}var n = Pn(e.prototype),r = e.apply(n, t);return Wo(r) ? r : n;};}function Oi(e) {return function (t, n, r) {var i = he(t);if (!jo(t)) {var a = $i(n, 3);t = Ss(t), n = function (e) {return a(i[e], e, i);};}var o = e(t, n, r);return o > -1 ? i[a ? t[o] : o] : void 0;};}function Ri(e) {return Ui(function (t) {var n = t.length,r = n,i = An.prototype.thru;for (e && t.reverse(); r--;) {var o = t[r];if ("function" != typeof o) throw new be(a);if (i && !s && "wrapper" == Yi(o)) var s = new An([], !0);}for (r = s ? r : n; ++r < n;) {var l = Yi(o = t[r]),u = "wrapper" == l ? Ki(o) : void 0;s = u && ca(u[0]) && 424 == u[1] && !u[4].length && 1 == u[9] ? s[Yi(u[0])].apply(s, u[3]) : 1 == o.length && ca(o) ? s[l]() : s.thru(o);}return function () {var e = arguments,r = e[0];if (s && 1 == e.length && No(r)) return s.plant(r).value();for (var i = 0, a = n ? t[i].apply(this, e) : r; ++i < n;) a = t[i].call(this, a);return a;};});}function ki(e, t, n, i, a, o, s, l, u, c) {var d = 128 & t,f = 1 & t,p = 2 & t,h = 24 & t,g = 512 & t,m = p ? void 0 : Ci(e);return function b() {for (var v = arguments.length, _ = r(v), y = v; y--;) _[y] = arguments[y];if (h) var S = Xi(b),x = jt(_, S);if (i && (_ = mi(_, i, a, h)), o && (_ = bi(_, o, s, h)), v -= x, h && v < c) {var E = Zt(_, S);return ji(e, t, ki, b.placeholder, n, _, E, l, u, c - v);}var T = f ? n : this,w = p ? T[e] : e;return v = _.length, l ? _ = ba(_, l) : g && v > 1 && _.reverse(), d && u < v && (_.length = u), this && this !== He && this instanceof b && (w = m || Ci(w)), w.apply(T, _);};}function Pi(e, t) {return function (n, r) {return function (e, t, n, r) {return ur(e, function (e, i, a) {t(r, n(e), i, a);}), r;}(n, e, t(r), {});};}function Li(e, t) {return function (n, r) {var i;if (void 0 === n && void 0 === r) return t;if (void 0 !== n && (i = n), void 0 !== r) {if (void 0 === i) return r;"string" == typeof n || "string" == typeof r ? (n = Qr(n), r = Qr(r)) : (n = $r(n), r = $r(r)), i = e(n, r);}return i;};}function Ai(e) {return Ui(function (t) {return t = pt(t, Lt($i())), qr(function (n) {var r = this;return e(t, function (e) {return at(e, r, n);});});});}function Ii(e, t) {var n = (t = void 0 === t ? " " : Qr(t)).length;if (n < 2) return n ? Dr(t, e) : t;var r = Dr(t, Jt(e / Vt(t)));return zt(t) ? ci(Ht(r), 0, e).join("") : r.slice(0, e);}function Ni(e) {return function (t, n, i) {return i && "number" != typeof i && la(t, n, i) && (n = i = void 0), t = rs(t), void 0 === n ? (n = t, t = 0) : n = rs(n), function (e, t, n, i) {for (var a = -1, o = sn(Jt((t - e) / (n || 1)), 0), s = r(o); o--;) s[i ? o : ++a] = e, e += n;return s;}(t, n, i = void 0 === i ? t < n ? 1 : -1 : rs(i), e);};}function Bi(e) {return function (t, n) {return "string" == typeof t && "string" == typeof n || (t = os(t), n = os(n)), e(t, n);};}function ji(e, t, n, r, i, a, o, s, l, u) {var c = 8 & t;t |= c ? 32 : 64, 4 & (t &= ~(c ? 64 : 32)) || (t &= -4);var d = [e, t, i, c ? a : void 0, c ? o : void 0, c ? void 0 : a, c ? void 0 : o, s, l, u],f = n.apply(void 0, d);return ca(e) && _a(f, d), f.placeholder = r, xa(f, e, t);}function Gi(e) {var t = pe[e];return function (e, n) {if (e = os(e), (n = null == n ? 0 : ln(is(n), 292)) && rn(e)) {var r = (ls(e) + "e").split("e");return +((r = (ls(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + "e" + (+r[1] - n));}return t(e);};}var Di = mn && 1 / Wt(new mn([, -0]))[1] == 1 / 0 ? function (e) {return new mn(e);} : Qs;function qi(e) {return function (t) {var n = ra(t);return n == g ? Mt(t) : n == _ ? Ut(t) : function (e, t) {return pt(t, function (t) {return [t, e[t]];});}(t, e(t));};}function zi(e, t, n, i, s, l, u, c) {var d = 2 & t;if (!d && "function" != typeof e) throw new be(a);var f = i ? i.length : 0;if (f || (t &= -97, i = s = void 0), u = void 0 === u ? u : sn(is(u), 0), c = void 0 === c ? c : is(c), f -= s ? s.length : 0, 64 & t) {var p = i,h = s;i = s = void 0;}var g = d ? void 0 : Ki(e),m = [e, t, n, i, s, p, h, l, u, c];if (g && function (e, t) {var n = e[1],r = t[1],i = n | r,a = i < 131,s = 128 == r && 8 == n || 128 == r && 256 == n && e[7].length <= t[8] || 384 == r && t[7].length <= t[8] && 8 == n;if (!a && !s) return e;1 & r && (e[2] = t[2], i |= 1 & n ? 0 : 4);var l = t[3];if (l) {var u = e[3];e[3] = u ? mi(u, l, t[4]) : l, e[4] = u ? Zt(e[3], o) : t[4];}(l = t[5]) && (u = e[5], e[5] = u ? bi(u, l, t[6]) : l, e[6] = u ? Zt(e[5], o) : t[6]);(l = t[7]) && (e[7] = l);128 & r && (e[8] = null == e[8] ? t[8] : ln(e[8], t[8]));null == e[9] && (e[9] = t[9]);e[0] = t[0], e[1] = i;}(m, g), e = m[0], t = m[1], n = m[2], i = m[3], s = m[4], !(c = m[9] = void 0 === m[9] ? d ? 0 : e.length : sn(m[9] - f, 0)) && 24 & t && (t &= -25), t && 1 != t) b = 8 == t || 16 == t ? function (e, t, n) {var i = Ci(e);return function a() {for (var o = arguments.length, s = r(o), l = o, u = Xi(a); l--;) s[l] = arguments[l];var c = o < 3 && s[0] !== u && s[o - 1] !== u ? [] : Zt(s, u);if ((o -= c.length) < n) return ji(e, t, ki, a.placeholder, void 0, s, c, void 0, void 0, n - o);var d = this && this !== He && this instanceof a ? i : e;return at(d, this, s);};}(e, t, c) : 32 != t && 33 != t || s.length ? ki.apply(void 0, m) : function (e, t, n, i) {var a = 1 & t,o = Ci(e);return function t() {for (var s = -1, l = arguments.length, u = -1, c = i.length, d = r(c + l), f = this && this !== He && this instanceof t ? o : e; ++u < c;) d[u] = i[u];for (; l--;) d[u++] = arguments[++s];return at(f, a ? n : this, d);};}(e, t, n, i);else var b = function (e, t, n) {var r = 1 & t,i = Ci(e);return function t() {var a = this && this !== He && this instanceof t ? i : e;return a.apply(r ? n : this, arguments);};}(e, t, n);return xa((g ? Zr : _a)(b, m), e, t);}function Mi(e, t, n, r) {return void 0 === e || Po(e, ye[n]) && !Ee.call(r, n) ? t : e;}function Fi(e, t, n, r, i, a) {return Wo(e) && Wo(t) && (a.set(t, e), Lr(e, t, void 0, Fi, a), a.delete(t)), e;}function Zi(e) {return Ko(e) ? void 0 : e;}function Wi(e, t, n, r, i, a) {var o = 1 & n,s = e.length,l = t.length;if (s != l && !(o && l > s)) return !1;var u = a.get(e),c = a.get(t);if (u && c) return u == t && c == e;var d = -1,f = !0,p = 2 & n ? new Gn() : void 0;for (a.set(e, t), a.set(t, e); ++d < s;) {var h = e[d],g = t[d];if (r) var m = o ? r(g, h, d, t, e, a) : r(h, g, d, e, t, a);if (void 0 !== m) {if (m) continue;f = !1;break;}if (p) {if (!bt(t, function (e, t) {if (!It(p, t) && (h === e || i(h, e, n, r, a))) return p.push(t);})) {f = !1;break;}} else if (h !== g && !i(h, g, n, r, a)) {f = !1;break;}}return a.delete(e), a.delete(t), f;}function Ui(e) {return Sa(ga(e, void 0, Na), e + "");}function Vi(e) {return pr(e, Ss, ta);}function Hi(e) {return pr(e, xs, na);}var Ki = _n ? function (e) {return _n.get(e);} : Qs;function Yi(e) {for (var t = e.name + "", n = yn[t], r = Ee.call(yn, t) ? n.length : 0; r--;) {var i = n[r],a = i.func;if (null == a || a == e) return i.name;}return t;}function Xi(e) {return (Ee.call(kn, "placeholder") ? kn : e).placeholder;}function $i() {var e = kn.iteratee || Ks;return e = e === Ks ? Tr : e, arguments.length ? e(arguments[0], arguments[1]) : e;}function Qi(e, t) {var n,r,i = e.__data__;return ("string" == (r = typeof (n = t)) || "number" == r || "symbol" == r || "boolean" == r ? "__proto__" !== n : null === n) ? i["string" == typeof t ? "string" : "hash"] : i.map;}function Ji(e) {for (var t = Ss(e), n = t.length; n--;) {var r = t[n],i = e[r];t[n] = [r, i, pa(i)];}return t;}function ea(e, t) {var n = function (e, t) {return null == e ? void 0 : e[t];}(e, t);return Er(n) ? n : void 0;}var ta = tn ? function (e) {return null == e ? [] : (e = he(e), ct(tn(e), function (t) {return Ve.call(e, t);}));} : al,na = tn ? function (e) {for (var t = []; e;) ht(t, ta(e)), e = Fe(e);return t;} : al,ra = hr;function ia(e, t, n) {for (var r = -1, i = (t = li(t, e)).length, a = !1; ++r < i;) {var o = Ca(t[r]);if (!(a = null != e && n(e, o))) break;e = e[o];}return a || ++r != i ? a : !!(i = null == e ? 0 : e.length) && Zo(i) && sa(o, i) && (No(e) || Io(e));}function aa(e) {return "function" != typeof e.constructor || fa(e) ? {} : Pn(Fe(e));}function oa(e) {return No(e) || Io(e) || !!(Ye && e && e[Ye]);}function sa(e, t) {var n = typeof e;return !!(t = null == t ? 9007199254740991 : t) && ("number" == n || "symbol" != n && le.test(e)) && e > -1 && e % 1 == 0 && e < t;}function la(e, t, n) {if (!Wo(n)) return !1;var r = typeof t;return !!("number" == r ? jo(n) && sa(t, n.length) : "string" == r && t in n) && Po(n[t], e);}function ua(e, t) {if (No(e)) return !1;var n = typeof e;return !("number" != n && "symbol" != n && "boolean" != n && null != e && !Qo(e)) || W.test(e) || !Z.test(e) || null != t && e in he(t);}function ca(e) {var t = Yi(e),n = kn[t];if ("function" != typeof n || !(t in In.prototype)) return !1;if (e === n) return !0;var r = Ki(n);return !!r && e === r[0];}(pn && ra(new pn(new ArrayBuffer(1))) != T || hn && ra(new hn()) != g || gn && "[object Promise]" != ra(gn.resolve()) || mn && ra(new mn()) != _ || bn && ra(new bn()) != x) && (ra = function (e) {var t = hr(e),n = t == b ? e.constructor : void 0,r = n ? Oa(n) : "";if (r) switch (r) {case Sn:return T;case xn:return g;case En:return "[object Promise]";case Tn:return _;case wn:return x;}return t;});var da = Se ? Mo : ol;function fa(e) {var t = e && e.constructor;return e === ("function" == typeof t && t.prototype || ye);}function pa(e) {return e == e && !Wo(e);}function ha(e, t) {return function (n) {return null != n && n[e] === t && (void 0 !== t || e in he(n));};}function ga(e, t, n) {return t = sn(void 0 === t ? e.length - 1 : t, 0), function () {for (var i = arguments, a = -1, o = sn(i.length - t, 0), s = r(o); ++a < o;) s[a] = i[t + a];a = -1;for (var l = r(t + 1); ++a < t;) l[a] = i[a];return l[t] = n(s), at(e, this, l);};}function ma(e, t) {return t.length < 2 ? e : fr(e, Vr(t, 0, -1));}function ba(e, t) {for (var n = e.length, r = ln(t.length, n), i = vi(e); r--;) {var a = t[r];e[r] = sa(a, n) ? i[a] : void 0;}return e;}function va(e, t) {if (("constructor" !== t || "function" != typeof e[t]) && "__proto__" != t) return e[t];}var _a = Ea(Zr),ya = Qt || function (e, t) {return He.setTimeout(e, t);},Sa = Ea(Wr);function xa(e, t, n) {var r = t + "";return Sa(e, function (e, t) {var n = t.length;if (!n) return e;var r = n - 1;return t[r] = (n > 1 ? "& " : "") + t[r], t = t.join(n > 2 ? ", " : " "), e.replace(X, "{\n/* [wrapped with " + t + "] */\n");}(r, function (e, t) {return st(s, function (n) {var r = "_." + n[0];t & n[1] && !dt(e, r) && e.push(r);}), e.sort();}(function (e) {var t = e.match($);return t ? t[1].split(Q) : [];}(r), n)));}function Ea(e) {var t = 0,n = 0;return function () {var r = un(),i = 16 - (r - n);if (n = r, i > 0) {if (++t >= 800) return arguments[0];} else t = 0;return e.apply(void 0, arguments);};}function Ta(e, t) {var n = -1,r = e.length,i = r - 1;for (t = void 0 === t ? r : t; ++n < t;) {var a = Gr(n, i),o = e[a];e[a] = e[n], e[n] = o;}return e.length = t, e;}var wa = function (e) {var t = To(e, function (e) {return 500 === n.size && n.clear(), e;}),n = t.cache;return t;}(function (e) {var t = [];return 46 === e.charCodeAt(0) && t.push(""), e.replace(U, function (e, n, r, i) {t.push(r ? i.replace(te, "$1") : n || e);}), t;});function Ca(e) {if ("string" == typeof e || Qo(e)) return e;var t = e + "";return "0" == t && 1 / e == -1 / 0 ? "-0" : t;}function Oa(e) {if (null != e) {try {return xe.call(e);} catch (e) {}try {return e + "";} catch (e) {}}return "";}function Ra(e) {if (e instanceof In) return e.clone();var t = new An(e.__wrapped__, e.__chain__);return t.__actions__ = vi(e.__actions__), t.__index__ = e.__index__, t.__values__ = e.__values__, t;}var ka = qr(function (e, t) {return Go(e) ? er(e, or(t, 1, Go, !0)) : [];}),Pa = qr(function (e, t) {var n = qa(t);return Go(n) && (n = void 0), Go(e) ? er(e, or(t, 1, Go, !0), $i(n, 2)) : [];}),La = qr(function (e, t) {var n = qa(t);return Go(n) && (n = void 0), Go(e) ? er(e, or(t, 1, Go, !0), void 0, n) : [];});function Aa(e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = null == n ? 0 : is(n);return i < 0 && (i = sn(r + i, 0)), yt(e, $i(t, 3), i);}function Ia(e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = r - 1;return void 0 !== n && (i = is(n), i = n < 0 ? sn(r + i, 0) : ln(i, r - 1)), yt(e, $i(t, 3), i, !0);}function Na(e) {return (null == e ? 0 : e.length) ? or(e, 1) : [];}function Ba(e) {return e && e.length ? e[0] : void 0;}var ja = qr(function (e) {var t = pt(e, oi);return t.length && t[0] === e[0] ? vr(t) : [];}),Ga = qr(function (e) {var t = qa(e),n = pt(e, oi);return t === qa(n) ? t = void 0 : n.pop(), n.length && n[0] === e[0] ? vr(n, $i(t, 2)) : [];}),Da = qr(function (e) {var t = qa(e),n = pt(e, oi);return (t = "function" == typeof t ? t : void 0) && n.pop(), n.length && n[0] === e[0] ? vr(n, void 0, t) : [];});function qa(e) {var t = null == e ? 0 : e.length;return t ? e[t - 1] : void 0;}var za = qr(Ma);function Ma(e, t) {return e && e.length && t && t.length ? Br(e, t) : e;}var Fa = Ui(function (e, t) {var n = null == e ? 0 : e.length,r = Yn(e, t);return jr(e, pt(t, function (e) {return sa(e, n) ? +e : e;}).sort(gi)), r;});function Za(e) {return null == e ? e : fn.call(e);}var Wa = qr(function (e) {return Jr(or(e, 1, Go, !0));}),Ua = qr(function (e) {var t = qa(e);return Go(t) && (t = void 0), Jr(or(e, 1, Go, !0), $i(t, 2));}),Va = qr(function (e) {var t = qa(e);return t = "function" == typeof t ? t : void 0, Jr(or(e, 1, Go, !0), void 0, t);});function Ha(e) {if (!e || !e.length) return [];var t = 0;return e = ct(e, function (e) {if (Go(e)) return t = sn(e.length, t), !0;}), kt(t, function (t) {return pt(e, wt(t));});}function Ka(e, t) {if (!e || !e.length) return [];var n = Ha(e);return null == t ? n : pt(n, function (e) {return at(t, void 0, e);});}var Ya = qr(function (e, t) {return Go(e) ? er(e, t) : [];}),Xa = qr(function (e) {return ii(ct(e, Go));}),$a = qr(function (e) {var t = qa(e);return Go(t) && (t = void 0), ii(ct(e, Go), $i(t, 2));}),Qa = qr(function (e) {var t = qa(e);return t = "function" == typeof t ? t : void 0, ii(ct(e, Go), void 0, t);}),Ja = qr(Ha);var eo = qr(function (e) {var t = e.length,n = t > 1 ? e[t - 1] : void 0;return n = "function" == typeof n ? (e.pop(), n) : void 0, Ka(e, n);});function to(e) {var t = kn(e);return t.__chain__ = !0, t;}function no(e, t) {return t(e);}var ro = Ui(function (e) {var t = e.length,n = t ? e[0] : 0,r = this.__wrapped__,i = function (t) {return Yn(t, e);};return !(t > 1 || this.__actions__.length) && r instanceof In && sa(n) ? ((r = r.slice(n, +n + (t ? 1 : 0))).__actions__.push({ func: no, args: [i], thisArg: void 0 }), new An(r, this.__chain__).thru(function (e) {return t && !e.length && e.push(void 0), e;})) : this.thru(i);});var io = yi(function (e, t, n) {Ee.call(e, n) ? ++e[n] : Kn(e, n, 1);});var ao = Oi(Aa),oo = Oi(Ia);function so(e, t) {return (No(e) ? st : tr)(e, $i(t, 3));}function lo(e, t) {return (No(e) ? lt : nr)(e, $i(t, 3));}var uo = yi(function (e, t, n) {Ee.call(e, n) ? e[n].push(t) : Kn(e, n, [t]);});var co = qr(function (e, t, n) {var i = -1,a = "function" == typeof t,o = jo(e) ? r(e.length) : [];return tr(e, function (e) {o[++i] = a ? at(t, e, n) : _r(e, t, n);}), o;}),fo = yi(function (e, t, n) {Kn(e, n, t);});function po(e, t) {return (No(e) ? pt : Rr)(e, $i(t, 3));}var ho = yi(function (e, t, n) {e[n ? 0 : 1].push(t);}, function () {return [[], []];});var go = qr(function (e, t) {if (null == e) return [];var n = t.length;return n > 1 && la(e, t[0], t[1]) ? t = [] : n > 2 && la(t[0], t[1], t[2]) && (t = [t[0]]), Ir(e, or(t, 1), []);}),mo = $t || function () {return He.Date.now();};function bo(e, t, n) {return t = n ? void 0 : t, zi(e, 128, void 0, void 0, void 0, void 0, t = e && null == t ? e.length : t);}function vo(e, t) {var n;if ("function" != typeof t) throw new be(a);return e = is(e), function () {return --e > 0 && (n = t.apply(this, arguments)), e <= 1 && (t = void 0), n;};}var _o = qr(function (e, t, n) {var r = 1;if (n.length) {var i = Zt(n, Xi(_o));r |= 32;}return zi(e, r, t, n, i);}),yo = qr(function (e, t, n) {var r = 3;if (n.length) {var i = Zt(n, Xi(yo));r |= 32;}return zi(t, r, e, n, i);});function So(e, t, n) {var r,i,o,s,l,u,c = 0,d = !1,f = !1,p = !0;if ("function" != typeof e) throw new be(a);function h(t) {var n = r,a = i;return r = i = void 0, c = t, s = e.apply(a, n);}function g(e) {return c = e, l = ya(b, t), d ? h(e) : s;}function m(e) {var n = e - u;return void 0 === u || n >= t || n < 0 || f && e - c >= o;}function b() {var e = mo();if (m(e)) return v(e);l = ya(b, function (e) {var n = t - (e - u);return f ? ln(n, o - (e - c)) : n;}(e));}function v(e) {return l = void 0, p && r ? h(e) : (r = i = void 0, s);}function _() {var e = mo(),n = m(e);if (r = arguments, i = this, u = e, n) {if (void 0 === l) return g(u);if (f) return di(l), l = ya(b, t), h(u);}return void 0 === l && (l = ya(b, t)), s;}return t = os(t) || 0, Wo(n) && (d = !!n.leading, o = (f = "maxWait" in n) ? sn(os(n.maxWait) || 0, t) : o, p = "trailing" in n ? !!n.trailing : p), _.cancel = function () {void 0 !== l && di(l), c = 0, r = u = i = l = void 0;}, _.flush = function () {return void 0 === l ? s : v(mo());}, _;}var xo = qr(function (e, t) {return Jn(e, 1, t);}),Eo = qr(function (e, t, n) {return Jn(e, os(t) || 0, n);});function To(e, t) {if ("function" != typeof e || null != t && "function" != typeof t) throw new be(a);var n = function () {var r = arguments,i = t ? t.apply(this, r) : r[0],a = n.cache;if (a.has(i)) return a.get(i);var o = e.apply(this, r);return n.cache = a.set(i, o) || a, o;};return n.cache = new (To.Cache || jn)(), n;}function wo(e) {if ("function" != typeof e) throw new be(a);return function () {var t = arguments;switch (t.length) {case 0:return !e.call(this);case 1:return !e.call(this, t[0]);case 2:return !e.call(this, t[0], t[1]);case 3:return !e.call(this, t[0], t[1], t[2]);}return !e.apply(this, t);};}To.Cache = jn;var Co = ui(function (e, t) {var n = (t = 1 == t.length && No(t[0]) ? pt(t[0], Lt($i())) : pt(or(t, 1), Lt($i()))).length;return qr(function (r) {for (var i = -1, a = ln(r.length, n); ++i < a;) r[i] = t[i].call(this, r[i]);return at(e, this, r);});}),Oo = qr(function (e, t) {return zi(e, 32, void 0, t, Zt(t, Xi(Oo)));}),Ro = qr(function (e, t) {return zi(e, 64, void 0, t, Zt(t, Xi(Ro)));}),ko = Ui(function (e, t) {return zi(e, 256, void 0, void 0, void 0, t);});function Po(e, t) {return e === t || e != e && t != t;}var Lo = Bi(gr),Ao = Bi(function (e, t) {return e >= t;}),Io = yr(function () {return arguments;}()) ? yr : function (e) {return Uo(e) && Ee.call(e, "callee") && !Ve.call(e, "callee");},No = r.isArray,Bo = Je ? Lt(Je) : function (e) {return Uo(e) && hr(e) == E;};function jo(e) {return null != e && Zo(e.length) && !Mo(e);}function Go(e) {return Uo(e) && jo(e);}var Do = nn || ol,qo = et ? Lt(et) : function (e) {return Uo(e) && hr(e) == d;};function zo(e) {if (!Uo(e)) return !1;var t = hr(e);return t == f || "[object DOMException]" == t || "string" == typeof e.message && "string" == typeof e.name && !Ko(e);}function Mo(e) {if (!Wo(e)) return !1;var t = hr(e);return t == p || t == h || "[object AsyncFunction]" == t || "[object Proxy]" == t;}function Fo(e) {return "number" == typeof e && e == is(e);}function Zo(e) {return "number" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991;}function Wo(e) {var t = typeof e;return null != e && ("object" == t || "function" == t);}function Uo(e) {return null != e && "object" == typeof e;}var Vo = tt ? Lt(tt) : function (e) {return Uo(e) && ra(e) == g;};function Ho(e) {return "number" == typeof e || Uo(e) && hr(e) == m;}function Ko(e) {if (!Uo(e) || hr(e) != b) return !1;var t = Fe(e);if (null === t) return !0;var n = Ee.call(t, "constructor") && t.constructor;return "function" == typeof n && n instanceof n && xe.call(n) == Oe;}var Yo = nt ? Lt(nt) : function (e) {return Uo(e) && hr(e) == v;};var Xo = rt ? Lt(rt) : function (e) {return Uo(e) && ra(e) == _;};function $o(e) {return "string" == typeof e || !No(e) && Uo(e) && hr(e) == y;}function Qo(e) {return "symbol" == typeof e || Uo(e) && hr(e) == S;}var Jo = it ? Lt(it) : function (e) {return Uo(e) && Zo(e.length) && !!ze[hr(e)];};var es = Bi(Or),ts = Bi(function (e, t) {return e <= t;});function ns(e) {if (!e) return [];if (jo(e)) return $o(e) ? Ht(e) : vi(e);if ($e && e[$e]) return function (e) {for (var t, n = []; !(t = e.next()).done;) n.push(t.value);return n;}(e[$e]());var t = ra(e);return (t == g ? Mt : t == _ ? Wt : Ps)(e);}function rs(e) {return e ? (e = os(e)) === 1 / 0 || e === -1 / 0 ? 17976931348623157e292 * (e < 0 ? -1 : 1) : e == e ? e : 0 : 0 === e ? e : 0;}function is(e) {var t = rs(e),n = t % 1;return t == t ? n ? t - n : t : 0;}function as(e) {return e ? Xn(is(e), 0, 4294967295) : 0;}function os(e) {if ("number" == typeof e) return e;if (Qo(e)) return NaN;if (Wo(e)) {var t = "function" == typeof e.valueOf ? e.valueOf() : e;e = Wo(t) ? t + "" : t;}if ("string" != typeof e) return 0 === e ? e : +e;e = Pt(e);var n = ae.test(e);return n || se.test(e) ? We(e.slice(2), n ? 2 : 8) : ie.test(e) ? NaN : +e;}function ss(e) {return _i(e, xs(e));}function ls(e) {return null == e ? "" : Qr(e);}var us = Si(function (e, t) {if (fa(t) || jo(t)) _i(t, Ss(t), e);else for (var n in t) Ee.call(t, n) && Wn(e, n, t[n]);}),cs = Si(function (e, t) {_i(t, xs(t), e);}),ds = Si(function (e, t, n, r) {_i(t, xs(t), e, r);}),fs = Si(function (e, t, n, r) {_i(t, Ss(t), e, r);}),ps = Ui(Yn);var hs = qr(function (e, t) {e = he(e);var n = -1,r = t.length,i = r > 2 ? t[2] : void 0;for (i && la(t[0], t[1], i) && (r = 1); ++n < r;) for (var a = t[n], o = xs(a), s = -1, l = o.length; ++s < l;) {var u = o[s],c = e[u];(void 0 === c || Po(c, ye[u]) && !Ee.call(e, u)) && (e[u] = a[u]);}return e;}),gs = qr(function (e) {return e.push(void 0, Fi), at(Ts, void 0, e);});function ms(e, t, n) {var r = null == e ? void 0 : fr(e, t);return void 0 === r ? n : r;}function bs(e, t) {return null != e && ia(e, t, br);}var vs = Pi(function (e, t, n) {null != t && "function" != typeof t.toString && (t = Ce.call(t)), e[t] = n;}, Ws(Hs)),_s = Pi(function (e, t, n) {null != t && "function" != typeof t.toString && (t = Ce.call(t)), Ee.call(e, t) ? e[t].push(n) : e[t] = [n];}, $i),ys = qr(_r);function Ss(e) {return jo(e) ? qn(e) : wr(e);}function xs(e) {return jo(e) ? qn(e, !0) : Cr(e);}var Es = Si(function (e, t, n) {Lr(e, t, n);}),Ts = Si(function (e, t, n, r) {Lr(e, t, n, r);}),ws = Ui(function (e, t) {var n = {};if (null == e) return n;var r = !1;t = pt(t, function (t) {return t = li(t, e), r || (r = t.length > 1), t;}), _i(e, Hi(e), n), r && (n = $n(n, 7, Zi));for (var i = t.length; i--;) ei(n, t[i]);return n;});var Cs = Ui(function (e, t) {return null == e ? {} : function (e, t) {return Nr(e, t, function (t, n) {return bs(e, n);});}(e, t);});function Os(e, t) {if (null == e) return {};var n = pt(Hi(e), function (e) {return [e];});return t = $i(t), Nr(e, n, function (e, n) {return t(e, n[0]);});}var Rs = qi(Ss),ks = qi(xs);function Ps(e) {return null == e ? [] : At(e, Ss(e));}var Ls = wi(function (e, t, n) {return t = t.toLowerCase(), e + (n ? As(t) : t);});function As(e) {return zs(ls(e).toLowerCase());}function Is(e) {return (e = ls(e)) && e.replace(ue, Gt).replace(Ie, "");}var Ns = wi(function (e, t, n) {return e + (n ? "-" : "") + t.toLowerCase();}),Bs = wi(function (e, t, n) {return e + (n ? " " : "") + t.toLowerCase();}),js = Ti("toLowerCase");var Gs = wi(function (e, t, n) {return e + (n ? "_" : "") + t.toLowerCase();});var Ds = wi(function (e, t, n) {return e + (n ? " " : "") + zs(t);});var qs = wi(function (e, t, n) {return e + (n ? " " : "") + t.toUpperCase();}),zs = Ti("toUpperCase");function Ms(e, t, n) {return e = ls(e), void 0 === (t = n ? void 0 : t) ? function (e) {return Ge.test(e);}(e) ? function (e) {return e.match(Be) || [];}(e) : function (e) {return e.match(J) || [];}(e) : e.match(t) || [];}var Fs = qr(function (e, t) {try {return at(e, void 0, t);} catch (e) {return zo(e) ? e : new Y(e);}}),Zs = Ui(function (e, t) {return st(t, function (t) {t = Ca(t), Kn(e, t, _o(e[t], e));}), e;});function Ws(e) {return function () {return e;};}var Us = Ri(),Vs = Ri(!0);function Hs(e) {return e;}function Ks(e) {return Tr("function" == typeof e ? e : $n(e, 1));}var Ys = qr(function (e, t) {return function (n) {return _r(n, e, t);};}),Xs = qr(function (e, t) {return function (n) {return _r(e, n, t);};});function $s(e, t, n) {var r = Ss(t),i = dr(t, r);null != n || Wo(t) && (i.length || !r.length) || (n = t, t = e, e = this, i = dr(t, Ss(t)));var a = !(Wo(n) && "chain" in n && !n.chain),o = Mo(e);return st(i, function (n) {var r = t[n];e[n] = r, o && (e.prototype[n] = function () {var t = this.__chain__;if (a || t) {var n = e(this.__wrapped__),i = n.__actions__ = vi(this.__actions__);return i.push({ func: r, args: arguments, thisArg: e }), n.__chain__ = t, n;}return r.apply(e, ht([this.value()], arguments));});}), e;}function Qs() {}var Js = Ai(pt),el = Ai(ut),tl = Ai(bt);function nl(e) {return ua(e) ? wt(Ca(e)) : function (e) {return function (t) {return fr(t, e);};}(e);}var rl = Ni(),il = Ni(!0);function al() {return [];}function ol() {return !1;}var sl = Li(function (e, t) {return e + t;}, 0),ll = Gi("ceil"),ul = Li(function (e, t) {return e / t;}, 1),cl = Gi("floor");var dl,fl = Li(function (e, t) {return e * t;}, 1),pl = Gi("round"),hl = Li(function (e, t) {return e - t;}, 0);return kn.after = function (e, t) {if ("function" != typeof t) throw new be(a);return e = is(e), function () {if (--e < 1) return t.apply(this, arguments);};}, kn.ary = bo, kn.assign = us, kn.assignIn = cs, kn.assignInWith = ds, kn.assignWith = fs, kn.at = ps, kn.before = vo, kn.bind = _o, kn.bindAll = Zs, kn.bindKey = yo, kn.castArray = function () {if (!arguments.length) return [];var e = arguments[0];return No(e) ? e : [e];}, kn.chain = to, kn.chunk = function (e, t, n) {t = (n ? la(e, t, n) : void 0 === t) ? 1 : sn(is(t), 0);var i = null == e ? 0 : e.length;if (!i || t < 1) return [];for (var a = 0, o = 0, s = r(Jt(i / t)); a < i;) s[o++] = Vr(e, a, a += t);return s;}, kn.compact = function (e) {for (var t = -1, n = null == e ? 0 : e.length, r = 0, i = []; ++t < n;) {var a = e[t];a && (i[r++] = a);}return i;}, kn.concat = function () {var e = arguments.length;if (!e) return [];for (var t = r(e - 1), n = arguments[0], i = e; i--;) t[i - 1] = arguments[i];return ht(No(n) ? vi(n) : [n], or(t, 1));}, kn.cond = function (e) {var t = null == e ? 0 : e.length,n = $i();return e = t ? pt(e, function (e) {if ("function" != typeof e[1]) throw new be(a);return [n(e[0]), e[1]];}) : [], qr(function (n) {for (var r = -1; ++r < t;) {var i = e[r];if (at(i[0], this, n)) return at(i[1], this, n);}});}, kn.conforms = function (e) {return function (e) {var t = Ss(e);return function (n) {return Qn(n, e, t);};}($n(e, 1));}, kn.constant = Ws, kn.countBy = io, kn.create = function (e, t) {var n = Pn(e);return null == t ? n : Hn(n, t);}, kn.curry = function e(t, n, r) {var i = zi(t, 8, void 0, void 0, void 0, void 0, void 0, n = r ? void 0 : n);return i.placeholder = e.placeholder, i;}, kn.curryRight = function e(t, n, r) {var i = zi(t, 16, void 0, void 0, void 0, void 0, void 0, n = r ? void 0 : n);return i.placeholder = e.placeholder, i;}, kn.debounce = So, kn.defaults = hs, kn.defaultsDeep = gs, kn.defer = xo, kn.delay = Eo, kn.difference = ka, kn.differenceBy = Pa, kn.differenceWith = La, kn.drop = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? Vr(e, (t = n || void 0 === t ? 1 : is(t)) < 0 ? 0 : t, r) : [];}, kn.dropRight = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? Vr(e, 0, (t = r - (t = n || void 0 === t ? 1 : is(t))) < 0 ? 0 : t) : [];}, kn.dropRightWhile = function (e, t) {return e && e.length ? ni(e, $i(t, 3), !0, !0) : [];}, kn.dropWhile = function (e, t) {return e && e.length ? ni(e, $i(t, 3), !0) : [];}, kn.fill = function (e, t, n, r) {var i = null == e ? 0 : e.length;return i ? (n && "number" != typeof n && la(e, t, n) && (n = 0, r = i), function (e, t, n, r) {var i = e.length;for ((n = is(n)) < 0 && (n = -n > i ? 0 : i + n), (r = void 0 === r || r > i ? i : is(r)) < 0 && (r += i), r = n > r ? 0 : as(r); n < r;) e[n++] = t;return e;}(e, t, n, r)) : [];}, kn.filter = function (e, t) {return (No(e) ? ct : ar)(e, $i(t, 3));}, kn.flatMap = function (e, t) {return or(po(e, t), 1);}, kn.flatMapDeep = function (e, t) {return or(po(e, t), 1 / 0);}, kn.flatMapDepth = function (e, t, n) {return n = void 0 === n ? 1 : is(n), or(po(e, t), n);}, kn.flatten = Na, kn.flattenDeep = function (e) {return (null == e ? 0 : e.length) ? or(e, 1 / 0) : [];}, kn.flattenDepth = function (e, t) {return (null == e ? 0 : e.length) ? or(e, t = void 0 === t ? 1 : is(t)) : [];}, kn.flip = function (e) {return zi(e, 512);}, kn.flow = Us, kn.flowRight = Vs, kn.fromPairs = function (e) {for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n;) {var i = e[t];r[i[0]] = i[1];}return r;}, kn.functions = function (e) {return null == e ? [] : dr(e, Ss(e));}, kn.functionsIn = function (e) {return null == e ? [] : dr(e, xs(e));}, kn.groupBy = uo, kn.initial = function (e) {return (null == e ? 0 : e.length) ? Vr(e, 0, -1) : [];}, kn.intersection = ja, kn.intersectionBy = Ga, kn.intersectionWith = Da, kn.invert = vs, kn.invertBy = _s, kn.invokeMap = co, kn.iteratee = Ks, kn.keyBy = fo, kn.keys = Ss, kn.keysIn = xs, kn.map = po, kn.mapKeys = function (e, t) {var n = {};return t = $i(t, 3), ur(e, function (e, r, i) {Kn(n, t(e, r, i), e);}), n;}, kn.mapValues = function (e, t) {var n = {};return t = $i(t, 3), ur(e, function (e, r, i) {Kn(n, r, t(e, r, i));}), n;}, kn.matches = function (e) {return kr($n(e, 1));}, kn.matchesProperty = function (e, t) {return Pr(e, $n(t, 1));}, kn.memoize = To, kn.merge = Es, kn.mergeWith = Ts, kn.method = Ys, kn.methodOf = Xs, kn.mixin = $s, kn.negate = wo, kn.nthArg = function (e) {return e = is(e), qr(function (t) {return Ar(t, e);});}, kn.omit = ws, kn.omitBy = function (e, t) {return Os(e, wo($i(t)));}, kn.once = function (e) {return vo(2, e);}, kn.orderBy = function (e, t, n, r) {return null == e ? [] : (No(t) || (t = null == t ? [] : [t]), No(n = r ? void 0 : n) || (n = null == n ? [] : [n]), Ir(e, t, n));}, kn.over = Js, kn.overArgs = Co, kn.overEvery = el, kn.overSome = tl, kn.partial = Oo, kn.partialRight = Ro, kn.partition = ho, kn.pick = Cs, kn.pickBy = Os, kn.property = nl, kn.propertyOf = function (e) {return function (t) {return null == e ? void 0 : fr(e, t);};}, kn.pull = za, kn.pullAll = Ma, kn.pullAllBy = function (e, t, n) {return e && e.length && t && t.length ? Br(e, t, $i(n, 2)) : e;}, kn.pullAllWith = function (e, t, n) {return e && e.length && t && t.length ? Br(e, t, void 0, n) : e;}, kn.pullAt = Fa, kn.range = rl, kn.rangeRight = il, kn.rearg = ko, kn.reject = function (e, t) {return (No(e) ? ct : ar)(e, wo($i(t, 3)));}, kn.remove = function (e, t) {var n = [];if (!e || !e.length) return n;var r = -1,i = [],a = e.length;for (t = $i(t, 3); ++r < a;) {var o = e[r];t(o, r, e) && (n.push(o), i.push(r));}return jr(e, i), n;}, kn.rest = function (e, t) {if ("function" != typeof e) throw new be(a);return qr(e, t = void 0 === t ? t : is(t));}, kn.reverse = Za, kn.sampleSize = function (e, t, n) {return t = (n ? la(e, t, n) : void 0 === t) ? 1 : is(t), (No(e) ? Mn : Mr)(e, t);}, kn.set = function (e, t, n) {return null == e ? e : Fr(e, t, n);}, kn.setWith = function (e, t, n, r) {return r = "function" == typeof r ? r : void 0, null == e ? e : Fr(e, t, n, r);}, kn.shuffle = function (e) {return (No(e) ? Fn : Ur)(e);}, kn.slice = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? (n && "number" != typeof n && la(e, t, n) ? (t = 0, n = r) : (t = null == t ? 0 : is(t), n = void 0 === n ? r : is(n)), Vr(e, t, n)) : [];}, kn.sortBy = go, kn.sortedUniq = function (e) {return e && e.length ? Xr(e) : [];}, kn.sortedUniqBy = function (e, t) {return e && e.length ? Xr(e, $i(t, 2)) : [];}, kn.split = function (e, t, n) {return n && "number" != typeof n && la(e, t, n) && (t = n = void 0), (n = void 0 === n ? 4294967295 : n >>> 0) ? (e = ls(e)) && ("string" == typeof t || null != t && !Yo(t)) && !(t = Qr(t)) && zt(e) ? ci(Ht(e), 0, n) : e.split(t, n) : [];}, kn.spread = function (e, t) {if ("function" != typeof e) throw new be(a);return t = null == t ? 0 : sn(is(t), 0), qr(function (n) {var r = n[t],i = ci(n, 0, t);return r && ht(i, r), at(e, this, i);});}, kn.tail = function (e) {var t = null == e ? 0 : e.length;return t ? Vr(e, 1, t) : [];}, kn.take = function (e, t, n) {return e && e.length ? Vr(e, 0, (t = n || void 0 === t ? 1 : is(t)) < 0 ? 0 : t) : [];}, kn.takeRight = function (e, t, n) {var r = null == e ? 0 : e.length;return r ? Vr(e, (t = r - (t = n || void 0 === t ? 1 : is(t))) < 0 ? 0 : t, r) : [];}, kn.takeRightWhile = function (e, t) {return e && e.length ? ni(e, $i(t, 3), !1, !0) : [];}, kn.takeWhile = function (e, t) {return e && e.length ? ni(e, $i(t, 3)) : [];}, kn.tap = function (e, t) {return t(e), e;}, kn.throttle = function (e, t, n) {var r = !0,i = !0;if ("function" != typeof e) throw new be(a);return Wo(n) && (r = "leading" in n ? !!n.leading : r, i = "trailing" in n ? !!n.trailing : i), So(e, t, { leading: r, maxWait: t, trailing: i });}, kn.thru = no, kn.toArray = ns, kn.toPairs = Rs, kn.toPairsIn = ks, kn.toPath = function (e) {return No(e) ? pt(e, Ca) : Qo(e) ? [e] : vi(wa(ls(e)));}, kn.toPlainObject = ss, kn.transform = function (e, t, n) {var r = No(e),i = r || Do(e) || Jo(e);if (t = $i(t, 4), null == n) {var a = e && e.constructor;n = i ? r ? new a() : [] : Wo(e) && Mo(a) ? Pn(Fe(e)) : {};}return (i ? st : ur)(e, function (e, r, i) {return t(n, e, r, i);}), n;}, kn.unary = function (e) {return bo(e, 1);}, kn.union = Wa, kn.unionBy = Ua, kn.unionWith = Va, kn.uniq = function (e) {return e && e.length ? Jr(e) : [];}, kn.uniqBy = function (e, t) {return e && e.length ? Jr(e, $i(t, 2)) : [];}, kn.uniqWith = function (e, t) {return t = "function" == typeof t ? t : void 0, e && e.length ? Jr(e, void 0, t) : [];}, kn.unset = function (e, t) {return null == e || ei(e, t);}, kn.unzip = Ha, kn.unzipWith = Ka, kn.update = function (e, t, n) {return null == e ? e : ti(e, t, si(n));}, kn.updateWith = function (e, t, n, r) {return r = "function" == typeof r ? r : void 0, null == e ? e : ti(e, t, si(n), r);}, kn.values = Ps, kn.valuesIn = function (e) {return null == e ? [] : At(e, xs(e));}, kn.without = Ya, kn.words = Ms, kn.wrap = function (e, t) {return Oo(si(t), e);}, kn.xor = Xa, kn.xorBy = $a, kn.xorWith = Qa, kn.zip = Ja, kn.zipObject = function (e, t) {return ai(e || [], t || [], Wn);}, kn.zipObjectDeep = function (e, t) {return ai(e || [], t || [], Fr);}, kn.zipWith = eo, kn.entries = Rs, kn.entriesIn = ks, kn.extend = cs, kn.extendWith = ds, $s(kn, kn), kn.add = sl, kn.attempt = Fs, kn.camelCase = Ls, kn.capitalize = As, kn.ceil = ll, kn.clamp = function (e, t, n) {return void 0 === n && (n = t, t = void 0), void 0 !== n && (n = (n = os(n)) == n ? n : 0), void 0 !== t && (t = (t = os(t)) == t ? t : 0), Xn(os(e), t, n);}, kn.clone = function (e) {return $n(e, 4);}, kn.cloneDeep = function (e) {return $n(e, 5);}, kn.cloneDeepWith = function (e, t) {return $n(e, 5, t = "function" == typeof t ? t : void 0);}, kn.cloneWith = function (e, t) {return $n(e, 4, t = "function" == typeof t ? t : void 0);}, kn.conformsTo = function (e, t) {return null == t || Qn(e, t, Ss(t));}, kn.deburr = Is, kn.defaultTo = function (e, t) {return null == e || e != e ? t : e;}, kn.divide = ul, kn.endsWith = function (e, t, n) {e = ls(e), t = Qr(t);var r = e.length,i = n = void 0 === n ? r : Xn(is(n), 0, r);return (n -= t.length) >= 0 && e.slice(n, i) == t;}, kn.eq = Po, kn.escape = function (e) {return (e = ls(e)) && q.test(e) ? e.replace(G, Dt) : e;}, kn.escapeRegExp = function (e) {return (e = ls(e)) && H.test(e) ? e.replace(V, "\\$&") : e;}, kn.every = function (e, t, n) {var r = No(e) ? ut : rr;return n && la(e, t, n) && (t = void 0), r(e, $i(t, 3));}, kn.find = ao, kn.findIndex = Aa, kn.findKey = function (e, t) {return _t(e, $i(t, 3), ur);}, kn.findLast = oo, kn.findLastIndex = Ia, kn.findLastKey = function (e, t) {return _t(e, $i(t, 3), cr);}, kn.floor = cl, kn.forEach = so, kn.forEachRight = lo, kn.forIn = function (e, t) {return null == e ? e : sr(e, $i(t, 3), xs);}, kn.forInRight = function (e, t) {return null == e ? e : lr(e, $i(t, 3), xs);}, kn.forOwn = function (e, t) {return e && ur(e, $i(t, 3));}, kn.forOwnRight = function (e, t) {return e && cr(e, $i(t, 3));}, kn.get = ms, kn.gt = Lo, kn.gte = Ao, kn.has = function (e, t) {return null != e && ia(e, t, mr);}, kn.hasIn = bs, kn.head = Ba, kn.identity = Hs, kn.includes = function (e, t, n, r) {e = jo(e) ? e : Ps(e), n = n && !r ? is(n) : 0;var i = e.length;return n < 0 && (n = sn(i + n, 0)), $o(e) ? n <= i && e.indexOf(t, n) > -1 : !!i && St(e, t, n) > -1;}, kn.indexOf = function (e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = null == n ? 0 : is(n);return i < 0 && (i = sn(r + i, 0)), St(e, t, i);}, kn.inRange = function (e, t, n) {return t = rs(t), void 0 === n ? (n = t, t = 0) : n = rs(n), function (e, t, n) {return e >= ln(t, n) && e < sn(t, n);}(e = os(e), t, n);}, kn.invoke = ys, kn.isArguments = Io, kn.isArray = No, kn.isArrayBuffer = Bo, kn.isArrayLike = jo, kn.isArrayLikeObject = Go, kn.isBoolean = function (e) {return !0 === e || !1 === e || Uo(e) && hr(e) == c;}, kn.isBuffer = Do, kn.isDate = qo, kn.isElement = function (e) {return Uo(e) && 1 === e.nodeType && !Ko(e);}, kn.isEmpty = function (e) {if (null == e) return !0;if (jo(e) && (No(e) || "string" == typeof e || "function" == typeof e.splice || Do(e) || Jo(e) || Io(e))) return !e.length;var t = ra(e);if (t == g || t == _) return !e.size;if (fa(e)) return !wr(e).length;for (var n in e) if (Ee.call(e, n)) return !1;return !0;}, kn.isEqual = function (e, t) {return Sr(e, t);}, kn.isEqualWith = function (e, t, n) {var r = (n = "function" == typeof n ? n : void 0) ? n(e, t) : void 0;return void 0 === r ? Sr(e, t, void 0, n) : !!r;}, kn.isError = zo, kn.isFinite = function (e) {return "number" == typeof e && rn(e);}, kn.isFunction = Mo, kn.isInteger = Fo, kn.isLength = Zo, kn.isMap = Vo, kn.isMatch = function (e, t) {return e === t || xr(e, t, Ji(t));}, kn.isMatchWith = function (e, t, n) {return n = "function" == typeof n ? n : void 0, xr(e, t, Ji(t), n);}, kn.isNaN = function (e) {return Ho(e) && e != +e;}, kn.isNative = function (e) {if (da(e)) throw new Y("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return Er(e);}, kn.isNil = function (e) {return null == e;}, kn.isNull = function (e) {return null === e;}, kn.isNumber = Ho, kn.isObject = Wo, kn.isObjectLike = Uo, kn.isPlainObject = Ko, kn.isRegExp = Yo, kn.isSafeInteger = function (e) {return Fo(e) && e >= -9007199254740991 && e <= 9007199254740991;}, kn.isSet = Xo, kn.isString = $o, kn.isSymbol = Qo, kn.isTypedArray = Jo, kn.isUndefined = function (e) {return void 0 === e;}, kn.isWeakMap = function (e) {return Uo(e) && ra(e) == x;}, kn.isWeakSet = function (e) {return Uo(e) && "[object WeakSet]" == hr(e);}, kn.join = function (e, t) {return null == e ? "" : an.call(e, t);}, kn.kebabCase = Ns, kn.last = qa, kn.lastIndexOf = function (e, t, n) {var r = null == e ? 0 : e.length;if (!r) return -1;var i = r;return void 0 !== n && (i = (i = is(n)) < 0 ? sn(r + i, 0) : ln(i, r - 1)), t == t ? function (e, t, n) {for (var r = n + 1; r--;) if (e[r] === t) return r;return r;}(e, t, i) : yt(e, Et, i, !0);}, kn.lowerCase = Bs, kn.lowerFirst = js, kn.lt = es, kn.lte = ts, kn.max = function (e) {return e && e.length ? ir(e, Hs, gr) : void 0;}, kn.maxBy = function (e, t) {return e && e.length ? ir(e, $i(t, 2), gr) : void 0;}, kn.mean = function (e) {return Tt(e, Hs);}, kn.meanBy = function (e, t) {return Tt(e, $i(t, 2));}, kn.min = function (e) {return e && e.length ? ir(e, Hs, Or) : void 0;}, kn.minBy = function (e, t) {return e && e.length ? ir(e, $i(t, 2), Or) : void 0;}, kn.stubArray = al, kn.stubFalse = ol, kn.stubObject = function () {return {};}, kn.stubString = function () {return "";}, kn.stubTrue = function () {return !0;}, kn.multiply = fl, kn.nth = function (e, t) {return e && e.length ? Ar(e, is(t)) : void 0;}, kn.noConflict = function () {return He._ === this && (He._ = Re), this;}, kn.noop = Qs, kn.now = mo, kn.pad = function (e, t, n) {e = ls(e);var r = (t = is(t)) ? Vt(e) : 0;if (!t || r >= t) return e;var i = (t - r) / 2;return Ii(en(i), n) + e + Ii(Jt(i), n);}, kn.padEnd = function (e, t, n) {e = ls(e);var r = (t = is(t)) ? Vt(e) : 0;return t && r < t ? e + Ii(t - r, n) : e;}, kn.padStart = function (e, t, n) {e = ls(e);var r = (t = is(t)) ? Vt(e) : 0;return t && r < t ? Ii(t - r, n) + e : e;}, kn.parseInt = function (e, t, n) {return n || null == t ? t = 0 : t && (t = +t), cn(ls(e).replace(K, ""), t || 0);}, kn.random = function (e, t, n) {if (n && "boolean" != typeof n && la(e, t, n) && (t = n = void 0), void 0 === n && ("boolean" == typeof t ? (n = t, t = void 0) : "boolean" == typeof e && (n = e, e = void 0)), void 0 === e && void 0 === t ? (e = 0, t = 1) : (e = rs(e), void 0 === t ? (t = e, e = 0) : t = rs(t)), e > t) {var r = e;e = t, t = r;}if (n || e % 1 || t % 1) {var i = dn();return ln(e + i * (t - e + Ze("1e-" + ((i + "").length - 1))), t);}return Gr(e, t);}, kn.reduce = function (e, t, n) {var r = No(e) ? gt : Ot,i = arguments.length < 3;return r(e, $i(t, 4), n, i, tr);}, kn.reduceRight = function (e, t, n) {var r = No(e) ? mt : Ot,i = arguments.length < 3;return r(e, $i(t, 4), n, i, nr);}, kn.repeat = function (e, t, n) {return t = (n ? la(e, t, n) : void 0 === t) ? 1 : is(t), Dr(ls(e), t);}, kn.replace = function () {var e = arguments,t = ls(e[0]);return e.length < 3 ? t : t.replace(e[1], e[2]);}, kn.result = function (e, t, n) {var r = -1,i = (t = li(t, e)).length;for (i || (i = 1, e = void 0); ++r < i;) {var a = null == e ? void 0 : e[Ca(t[r])];void 0 === a && (r = i, a = n), e = Mo(a) ? a.call(e) : a;}return e;}, kn.round = pl, kn.runInContext = e, kn.sample = function (e) {return (No(e) ? zn : zr)(e);}, kn.size = function (e) {if (null == e) return 0;if (jo(e)) return $o(e) ? Vt(e) : e.length;var t = ra(e);return t == g || t == _ ? e.size : wr(e).length;}, kn.snakeCase = Gs, kn.some = function (e, t, n) {var r = No(e) ? bt : Hr;return n && la(e, t, n) && (t = void 0), r(e, $i(t, 3));}, kn.sortedIndex = function (e, t) {return Kr(e, t);}, kn.sortedIndexBy = function (e, t, n) {return Yr(e, t, $i(n, 2));}, kn.sortedIndexOf = function (e, t) {var n = null == e ? 0 : e.length;if (n) {var r = Kr(e, t);if (r < n && Po(e[r], t)) return r;}return -1;}, kn.sortedLastIndex = function (e, t) {return Kr(e, t, !0);}, kn.sortedLastIndexBy = function (e, t, n) {return Yr(e, t, $i(n, 2), !0);}, kn.sortedLastIndexOf = function (e, t) {if (null == e ? 0 : e.length) {var n = Kr(e, t, !0) - 1;if (Po(e[n], t)) return n;}return -1;}, kn.startCase = Ds, kn.startsWith = function (e, t, n) {return e = ls(e), n = null == n ? 0 : Xn(is(n), 0, e.length), t = Qr(t), e.slice(n, n + t.length) == t;}, kn.subtract = hl, kn.sum = function (e) {return e && e.length ? Rt(e, Hs) : 0;}, kn.sumBy = function (e, t) {return e && e.length ? Rt(e, $i(t, 2)) : 0;}, kn.template = function (e, t, n) {var r = kn.templateSettings;n && la(e, t, n) && (t = void 0), e = ls(e), t = ds({}, t, r, Mi);var i,a,o = ds({}, t.imports, r.imports, Mi),s = Ss(o),l = At(o, s),u = 0,c = t.interpolate || ce,d = "__p += '",f = ge((t.escape || ce).source + "|" + c.source + "|" + (c === F ? ne : ce).source + "|" + (t.evaluate || ce).source + "|$", "g"),p = "//# sourceURL=" + (Ee.call(t, "sourceURL") ? (t.sourceURL + "").replace(/\s/g, " ") : "lodash.templateSources[" + ++qe + "]") + "\n";e.replace(f, function (t, n, r, o, s, l) {return r || (r = o), d += e.slice(u, l).replace(de, qt), n && (i = !0, d += "' +\n__e(" + n + ") +\n'"), s && (a = !0, d += "';\n" + s + ";\n__p += '"), r && (d += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"), u = l + t.length, t;}), d += "';\n";var h = Ee.call(t, "variable") && t.variable;if (h) {if (ee.test(h)) throw new Y("Invalid `variable` option passed into `_.template`");} else d = "with (obj) {\n" + d + "\n}\n";d = (a ? d.replace(I, "") : d).replace(N, "$1").replace(B, "$1;"), d = "function(" + (h || "obj") + ") {\n" + (h ? "" : "obj || (obj = {});\n") + "var __t, __p = ''" + (i ? ", __e = _.escape" : "") + (a ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" : ";\n") + d + "return __p\n}";var g = Fs(function () {return fe(s, p + "return " + d).apply(void 0, l);});if (g.source = d, zo(g)) throw g;return g;}, kn.times = function (e, t) {if ((e = is(e)) < 1 || e > 9007199254740991) return [];var n = 4294967295,r = ln(e, 4294967295);e -= 4294967295;for (var i = kt(r, t = $i(t)); ++n < e;) t(n);return i;}, kn.toFinite = rs, kn.toInteger = is, kn.toLength = as, kn.toLower = function (e) {return ls(e).toLowerCase();}, kn.toNumber = os, kn.toSafeInteger = function (e) {return e ? Xn(is(e), -9007199254740991, 9007199254740991) : 0 === e ? e : 0;}, kn.toString = ls, kn.toUpper = function (e) {return ls(e).toUpperCase();}, kn.trim = function (e, t, n) {if ((e = ls(e)) && (n || void 0 === t)) return Pt(e);if (!e || !(t = Qr(t))) return e;var r = Ht(e),i = Ht(t);return ci(r, Nt(r, i), Bt(r, i) + 1).join("");}, kn.trimEnd = function (e, t, n) {if ((e = ls(e)) && (n || void 0 === t)) return e.slice(0, Kt(e) + 1);if (!e || !(t = Qr(t))) return e;var r = Ht(e);return ci(r, 0, Bt(r, Ht(t)) + 1).join("");}, kn.trimStart = function (e, t, n) {if ((e = ls(e)) && (n || void 0 === t)) return e.replace(K, "");if (!e || !(t = Qr(t))) return e;var r = Ht(e);return ci(r, Nt(r, Ht(t))).join("");}, kn.truncate = function (e, t) {var n = 30,r = "...";if (Wo(t)) {var i = "separator" in t ? t.separator : i;n = "length" in t ? is(t.length) : n, r = "omission" in t ? Qr(t.omission) : r;}var a = (e = ls(e)).length;if (zt(e)) {var o = Ht(e);a = o.length;}if (n >= a) return e;var s = n - Vt(r);if (s < 1) return r;var l = o ? ci(o, 0, s).join("") : e.slice(0, s);if (void 0 === i) return l + r;if (o && (s += l.length - s), Yo(i)) {if (e.slice(s).search(i)) {var u,c = l;for (i.global || (i = ge(i.source, ls(re.exec(i)) + "g")), i.lastIndex = 0; u = i.exec(c);) var d = u.index;l = l.slice(0, void 0 === d ? s : d);}} else if (e.indexOf(Qr(i), s) != s) {var f = l.lastIndexOf(i);f > -1 && (l = l.slice(0, f));}return l + r;}, kn.unescape = function (e) {return (e = ls(e)) && D.test(e) ? e.replace(j, Yt) : e;}, kn.uniqueId = function (e) {var t = ++Te;return ls(e) + t;}, kn.upperCase = qs, kn.upperFirst = zs, kn.each = so, kn.eachRight = lo, kn.first = Ba, $s(kn, (dl = {}, ur(kn, function (e, t) {Ee.call(kn.prototype, t) || (dl[t] = e);}), dl), { chain: !1 }), kn.VERSION = "4.17.21", st(["bind", "bindKey", "curry", "curryRight", "partial", "partialRight"], function (e) {kn[e].placeholder = kn;}), st(["drop", "take"], function (e, t) {In.prototype[e] = function (n) {n = void 0 === n ? 1 : sn(is(n), 0);var r = this.__filtered__ && !t ? new In(this) : this.clone();return r.__filtered__ ? r.__takeCount__ = ln(n, r.__takeCount__) : r.__views__.push({ size: ln(n, 4294967295), type: e + (r.__dir__ < 0 ? "Right" : "") }), r;}, In.prototype[e + "Right"] = function (t) {return this.reverse()[e](t).reverse();};}), st(["filter", "map", "takeWhile"], function (e, t) {var n = t + 1,r = 1 == n || 3 == n;In.prototype[e] = function (e) {var t = this.clone();return t.__iteratees__.push({ iteratee: $i(e, 3), type: n }), t.__filtered__ = t.__filtered__ || r, t;};}), st(["head", "last"], function (e, t) {var n = "take" + (t ? "Right" : "");In.prototype[e] = function () {return this[n](1).value()[0];};}), st(["initial", "tail"], function (e, t) {var n = "drop" + (t ? "" : "Right");In.prototype[e] = function () {return this.__filtered__ ? new In(this) : this[n](1);};}), In.prototype.compact = function () {return this.filter(Hs);}, In.prototype.find = function (e) {return this.filter(e).head();}, In.prototype.findLast = function (e) {return this.reverse().find(e);}, In.prototype.invokeMap = qr(function (e, t) {return "function" == typeof e ? new In(this) : this.map(function (n) {return _r(n, e, t);});}), In.prototype.reject = function (e) {return this.filter(wo($i(e)));}, In.prototype.slice = function (e, t) {e = is(e);var n = this;return n.__filtered__ && (e > 0 || t < 0) ? new In(n) : (e < 0 ? n = n.takeRight(-e) : e && (n = n.drop(e)), void 0 !== t && (n = (t = is(t)) < 0 ? n.dropRight(-t) : n.take(t - e)), n);}, In.prototype.takeRightWhile = function (e) {return this.reverse().takeWhile(e).reverse();}, In.prototype.toArray = function () {return this.take(4294967295);}, ur(In.prototype, function (e, t) {var n = /^(?:filter|find|map|reject)|While$/.test(t),r = /^(?:head|last)$/.test(t),i = kn[r ? "take" + ("last" == t ? "Right" : "") : t],a = r || /^find/.test(t);i && (kn.prototype[t] = function () {var t = this.__wrapped__,o = r ? [1] : arguments,s = t instanceof In,l = o[0],u = s || No(t),c = function (e) {var t = i.apply(kn, ht([e], o));return r && d ? t[0] : t;};u && n && "function" == typeof l && 1 != l.length && (s = u = !1);var d = this.__chain__,f = !!this.__actions__.length,p = a && !d,h = s && !f;if (!a && u) {t = h ? t : new In(this);var g = e.apply(t, o);return g.__actions__.push({ func: no, args: [c], thisArg: void 0 }), new An(g, d);}return p && h ? e.apply(this, o) : (g = this.thru(c), p ? r ? g.value()[0] : g.value() : g);});}), st(["pop", "push", "shift", "sort", "splice", "unshift"], function (e) {var t = ve[e],n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru",r = /^(?:pop|shift)$/.test(e);kn.prototype[e] = function () {var e = arguments;if (r && !this.__chain__) {var i = this.value();return t.apply(No(i) ? i : [], e);}return this[n](function (n) {return t.apply(No(n) ? n : [], e);});};}), ur(In.prototype, function (e, t) {var n = kn[t];if (n) {var r = n.name + "";Ee.call(yn, r) || (yn[r] = []), yn[r].push({ name: t, func: n });}}), yn[ki(void 0, 2).name] = [{ name: "wrapper", func: void 0 }], In.prototype.clone = function () {var e = new In(this.__wrapped__);return e.__actions__ = vi(this.__actions__), e.__dir__ = this.__dir__, e.__filtered__ = this.__filtered__, e.__iteratees__ = vi(this.__iteratees__), e.__takeCount__ = this.__takeCount__, e.__views__ = vi(this.__views__), e;}, In.prototype.reverse = function () {if (this.__filtered__) {var e = new In(this);e.__dir__ = -1, e.__filtered__ = !0;} else (e = this.clone()).__dir__ *= -1;return e;}, In.prototype.value = function () {var e = this.__wrapped__.value(),t = this.__dir__,n = No(e),r = t < 0,i = n ? e.length : 0,a = function (e, t, n) {var r = -1,i = n.length;for (; ++r < i;) {var a = n[r],o = a.size;switch (a.type) {case "drop":e += o;break;case "dropRight":t -= o;break;case "take":t = ln(t, e + o);break;case "takeRight":e = sn(e, t - o);}}return { start: e, end: t };}(0, i, this.__views__),o = a.start,s = a.end,l = s - o,u = r ? s : o - 1,c = this.__iteratees__,d = c.length,f = 0,p = ln(l, this.__takeCount__);if (!n || !r && i == l && p == l) return ri(e, this.__actions__);var h = [];e: for (; l-- && f < p;) {for (var g = -1, m = e[u += t]; ++g < d;) {var b = c[g],v = b.iteratee,_ = b.type,y = v(m);if (2 == _) m = y;else if (!y) {if (1 == _) continue e;break e;}}h[f++] = m;}return h;}, kn.prototype.at = ro, kn.prototype.chain = function () {return to(this);}, kn.prototype.commit = function () {return new An(this.value(), this.__chain__);}, kn.prototype.next = function () {void 0 === this.__values__ && (this.__values__ = ns(this.value()));var e = this.__index__ >= this.__values__.length;return { done: e, value: e ? void 0 : this.__values__[this.__index__++] };}, kn.prototype.plant = function (e) {for (var t, n = this; n instanceof Ln;) {var r = Ra(n);r.__index__ = 0, r.__values__ = void 0, t ? i.__wrapped__ = r : t = r;var i = r;n = n.__wrapped__;}return i.__wrapped__ = e, t;}, kn.prototype.reverse = function () {var e = this.__wrapped__;if (e instanceof In) {var t = e;return this.__actions__.length && (t = new In(this)), (t = t.reverse()).__actions__.push({ func: no, args: [Za], thisArg: void 0 }), new An(t, this.__chain__);}return this.thru(Za);}, kn.prototype.toJSON = kn.prototype.valueOf = kn.prototype.value = function () {return ri(this.__wrapped__, this.__actions__);}, kn.prototype.first = kn.prototype.head, $e && (kn.prototype[$e] = function () {return this;}), kn;}();He._ = Xt, void 0 === (i = function () {return Xt;}.call(t, n, t, r)) || (r.exports = i);}).call(this);}).call(this, n(86), n(157)(e));}, function (e, t) {var n;n = function () {return this;}();try {n = n || new Function("return this")();} catch (e) {"object" == typeof window && (n = window);}e.exports = n;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {return a.default[e.type](e, t, n);};var r,i = n(159),a = (r = i) && r.__esModule ? r : { default: r };}, function (e, t, n) {var r = n(89),i = { input: !0, option: !0, optgroup: !0, select: !0, button: !0, datalist: !0, textarea: !0 },a = { tr: { tr: !0, th: !0, td: !0 }, th: { th: !0 }, td: { thead: !0, th: !0, td: !0 }, body: { head: !0, link: !0, script: !0 }, li: { li: !0 }, p: { p: !0 }, h1: { p: !0 }, h2: { p: !0 }, h3: { p: !0 }, h4: { p: !0 }, h5: { p: !0 }, h6: { p: !0 }, select: i, input: i, output: i, button: i, datalist: i, textarea: i, option: { option: !0 }, optgroup: { optgroup: !0 } },o = { __proto__: null, area: !0, base: !0, basefont: !0, br: !0, col: !0, command: !0, embed: !0, frame: !0, hr: !0, img: !0, input: !0, isindex: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 },s = { __proto__: null, math: !0, svg: !0 },l = { __proto__: null, mi: !0, mo: !0, mn: !0, ms: !0, mtext: !0, "annotation-xml": !0, foreignObject: !0, desc: !0, title: !0 },u = /\s|\//;function c(e, t) {this._options = t || {}, this._cbs = e || {}, this._tagname = "", this._attribname = "", this._attribvalue = "", this._attribs = null, this._stack = [], this._foreignContext = [], this.startIndex = 0, this.endIndex = null, this._lowerCaseTagNames = "lowerCaseTags" in this._options ? !!this._options.lowerCaseTags : !this._options.xmlMode, this._lowerCaseAttributeNames = "lowerCaseAttributeNames" in this._options ? !!this._options.lowerCaseAttributeNames : !this._options.xmlMode, this._options.Tokenizer && (r = this._options.Tokenizer), this._tokenizer = new r(this._options, this), this._cbs.onparserinit && this._cbs.onparserinit(this);}n(40)(c, n(161).EventEmitter), c.prototype._updatePosition = function (e) {null === this.endIndex ? this._tokenizer._sectionStart <= e ? this.startIndex = 0 : this.startIndex = this._tokenizer._sectionStart - e : this.startIndex = this.endIndex + 1, this.endIndex = this._tokenizer.getAbsoluteIndex();}, c.prototype.ontext = function (e) {this._updatePosition(1), this.endIndex--, this._cbs.ontext && this._cbs.ontext(e);}, c.prototype.onopentagname = function (e) {if (this._lowerCaseTagNames && (e = e.toLowerCase()), this._tagname = e, !this._options.xmlMode && e in a) for (var t; ((t = this._stack[this._stack.length - 1]) in a[e]); this.onclosetag(t));!this._options.xmlMode && e in o || (this._stack.push(e), e in s ? this._foreignContext.push(!0) : e in l && this._foreignContext.push(!1)), this._cbs.onopentagname && this._cbs.onopentagname(e), this._cbs.onopentag && (this._attribs = {});}, c.prototype.onopentagend = function () {this._updatePosition(1), this._attribs && (this._cbs.onopentag && this._cbs.onopentag(this._tagname, this._attribs), this._attribs = null), !this._options.xmlMode && this._cbs.onclosetag && this._tagname in o && this._cbs.onclosetag(this._tagname), this._tagname = "";}, c.prototype.onclosetag = function (e) {if (this._updatePosition(1), this._lowerCaseTagNames && (e = e.toLowerCase()), (e in s || e in l) && this._foreignContext.pop(), !this._stack.length || e in o && !this._options.xmlMode) this._options.xmlMode || "br" !== e && "p" !== e || (this.onopentagname(e), this._closeCurrentTag());else {var t = this._stack.lastIndexOf(e);if (-1 !== t) {if (this._cbs.onclosetag) for (t = this._stack.length - t; t--;) this._cbs.onclosetag(this._stack.pop());else this._stack.length = t;} else "p" !== e || this._options.xmlMode || (this.onopentagname(e), this._closeCurrentTag());}}, c.prototype.onselfclosingtag = function () {this._options.xmlMode || this._options.recognizeSelfClosing || this._foreignContext[this._foreignContext.length - 1] ? this._closeCurrentTag() : this.onopentagend();}, c.prototype._closeCurrentTag = function () {var e = this._tagname;this.onopentagend(), this._stack[this._stack.length - 1] === e && (this._cbs.onclosetag && this._cbs.onclosetag(e), this._stack.pop());}, c.prototype.onattribname = function (e) {this._lowerCaseAttributeNames && (e = e.toLowerCase()), this._attribname = e;}, c.prototype.onattribdata = function (e) {this._attribvalue += e;}, c.prototype.onattribend = function () {this._cbs.onattribute && this._cbs.onattribute(this._attribname, this._attribvalue), this._attribs && !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname) && (this._attribs[this._attribname] = this._attribvalue), this._attribname = "", this._attribvalue = "";}, c.prototype._getInstructionName = function (e) {var t = e.search(u),n = t < 0 ? e : e.substr(0, t);return this._lowerCaseTagNames && (n = n.toLowerCase()), n;}, c.prototype.ondeclaration = function (e) {if (this._cbs.onprocessinginstruction) {var t = this._getInstructionName(e);this._cbs.onprocessinginstruction("!" + t, "!" + e);}}, c.prototype.onprocessinginstruction = function (e) {if (this._cbs.onprocessinginstruction) {var t = this._getInstructionName(e);this._cbs.onprocessinginstruction("?" + t, "?" + e);}}, c.prototype.oncomment = function (e) {this._updatePosition(4), this._cbs.oncomment && this._cbs.oncomment(e), this._cbs.oncommentend && this._cbs.oncommentend();}, c.prototype.oncdata = function (e) {this._updatePosition(1), this._options.xmlMode || this._options.recognizeCDATA ? (this._cbs.oncdatastart && this._cbs.oncdatastart(), this._cbs.ontext && this._cbs.ontext(e), this._cbs.oncdataend && this._cbs.oncdataend()) : this.oncomment("[CDATA[" + e + "]]");}, c.prototype.onerror = function (e) {this._cbs.onerror && this._cbs.onerror(e);}, c.prototype.onend = function () {if (this._cbs.onclosetag) for (var e = this._stack.length; e > 0; this._cbs.onclosetag(this._stack[--e]));this._cbs.onend && this._cbs.onend();}, c.prototype.reset = function () {this._cbs.onreset && this._cbs.onreset(), this._tokenizer.reset(), this._tagname = "", this._attribname = "", this._attribs = null, this._stack = [], this._cbs.onparserinit && this._cbs.onparserinit(this);}, c.prototype.parseComplete = function (e) {this.reset(), this.end(e);}, c.prototype.write = function (e) {this._tokenizer.write(e);}, c.prototype.end = function (e) {this._tokenizer.end(e);}, c.prototype.pause = function () {this._tokenizer.pause();}, c.prototype.resume = function () {this._tokenizer.resume();}, c.prototype.parseChunk = c.prototype.write, c.prototype.done = c.prototype.end, e.exports = c;}, function (e, t, n) {e.exports = me;var r = n(90),i = n(55),a = n(91),o = n(56),s = 0,l = s++,u = s++,c = s++,d = s++,f = s++,p = s++,h = s++,g = s++,m = s++,b = s++,v = s++,_ = s++,y = s++,S = s++,x = s++,E = s++,T = s++,w = s++,C = s++,O = s++,R = s++,k = s++,P = s++,L = s++,A = s++,I = s++,N = s++,B = s++,j = s++,G = s++,D = s++,q = s++,z = s++,M = s++,F = s++,Z = s++,W = s++,U = s++,V = s++,H = s++,K = s++,Y = s++,X = s++,$ = s++,Q = s++,J = s++,ee = s++,te = s++,ne = s++,re = s++,ie = s++,ae = s++,oe = s++,se = s++,le = s++,ue = 0,ce = ue++,de = ue++,fe = ue++;function pe(e) {return " " === e || "\n" === e || "\t" === e || "\f" === e || "\r" === e;}function he(e, t, n) {var r = e.toLowerCase();return e === r ? function (e) {e === r ? this._state = t : (this._state = n, this._index--);} : function (i) {i === r || i === e ? this._state = t : (this._state = n, this._index--);};}function ge(e, t) {var n = e.toLowerCase();return function (r) {r === n || r === e ? this._state = t : (this._state = c, this._index--);};}function me(e, t) {this._state = l, this._buffer = "", this._sectionStart = 0, this._index = 0, this._bufferOffset = 0, this._baseState = l, this._special = ce, this._cbs = t, this._running = !0, this._ended = !1, this._xmlMode = !(!e || !e.xmlMode), this._decodeEntities = !(!e || !e.decodeEntities);}me.prototype._stateText = function (e) {"<" === e ? (this._index > this._sectionStart && this._cbs.ontext(this._getSection()), this._state = u, this._sectionStart = this._index) : this._decodeEntities && this._special === ce && "&" === e && (this._index > this._sectionStart && this._cbs.ontext(this._getSection()), this._baseState = l, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateBeforeTagName = function (e) {"/" === e ? this._state = f : "<" === e ? (this._cbs.ontext(this._getSection()), this._sectionStart = this._index) : ">" === e || this._special !== ce || pe(e) ? this._state = l : "!" === e ? (this._state = x, this._sectionStart = this._index + 1) : "?" === e ? (this._state = T, this._sectionStart = this._index + 1) : (this._state = this._xmlMode || "s" !== e && "S" !== e ? c : D, this._sectionStart = this._index);}, me.prototype._stateInTagName = function (e) {("/" === e || ">" === e || pe(e)) && (this._emitToken("onopentagname"), this._state = g, this._index--);}, me.prototype._stateBeforeCloseingTagName = function (e) {pe(e) || (">" === e ? this._state = l : this._special !== ce ? "s" === e || "S" === e ? this._state = q : (this._state = l, this._index--) : (this._state = p, this._sectionStart = this._index));}, me.prototype._stateInCloseingTagName = function (e) {(">" === e || pe(e)) && (this._emitToken("onclosetag"), this._state = h, this._index--);}, me.prototype._stateAfterCloseingTagName = function (e) {">" === e && (this._state = l, this._sectionStart = this._index + 1);}, me.prototype._stateBeforeAttributeName = function (e) {">" === e ? (this._cbs.onopentagend(), this._state = l, this._sectionStart = this._index + 1) : "/" === e ? this._state = d : pe(e) || (this._state = m, this._sectionStart = this._index);}, me.prototype._stateInSelfClosingTag = function (e) {">" === e ? (this._cbs.onselfclosingtag(), this._state = l, this._sectionStart = this._index + 1) : pe(e) || (this._state = g, this._index--);}, me.prototype._stateInAttributeName = function (e) {("=" === e || "/" === e || ">" === e || pe(e)) && (this._cbs.onattribname(this._getSection()), this._sectionStart = -1, this._state = b, this._index--);}, me.prototype._stateAfterAttributeName = function (e) {"=" === e ? this._state = v : "/" === e || ">" === e ? (this._cbs.onattribend(), this._state = g, this._index--) : pe(e) || (this._cbs.onattribend(), this._state = m, this._sectionStart = this._index);}, me.prototype._stateBeforeAttributeValue = function (e) {'"' === e ? (this._state = _, this._sectionStart = this._index + 1) : "'" === e ? (this._state = y, this._sectionStart = this._index + 1) : pe(e) || (this._state = S, this._sectionStart = this._index, this._index--);}, me.prototype._stateInAttributeValueDoubleQuotes = function (e) {'"' === e ? (this._emitToken("onattribdata"), this._cbs.onattribend(), this._state = g) : this._decodeEntities && "&" === e && (this._emitToken("onattribdata"), this._baseState = this._state, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateInAttributeValueSingleQuotes = function (e) {"'" === e ? (this._emitToken("onattribdata"), this._cbs.onattribend(), this._state = g) : this._decodeEntities && "&" === e && (this._emitToken("onattribdata"), this._baseState = this._state, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateInAttributeValueNoQuotes = function (e) {pe(e) || ">" === e ? (this._emitToken("onattribdata"), this._cbs.onattribend(), this._state = g, this._index--) : this._decodeEntities && "&" === e && (this._emitToken("onattribdata"), this._baseState = this._state, this._state = ie, this._sectionStart = this._index);}, me.prototype._stateBeforeDeclaration = function (e) {this._state = "[" === e ? k : "-" === e ? w : E;}, me.prototype._stateInDeclaration = function (e) {">" === e && (this._cbs.ondeclaration(this._getSection()), this._state = l, this._sectionStart = this._index + 1);}, me.prototype._stateInProcessingInstruction = function (e) {">" === e && (this._cbs.onprocessinginstruction(this._getSection()), this._state = l, this._sectionStart = this._index + 1);}, me.prototype._stateBeforeComment = function (e) {"-" === e ? (this._state = C, this._sectionStart = this._index + 1) : this._state = E;}, me.prototype._stateInComment = function (e) {"-" === e && (this._state = O);}, me.prototype._stateAfterComment1 = function (e) {this._state = "-" === e ? R : C;}, me.prototype._stateAfterComment2 = function (e) {">" === e ? (this._cbs.oncomment(this._buffer.substring(this._sectionStart, this._index - 2)), this._state = l, this._sectionStart = this._index + 1) : "-" !== e && (this._state = C);}, me.prototype._stateBeforeCdata1 = he("C", P, E), me.prototype._stateBeforeCdata2 = he("D", L, E), me.prototype._stateBeforeCdata3 = he("A", A, E), me.prototype._stateBeforeCdata4 = he("T", I, E), me.prototype._stateBeforeCdata5 = he("A", N, E), me.prototype._stateBeforeCdata6 = function (e) {"[" === e ? (this._state = B, this._sectionStart = this._index + 1) : (this._state = E, this._index--);}, me.prototype._stateInCdata = function (e) {"]" === e && (this._state = j);}, me.prototype._stateAfterCdata1 = function (e) {this._state = "]" === e ? G : B;}, me.prototype._stateAfterCdata2 = function (e) {">" === e ? (this._cbs.oncdata(this._buffer.substring(this._sectionStart, this._index - 2)), this._state = l, this._sectionStart = this._index + 1) : "]" !== e && (this._state = B);}, me.prototype._stateBeforeSpecial = function (e) {"c" === e || "C" === e ? this._state = z : "t" === e || "T" === e ? this._state = X : (this._state = c, this._index--);}, me.prototype._stateBeforeSpecialEnd = function (e) {this._special !== de || "c" !== e && "C" !== e ? this._special !== fe || "t" !== e && "T" !== e ? this._state = l : this._state = ee : this._state = U;}, me.prototype._stateBeforeScript1 = ge("R", M), me.prototype._stateBeforeScript2 = ge("I", F), me.prototype._stateBeforeScript3 = ge("P", Z), me.prototype._stateBeforeScript4 = ge("T", W), me.prototype._stateBeforeScript5 = function (e) {("/" === e || ">" === e || pe(e)) && (this._special = de), this._state = c, this._index--;}, me.prototype._stateAfterScript1 = he("R", V, l), me.prototype._stateAfterScript2 = he("I", H, l), me.prototype._stateAfterScript3 = he("P", K, l), me.prototype._stateAfterScript4 = he("T", Y, l), me.prototype._stateAfterScript5 = function (e) {">" === e || pe(e) ? (this._special = ce, this._state = p, this._sectionStart = this._index - 6, this._index--) : this._state = l;}, me.prototype._stateBeforeStyle1 = ge("Y", $), me.prototype._stateBeforeStyle2 = ge("L", Q), me.prototype._stateBeforeStyle3 = ge("E", J), me.prototype._stateBeforeStyle4 = function (e) {("/" === e || ">" === e || pe(e)) && (this._special = fe), this._state = c, this._index--;}, me.prototype._stateAfterStyle1 = he("Y", te, l), me.prototype._stateAfterStyle2 = he("L", ne, l), me.prototype._stateAfterStyle3 = he("E", re, l), me.prototype._stateAfterStyle4 = function (e) {">" === e || pe(e) ? (this._special = ce, this._state = p, this._sectionStart = this._index - 5, this._index--) : this._state = l;}, me.prototype._stateBeforeEntity = he("#", ae, oe), me.prototype._stateBeforeNumericEntity = he("X", le, se), me.prototype._parseNamedEntityStrict = function () {if (this._sectionStart + 1 < this._index) {var e = this._buffer.substring(this._sectionStart + 1, this._index),t = this._xmlMode ? o : i;t.hasOwnProperty(e) && (this._emitPartial(t[e]), this._sectionStart = this._index + 1);}}, me.prototype._parseLegacyEntity = function () {var e = this._sectionStart + 1,t = this._index - e;for (t > 6 && (t = 6); t >= 2;) {var n = this._buffer.substr(e, t);if (a.hasOwnProperty(n)) return this._emitPartial(a[n]), void (this._sectionStart += t + 1);t--;}}, me.prototype._stateInNamedEntity = function (e) {";" === e ? (this._parseNamedEntityStrict(), this._sectionStart + 1 < this._index && !this._xmlMode && this._parseLegacyEntity(), this._state = this._baseState) : (e < "a" || e > "z") && (e < "A" || e > "Z") && (e < "0" || e > "9") && (this._xmlMode || this._sectionStart + 1 === this._index || (this._baseState !== l ? "=" !== e && this._parseNamedEntityStrict() : this._parseLegacyEntity()), this._state = this._baseState, this._index--);}, me.prototype._decodeNumericEntity = function (e, t) {var n = this._sectionStart + e;if (n !== this._index) {var i = this._buffer.substring(n, this._index),a = parseInt(i, t);this._emitPartial(r(a)), this._sectionStart = this._index;} else this._sectionStart--;this._state = this._baseState;}, me.prototype._stateInNumericEntity = function (e) {";" === e ? (this._decodeNumericEntity(2, 10), this._sectionStart++) : (e < "0" || e > "9") && (this._xmlMode ? this._state = this._baseState : this._decodeNumericEntity(2, 10), this._index--);}, me.prototype._stateInHexEntity = function (e) {";" === e ? (this._decodeNumericEntity(3, 16), this._sectionStart++) : (e < "a" || e > "f") && (e < "A" || e > "F") && (e < "0" || e > "9") && (this._xmlMode ? this._state = this._baseState : this._decodeNumericEntity(3, 16), this._index--);}, me.prototype._cleanup = function () {this._sectionStart < 0 ? (this._buffer = "", this._bufferOffset += this._index, this._index = 0) : this._running && (this._state === l ? (this._sectionStart !== this._index && this._cbs.ontext(this._buffer.substr(this._sectionStart)), this._buffer = "", this._bufferOffset += this._index, this._index = 0) : this._sectionStart === this._index ? (this._buffer = "", this._bufferOffset += this._index, this._index = 0) : (this._buffer = this._buffer.substr(this._sectionStart), this._index -= this._sectionStart, this._bufferOffset += this._sectionStart), this._sectionStart = 0);}, me.prototype.write = function (e) {this._ended && this._cbs.onerror(Error(".write() after done!")), this._buffer += e, this._parse();}, me.prototype._parse = function () {for (; this._index < this._buffer.length && this._running;) {var e = this._buffer.charAt(this._index);this._state === l ? this._stateText(e) : this._state === u ? this._stateBeforeTagName(e) : this._state === c ? this._stateInTagName(e) : this._state === f ? this._stateBeforeCloseingTagName(e) : this._state === p ? this._stateInCloseingTagName(e) : this._state === h ? this._stateAfterCloseingTagName(e) : this._state === d ? this._stateInSelfClosingTag(e) : this._state === g ? this._stateBeforeAttributeName(e) : this._state === m ? this._stateInAttributeName(e) : this._state === b ? this._stateAfterAttributeName(e) : this._state === v ? this._stateBeforeAttributeValue(e) : this._state === _ ? this._stateInAttributeValueDoubleQuotes(e) : this._state === y ? this._stateInAttributeValueSingleQuotes(e) : this._state === S ? this._stateInAttributeValueNoQuotes(e) : this._state === x ? this._stateBeforeDeclaration(e) : this._state === E ? this._stateInDeclaration(e) : this._state === T ? this._stateInProcessingInstruction(e) : this._state === w ? this._stateBeforeComment(e) : this._state === C ? this._stateInComment(e) : this._state === O ? this._stateAfterComment1(e) : this._state === R ? this._stateAfterComment2(e) : this._state === k ? this._stateBeforeCdata1(e) : this._state === P ? this._stateBeforeCdata2(e) : this._state === L ? this._stateBeforeCdata3(e) : this._state === A ? this._stateBeforeCdata4(e) : this._state === I ? this._stateBeforeCdata5(e) : this._state === N ? this._stateBeforeCdata6(e) : this._state === B ? this._stateInCdata(e) : this._state === j ? this._stateAfterCdata1(e) : this._state === G ? this._stateAfterCdata2(e) : this._state === D ? this._stateBeforeSpecial(e) : this._state === q ? this._stateBeforeSpecialEnd(e) : this._state === z ? this._stateBeforeScript1(e) : this._state === M ? this._stateBeforeScript2(e) : this._state === F ? this._stateBeforeScript3(e) : this._state === Z ? this._stateBeforeScript4(e) : this._state === W ? this._stateBeforeScript5(e) : this._state === U ? this._stateAfterScript1(e) : this._state === V ? this._stateAfterScript2(e) : this._state === H ? this._stateAfterScript3(e) : this._state === K ? this._stateAfterScript4(e) : this._state === Y ? this._stateAfterScript5(e) : this._state === X ? this._stateBeforeStyle1(e) : this._state === $ ? this._stateBeforeStyle2(e) : this._state === Q ? this._stateBeforeStyle3(e) : this._state === J ? this._stateBeforeStyle4(e) : this._state === ee ? this._stateAfterStyle1(e) : this._state === te ? this._stateAfterStyle2(e) : this._state === ne ? this._stateAfterStyle3(e) : this._state === re ? this._stateAfterStyle4(e) : this._state === ie ? this._stateBeforeEntity(e) : this._state === ae ? this._stateBeforeNumericEntity(e) : this._state === oe ? this._stateInNamedEntity(e) : this._state === se ? this._stateInNumericEntity(e) : this._state === le ? this._stateInHexEntity(e) : this._cbs.onerror(Error("unknown _state"), this._state), this._index++;}this._cleanup();}, me.prototype.pause = function () {this._running = !1;}, me.prototype.resume = function () {this._running = !0, this._index < this._buffer.length && this._parse(), this._ended && this._finish();}, me.prototype.end = function (e) {this._ended && this._cbs.onerror(Error(".end() after done!")), e && this.write(e), this._ended = !0, this._running && this._finish();}, me.prototype._finish = function () {this._sectionStart < this._index && this._handleTrailingData(), this._cbs.onend();}, me.prototype._handleTrailingData = function () {var e = this._buffer.substr(this._sectionStart);this._state === B || this._state === j || this._state === G ? this._cbs.oncdata(e) : this._state === C || this._state === O || this._state === R ? this._cbs.oncomment(e) : this._state !== oe || this._xmlMode ? this._state !== se || this._xmlMode ? this._state !== le || this._xmlMode ? this._state !== c && this._state !== g && this._state !== v && this._state !== b && this._state !== m && this._state !== y && this._state !== _ && this._state !== S && this._state !== p && this._cbs.ontext(e) : (this._decodeNumericEntity(3, 16), this._sectionStart < this._index && (this._state = this._baseState, this._handleTrailingData())) : (this._decodeNumericEntity(2, 10), this._sectionStart < this._index && (this._state = this._baseState, this._handleTrailingData())) : (this._parseLegacyEntity(), this._sectionStart < this._index && (this._state = this._baseState, this._handleTrailingData()));}, me.prototype.reset = function () {me.call(this, { xmlMode: this._xmlMode, decodeEntities: this._decodeEntities }, this._cbs);}, me.prototype.getAbsoluteIndex = function () {return this._bufferOffset + this._index;}, me.prototype._getSection = function () {return this._buffer.substring(this._sectionStart, this._index);}, me.prototype._emitToken = function (e) {this._cbs[e](this._getSection()), this._sectionStart = -1;}, me.prototype._emitPartial = function (e) {this._baseState !== l ? this._cbs.onattribdata(e) : this._cbs.ontext(e);};}, function (e, t, n) {var r = n(160);e.exports = function (e) {if (e >= 55296 && e <= 57343 || e > 1114111) return "�";e in r && (e = r[e]);var t = "";e > 65535 && (e -= 65536, t += String.fromCharCode(e >>> 10 & 1023 | 55296), e = 56320 | 1023 & e);return t += String.fromCharCode(e);};}, function (e) {e.exports = JSON.parse('{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"­","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}');}, function (e, t, n) {var r = n(26),i = /\s+/g,a = n(93),o = n(162);function s(e, t, n) {"object" == typeof e ? (n = t, t = e, e = null) : "function" == typeof t && (n = t, t = l), this._callback = e, this._options = t || l, this._elementCB = n, this.dom = [], this._done = !1, this._tagStack = [], this._parser = this._parser || null;}var l = { normalizeWhitespace: !1, withStartIndices: !1 };s.prototype.onparserinit = function (e) {this._parser = e;}, s.prototype.onreset = function () {s.call(this, this._callback, this._options, this._elementCB);}, s.prototype.onend = function () {this._done || (this._done = !0, this._parser = null, this._handleCallback(null));}, s.prototype._handleCallback = s.prototype.onerror = function (e) {if ("function" == typeof this._callback) this._callback(e, this.dom);else if (e) throw e;}, s.prototype.onclosetag = function () {var e = this._tagStack.pop();this._elementCB && this._elementCB(e);}, s.prototype._addDomElement = function (e) {var t = this._tagStack[this._tagStack.length - 1],n = t ? t.children : this.dom,r = n[n.length - 1];e.next = null, this._options.withStartIndices && (e.startIndex = this._parser.startIndex), this._options.withDomLvl1 && (e.__proto__ = "tag" === e.type ? o : a), r ? (e.prev = r, r.next = e) : e.prev = null, n.push(e), e.parent = t || null;}, s.prototype.onopentag = function (e, t) {var n = { type: "script" === e ? r.Script : "style" === e ? r.Style : r.Tag, name: e, attribs: t, children: [] };this._addDomElement(n), this._tagStack.push(n);}, s.prototype.ontext = function (e) {var t,n = this._options.normalizeWhitespace || this._options.ignoreWhitespace;!this._tagStack.length && this.dom.length && (t = this.dom[this.dom.length - 1]).type === r.Text || this._tagStack.length && (t = this._tagStack[this._tagStack.length - 1]) && (t = t.children[t.children.length - 1]) && t.type === r.Text ? n ? t.data = (t.data + e).replace(i, " ") : t.data += e : (n && (e = e.replace(i, " ")), this._addDomElement({ data: e, type: r.Text }));}, s.prototype.oncomment = function (e) {var t = this._tagStack[this._tagStack.length - 1];if (t && t.type === r.Comment) t.data += e;else {var n = { data: e, type: r.Comment };this._addDomElement(n), this._tagStack.push(n);}}, s.prototype.oncdatastart = function () {var e = { children: [{ data: "", type: r.Text }], type: r.CDATA };this._addDomElement(e), this._tagStack.push(e);}, s.prototype.oncommentend = s.prototype.oncdataend = function () {this._tagStack.pop();}, s.prototype.onprocessinginstruction = function (e, t) {this._addDomElement({ name: e, data: t, type: r.Directive });}, e.exports = s;}, function (e, t) {var n = e.exports = { get firstChild() {var e = this.children;return e && e[0] || null;}, get lastChild() {var e = this.children;return e && e[e.length - 1] || null;}, get nodeType() {return i[this.type] || i.element;} },r = { tagName: "name", childNodes: "children", parentNode: "parent", previousSibling: "prev", nextSibling: "next", nodeValue: "data" },i = { element: 1, text: 3, cdata: 4, comment: 8 };Object.keys(r).forEach(function (e) {var t = r[e];Object.defineProperty(n, e, { get: function () {return this[t] || null;}, set: function (e) {return this[t] = e, e;} });});}, function (e, t, n) {var r = e.exports;[n(164), n(169), n(170), n(171), n(172), n(173)].forEach(function (e) {Object.keys(e).forEach(function (t) {r[t] = e[t].bind(r);});});}, function (e, t, n) {e.exports = s;var r = n(88),i = n(175).Writable,a = n(176).StringDecoder,o = n(96).Buffer;function s(e, t) {var n = this._parser = new r(e, t),o = this._decoder = new a();i.call(this, { decodeStrings: !1 }), this.once("finish", function () {n.end(o.end());});}n(40)(s, i), s.prototype._write = function (e, t, n) {e instanceof o && (e = this._decoder.write(e)), this._parser.write(e), n();};}, function (e, t, n) {"use strict";(function (e) {
    /*!
     * The buffer module from node.js, for the browser.
     *
     * @author   Feross Aboukhadijeh <http://feross.org>
     * @license  MIT
     */
    var r = n(178),i = n(179),a = n(180);function o() {return l.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;}function s(e, t) {if (o() < t) throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = l.prototype : (null === e && (e = new l(t)), e.length = t), e;}function l(e, t, n) {if (!(l.TYPED_ARRAY_SUPPORT || this instanceof l)) return new l(e, t, n);if ("number" == typeof e) {if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string");return d(this, e);}return u(this, e, t, n);}function u(e, t, n, r) {if ("number" == typeof t) throw new TypeError('"value" argument must not be a number');return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function (e, t, n, r) {if (t.byteLength, n < 0 || t.byteLength < n) throw new RangeError("'offset' is out of bounds");if (t.byteLength < n + (r || 0)) throw new RangeError("'length' is out of bounds");t = void 0 === n && void 0 === r ? new Uint8Array(t) : void 0 === r ? new Uint8Array(t, n) : new Uint8Array(t, n, r);l.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = l.prototype : e = f(e, t);return e;}(e, t, n, r) : "string" == typeof t ? function (e, t, n) {"string" == typeof n && "" !== n || (n = "utf8");if (!l.isEncoding(n)) throw new TypeError('"encoding" must be a valid string encoding');var r = 0 | h(t, n),i = (e = s(e, r)).write(t, n);i !== r && (e = e.slice(0, i));return e;}(e, t, n) : function (e, t) {if (l.isBuffer(t)) {var n = 0 | p(t.length);return 0 === (e = s(e, n)).length || t.copy(e, 0, 0, n), e;}if (t) {if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length" in t) return "number" != typeof t.length || (r = t.length) != r ? s(e, 0) : f(e, t);if ("Buffer" === t.type && a(t.data)) return f(e, t.data);}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.");}(e, t);}function c(e) {if ("number" != typeof e) throw new TypeError('"size" argument must be a number');if (e < 0) throw new RangeError('"size" argument must not be negative');}function d(e, t) {if (c(t), e = s(e, t < 0 ? 0 : 0 | p(t)), !l.TYPED_ARRAY_SUPPORT) for (var n = 0; n < t; ++n) e[n] = 0;return e;}function f(e, t) {var n = t.length < 0 ? 0 : 0 | p(t.length);e = s(e, n);for (var r = 0; r < n; r += 1) e[r] = 255 & t[r];return e;}function p(e) {if (e >= o()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + o().toString(16) + " bytes");return 0 | e;}function h(e, t) {if (l.isBuffer(e)) return e.length;if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;"string" != typeof e && (e = "" + e);var n = e.length;if (0 === n) return 0;for (var r = !1;;) switch (t) {case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":case void 0:return z(e).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2 * n;case "hex":return n >>> 1;case "base64":return M(e).length;default:if (r) return z(e).length;t = ("" + t).toLowerCase(), r = !0;}}function g(e, t, n) {var r = !1;if ((void 0 === t || t < 0) && (t = 0), t > this.length) return "";if ((void 0 === n || n > this.length) && (n = this.length), n <= 0) return "";if ((n >>>= 0) <= (t >>>= 0)) return "";for (e || (e = "utf8");;) switch (e) {case "hex":return k(this, t, n);case "utf8":case "utf-8":return C(this, t, n);case "ascii":return O(this, t, n);case "latin1":case "binary":return R(this, t, n);case "base64":return w(this, t, n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this, t, n);default:if (r) throw new TypeError("Unknown encoding: " + e);e = (e + "").toLowerCase(), r = !0;}}function m(e, t, n) {var r = e[t];e[t] = e[n], e[n] = r;}function b(e, t, n, r, i) {if (0 === e.length) return -1;if ("string" == typeof n ? (r = n, n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n = -2147483648), n = +n, isNaN(n) && (n = i ? 0 : e.length - 1), n < 0 && (n = e.length + n), n >= e.length) {if (i) return -1;n = e.length - 1;} else if (n < 0) {if (!i) return -1;n = 0;}if ("string" == typeof t && (t = l.from(t, r)), l.isBuffer(t)) return 0 === t.length ? -1 : v(e, t, n, r, i);if ("number" == typeof t) return t &= 255, l.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : v(e, [t], n, r, i);throw new TypeError("val must be string, number or Buffer");}function v(e, t, n, r, i) {var a,o = 1,s = e.length,l = t.length;if (void 0 !== r && ("ucs2" === (r = String(r).toLowerCase()) || "ucs-2" === r || "utf16le" === r || "utf-16le" === r)) {if (e.length < 2 || t.length < 2) return -1;o = 2, s /= 2, l /= 2, n /= 2;}function u(e, t) {return 1 === o ? e[t] : e.readUInt16BE(t * o);}if (i) {var c = -1;for (a = n; a < s; a++) if (u(e, a) === u(t, -1 === c ? 0 : a - c)) {if (-1 === c && (c = a), a - c + 1 === l) return c * o;} else -1 !== c && (a -= a - c), c = -1;} else for (n + l > s && (n = s - l), a = n; a >= 0; a--) {for (var d = !0, f = 0; f < l; f++) if (u(e, a + f) !== u(t, f)) {d = !1;break;}if (d) return a;}return -1;}function _(e, t, n, r) {n = Number(n) || 0;var i = e.length - n;r ? (r = Number(r)) > i && (r = i) : r = i;var a = t.length;if (a % 2 != 0) throw new TypeError("Invalid hex string");r > a / 2 && (r = a / 2);for (var o = 0; o < r; ++o) {var s = parseInt(t.substr(2 * o, 2), 16);if (isNaN(s)) return o;e[n + o] = s;}return o;}function y(e, t, n, r) {return F(z(t, e.length - n), e, n, r);}function S(e, t, n, r) {return F(function (e) {for (var t = [], n = 0; n < e.length; ++n) t.push(255 & e.charCodeAt(n));return t;}(t), e, n, r);}function x(e, t, n, r) {return S(e, t, n, r);}function E(e, t, n, r) {return F(M(t), e, n, r);}function T(e, t, n, r) {return F(function (e, t) {for (var n, r, i, a = [], o = 0; o < e.length && !((t -= 2) < 0); ++o) n = e.charCodeAt(o), r = n >> 8, i = n % 256, a.push(i), a.push(r);return a;}(t, e.length - n), e, n, r);}function w(e, t, n) {return 0 === t && n === e.length ? r.fromByteArray(e) : r.fromByteArray(e.slice(t, n));}function C(e, t, n) {n = Math.min(e.length, n);for (var r = [], i = t; i < n;) {var a,o,s,l,u = e[i],c = null,d = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1;if (i + d <= n) switch (d) {case 1:u < 128 && (c = u);break;case 2:128 == (192 & (a = e[i + 1])) && (l = (31 & u) << 6 | 63 & a) > 127 && (c = l);break;case 3:a = e[i + 1], o = e[i + 2], 128 == (192 & a) && 128 == (192 & o) && (l = (15 & u) << 12 | (63 & a) << 6 | 63 & o) > 2047 && (l < 55296 || l > 57343) && (c = l);break;case 4:a = e[i + 1], o = e[i + 2], s = e[i + 3], 128 == (192 & a) && 128 == (192 & o) && 128 == (192 & s) && (l = (15 & u) << 18 | (63 & a) << 12 | (63 & o) << 6 | 63 & s) > 65535 && l < 1114112 && (c = l);}null === c ? (c = 65533, d = 1) : c > 65535 && (c -= 65536, r.push(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), r.push(c), i += d;}return function (e) {var t = e.length;if (t <= 4096) return String.fromCharCode.apply(String, e);var n = "",r = 0;for (; r < t;) n += String.fromCharCode.apply(String, e.slice(r, r += 4096));return n;}(r);}t.Buffer = l, t.SlowBuffer = function (e) {+e != e && (e = 0);return l.alloc(+e);}, t.INSPECT_MAX_BYTES = 50, l.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function () {try {var e = new Uint8Array(1);return e.__proto__ = { __proto__: Uint8Array.prototype, foo: function () {return 42;} }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength;} catch (e) {return !1;}}(), t.kMaxLength = o(), l.poolSize = 8192, l._augment = function (e) {return e.__proto__ = l.prototype, e;}, l.from = function (e, t, n) {return u(null, e, t, n);}, l.TYPED_ARRAY_SUPPORT && (l.prototype.__proto__ = Uint8Array.prototype, l.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && l[Symbol.species] === l && Object.defineProperty(l, Symbol.species, { value: null, configurable: !0 })), l.alloc = function (e, t, n) {return function (e, t, n, r) {return c(t), t <= 0 ? s(e, t) : void 0 !== n ? "string" == typeof r ? s(e, t).fill(n, r) : s(e, t).fill(n) : s(e, t);}(null, e, t, n);}, l.allocUnsafe = function (e) {return d(null, e);}, l.allocUnsafeSlow = function (e) {return d(null, e);}, l.isBuffer = function (e) {return !(null == e || !e._isBuffer);}, l.compare = function (e, t) {if (!l.isBuffer(e) || !l.isBuffer(t)) throw new TypeError("Arguments must be Buffers");if (e === t) return 0;for (var n = e.length, r = t.length, i = 0, a = Math.min(n, r); i < a; ++i) if (e[i] !== t[i]) {n = e[i], r = t[i];break;}return n < r ? -1 : r < n ? 1 : 0;}, l.isEncoding = function (e) {switch (String(e).toLowerCase()) {case "hex":case "utf8":case "utf-8":case "ascii":case "latin1":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return !0;default:return !1;}}, l.concat = function (e, t) {if (!a(e)) throw new TypeError('"list" argument must be an Array of Buffers');if (0 === e.length) return l.alloc(0);var n;if (void 0 === t) for (t = 0, n = 0; n < e.length; ++n) t += e[n].length;var r = l.allocUnsafe(t),i = 0;for (n = 0; n < e.length; ++n) {var o = e[n];if (!l.isBuffer(o)) throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r, i), i += o.length;}return r;}, l.byteLength = h, l.prototype._isBuffer = !0, l.prototype.swap16 = function () {var e = this.length;if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits");for (var t = 0; t < e; t += 2) m(this, t, t + 1);return this;}, l.prototype.swap32 = function () {var e = this.length;if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits");for (var t = 0; t < e; t += 4) m(this, t, t + 3), m(this, t + 1, t + 2);return this;}, l.prototype.swap64 = function () {var e = this.length;if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits");for (var t = 0; t < e; t += 8) m(this, t, t + 7), m(this, t + 1, t + 6), m(this, t + 2, t + 5), m(this, t + 3, t + 4);return this;}, l.prototype.toString = function () {var e = 0 | this.length;return 0 === e ? "" : 0 === arguments.length ? C(this, 0, e) : g.apply(this, arguments);}, l.prototype.equals = function (e) {if (!l.isBuffer(e)) throw new TypeError("Argument must be a Buffer");return this === e || 0 === l.compare(this, e);}, l.prototype.inspect = function () {var e = "",n = t.INSPECT_MAX_BYTES;return this.length > 0 && (e = this.toString("hex", 0, n).match(/.{2}/g).join(" "), this.length > n && (e += " ... ")), "<Buffer " + e + ">";}, l.prototype.compare = function (e, t, n, r, i) {if (!l.isBuffer(e)) throw new TypeError("Argument must be a Buffer");if (void 0 === t && (t = 0), void 0 === n && (n = e ? e.length : 0), void 0 === r && (r = 0), void 0 === i && (i = this.length), t < 0 || n > e.length || r < 0 || i > this.length) throw new RangeError("out of range index");if (r >= i && t >= n) return 0;if (r >= i) return -1;if (t >= n) return 1;if (this === e) return 0;for (var a = (i >>>= 0) - (r >>>= 0), o = (n >>>= 0) - (t >>>= 0), s = Math.min(a, o), u = this.slice(r, i), c = e.slice(t, n), d = 0; d < s; ++d) if (u[d] !== c[d]) {a = u[d], o = c[d];break;}return a < o ? -1 : o < a ? 1 : 0;}, l.prototype.includes = function (e, t, n) {return -1 !== this.indexOf(e, t, n);}, l.prototype.indexOf = function (e, t, n) {return b(this, e, t, n, !0);}, l.prototype.lastIndexOf = function (e, t, n) {return b(this, e, t, n, !1);}, l.prototype.write = function (e, t, n, r) {if (void 0 === t) r = "utf8", n = this.length, t = 0;else if (void 0 === n && "string" == typeof t) r = t, n = this.length, t = 0;else {if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t |= 0, isFinite(n) ? (n |= 0, void 0 === r && (r = "utf8")) : (r = n, n = void 0);}var i = this.length - t;if ((void 0 === n || n > i) && (n = i), e.length > 0 && (n < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds");r || (r = "utf8");for (var a = !1;;) switch (r) {case "hex":return _(this, e, t, n);case "utf8":case "utf-8":return y(this, e, t, n);case "ascii":return S(this, e, t, n);case "latin1":case "binary":return x(this, e, t, n);case "base64":return E(this, e, t, n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return T(this, e, t, n);default:if (a) throw new TypeError("Unknown encoding: " + r);r = ("" + r).toLowerCase(), a = !0;}}, l.prototype.toJSON = function () {return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) };};function O(e, t, n) {var r = "";n = Math.min(e.length, n);for (var i = t; i < n; ++i) r += String.fromCharCode(127 & e[i]);return r;}function R(e, t, n) {var r = "";n = Math.min(e.length, n);for (var i = t; i < n; ++i) r += String.fromCharCode(e[i]);return r;}function k(e, t, n) {var r = e.length;(!t || t < 0) && (t = 0), (!n || n < 0 || n > r) && (n = r);for (var i = "", a = t; a < n; ++a) i += q(e[a]);return i;}function P(e, t, n) {for (var r = e.slice(t, n), i = "", a = 0; a < r.length; a += 2) i += String.fromCharCode(r[a] + 256 * r[a + 1]);return i;}function L(e, t, n) {if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint");if (e + t > n) throw new RangeError("Trying to access beyond buffer length");}function A(e, t, n, r, i, a) {if (!l.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');if (t > i || t < a) throw new RangeError('"value" argument is out of bounds');if (n + r > e.length) throw new RangeError("Index out of range");}function I(e, t, n, r) {t < 0 && (t = 65535 + t + 1);for (var i = 0, a = Math.min(e.length - n, 2); i < a; ++i) e[n + i] = (t & 255 << 8 * (r ? i : 1 - i)) >>> 8 * (r ? i : 1 - i);}function N(e, t, n, r) {t < 0 && (t = 4294967295 + t + 1);for (var i = 0, a = Math.min(e.length - n, 4); i < a; ++i) e[n + i] = t >>> 8 * (r ? i : 3 - i) & 255;}function B(e, t, n, r, i, a) {if (n + r > e.length) throw new RangeError("Index out of range");if (n < 0) throw new RangeError("Index out of range");}function j(e, t, n, r, a) {return a || B(e, 0, n, 4), i.write(e, t, n, r, 23, 4), n + 4;}function G(e, t, n, r, a) {return a || B(e, 0, n, 8), i.write(e, t, n, r, 52, 8), n + 8;}l.prototype.slice = function (e, t) {var n,r = this.length;if ((e = ~~e) < 0 ? (e += r) < 0 && (e = 0) : e > r && (e = r), (t = void 0 === t ? r : ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), t < e && (t = e), l.TYPED_ARRAY_SUPPORT) (n = this.subarray(e, t)).__proto__ = l.prototype;else {var i = t - e;n = new l(i, void 0);for (var a = 0; a < i; ++a) n[a] = this[a + e];}return n;}, l.prototype.readUIntLE = function (e, t, n) {e |= 0, t |= 0, n || L(e, t, this.length);for (var r = this[e], i = 1, a = 0; ++a < t && (i *= 256);) r += this[e + a] * i;return r;}, l.prototype.readUIntBE = function (e, t, n) {e |= 0, t |= 0, n || L(e, t, this.length);for (var r = this[e + --t], i = 1; t > 0 && (i *= 256);) r += this[e + --t] * i;return r;}, l.prototype.readUInt8 = function (e, t) {return t || L(e, 1, this.length), this[e];}, l.prototype.readUInt16LE = function (e, t) {return t || L(e, 2, this.length), this[e] | this[e + 1] << 8;}, l.prototype.readUInt16BE = function (e, t) {return t || L(e, 2, this.length), this[e] << 8 | this[e + 1];}, l.prototype.readUInt32LE = function (e, t) {return t || L(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3];}, l.prototype.readUInt32BE = function (e, t) {return t || L(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]);}, l.prototype.readIntLE = function (e, t, n) {e |= 0, t |= 0, n || L(e, t, this.length);for (var r = this[e], i = 1, a = 0; ++a < t && (i *= 256);) r += this[e + a] * i;return r >= (i *= 128) && (r -= Math.pow(2, 8 * t)), r;}, l.prototype.readIntBE = function (e, t, n) {e |= 0, t |= 0, n || L(e, t, this.length);for (var r = t, i = 1, a = this[e + --r]; r > 0 && (i *= 256);) a += this[e + --r] * i;return a >= (i *= 128) && (a -= Math.pow(2, 8 * t)), a;}, l.prototype.readInt8 = function (e, t) {return t || L(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];}, l.prototype.readInt16LE = function (e, t) {t || L(e, 2, this.length);var n = this[e] | this[e + 1] << 8;return 32768 & n ? 4294901760 | n : n;}, l.prototype.readInt16BE = function (e, t) {t || L(e, 2, this.length);var n = this[e + 1] | this[e] << 8;return 32768 & n ? 4294901760 | n : n;}, l.prototype.readInt32LE = function (e, t) {return t || L(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24;}, l.prototype.readInt32BE = function (e, t) {return t || L(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3];}, l.prototype.readFloatLE = function (e, t) {return t || L(e, 4, this.length), i.read(this, e, !0, 23, 4);}, l.prototype.readFloatBE = function (e, t) {return t || L(e, 4, this.length), i.read(this, e, !1, 23, 4);}, l.prototype.readDoubleLE = function (e, t) {return t || L(e, 8, this.length), i.read(this, e, !0, 52, 8);}, l.prototype.readDoubleBE = function (e, t) {return t || L(e, 8, this.length), i.read(this, e, !1, 52, 8);}, l.prototype.writeUIntLE = function (e, t, n, r) {(e = +e, t |= 0, n |= 0, r) || A(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);var i = 1,a = 0;for (this[t] = 255 & e; ++a < n && (i *= 256);) this[t + a] = e / i & 255;return t + n;}, l.prototype.writeUIntBE = function (e, t, n, r) {(e = +e, t |= 0, n |= 0, r) || A(this, e, t, n, Math.pow(2, 8 * n) - 1, 0);var i = n - 1,a = 1;for (this[t + i] = 255 & e; --i >= 0 && (a *= 256);) this[t + i] = e / a & 255;return t + n;}, l.prototype.writeUInt8 = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 1, 255, 0), l.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1;}, l.prototype.writeUInt16LE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 2, 65535, 0), l.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : I(this, e, t, !0), t + 2;}, l.prototype.writeUInt16BE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 2, 65535, 0), l.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : I(this, e, t, !1), t + 2;}, l.prototype.writeUInt32LE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 4, 4294967295, 0), l.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : N(this, e, t, !0), t + 4;}, l.prototype.writeUInt32BE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 4, 4294967295, 0), l.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : N(this, e, t, !1), t + 4;}, l.prototype.writeIntLE = function (e, t, n, r) {if (e = +e, t |= 0, !r) {var i = Math.pow(2, 8 * n - 1);A(this, e, t, n, i - 1, -i);}var a = 0,o = 1,s = 0;for (this[t] = 255 & e; ++a < n && (o *= 256);) e < 0 && 0 === s && 0 !== this[t + a - 1] && (s = 1), this[t + a] = (e / o >> 0) - s & 255;return t + n;}, l.prototype.writeIntBE = function (e, t, n, r) {if (e = +e, t |= 0, !r) {var i = Math.pow(2, 8 * n - 1);A(this, e, t, n, i - 1, -i);}var a = n - 1,o = 1,s = 0;for (this[t + a] = 255 & e; --a >= 0 && (o *= 256);) e < 0 && 0 === s && 0 !== this[t + a + 1] && (s = 1), this[t + a] = (e / o >> 0) - s & 255;return t + n;}, l.prototype.writeInt8 = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 1, 127, -128), l.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1;}, l.prototype.writeInt16LE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 2, 32767, -32768), l.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : I(this, e, t, !0), t + 2;}, l.prototype.writeInt16BE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 2, 32767, -32768), l.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : I(this, e, t, !1), t + 2;}, l.prototype.writeInt32LE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 4, 2147483647, -2147483648), l.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : N(this, e, t, !0), t + 4;}, l.prototype.writeInt32BE = function (e, t, n) {return e = +e, t |= 0, n || A(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), l.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : N(this, e, t, !1), t + 4;}, l.prototype.writeFloatLE = function (e, t, n) {return j(this, e, t, !0, n);}, l.prototype.writeFloatBE = function (e, t, n) {return j(this, e, t, !1, n);}, l.prototype.writeDoubleLE = function (e, t, n) {return G(this, e, t, !0, n);}, l.prototype.writeDoubleBE = function (e, t, n) {return G(this, e, t, !1, n);}, l.prototype.copy = function (e, t, n, r) {if (n || (n = 0), r || 0 === r || (r = this.length), t >= e.length && (t = e.length), t || (t = 0), r > 0 && r < n && (r = n), r === n) return 0;if (0 === e.length || 0 === this.length) return 0;if (t < 0) throw new RangeError("targetStart out of bounds");if (n < 0 || n >= this.length) throw new RangeError("sourceStart out of bounds");if (r < 0) throw new RangeError("sourceEnd out of bounds");r > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n);var i,a = r - n;if (this === e && n < t && t < r) for (i = a - 1; i >= 0; --i) e[i + t] = this[i + n];else if (a < 1e3 || !l.TYPED_ARRAY_SUPPORT) for (i = 0; i < a; ++i) e[i + t] = this[i + n];else Uint8Array.prototype.set.call(e, this.subarray(n, n + a), t);return a;}, l.prototype.fill = function (e, t, n, r) {if ("string" == typeof e) {if ("string" == typeof t ? (r = t, t = 0, n = this.length) : "string" == typeof n && (r = n, n = this.length), 1 === e.length) {var i = e.charCodeAt(0);i < 256 && (e = i);}if (void 0 !== r && "string" != typeof r) throw new TypeError("encoding must be a string");if ("string" == typeof r && !l.isEncoding(r)) throw new TypeError("Unknown encoding: " + r);} else "number" == typeof e && (e &= 255);if (t < 0 || this.length < t || this.length < n) throw new RangeError("Out of range index");if (n <= t) return this;var a;if (t >>>= 0, n = void 0 === n ? this.length : n >>> 0, e || (e = 0), "number" == typeof e) for (a = t; a < n; ++a) this[a] = e;else {var o = l.isBuffer(e) ? e : z(new l(e, r).toString()),s = o.length;for (a = 0; a < n - t; ++a) this[a + t] = o[a % s];}return this;};var D = /[^+\/0-9A-Za-z-_]/g;function q(e) {return e < 16 ? "0" + e.toString(16) : e.toString(16);}function z(e, t) {var n;t = t || 1 / 0;for (var r = e.length, i = null, a = [], o = 0; o < r; ++o) {if ((n = e.charCodeAt(o)) > 55295 && n < 57344) {if (!i) {if (n > 56319) {(t -= 3) > -1 && a.push(239, 191, 189);continue;}if (o + 1 === r) {(t -= 3) > -1 && a.push(239, 191, 189);continue;}i = n;continue;}if (n < 56320) {(t -= 3) > -1 && a.push(239, 191, 189), i = n;continue;}n = 65536 + (i - 55296 << 10 | n - 56320);} else i && (t -= 3) > -1 && a.push(239, 191, 189);if (i = null, n < 128) {if ((t -= 1) < 0) break;a.push(n);} else if (n < 2048) {if ((t -= 2) < 0) break;a.push(n >> 6 | 192, 63 & n | 128);} else if (n < 65536) {if ((t -= 3) < 0) break;a.push(n >> 12 | 224, n >> 6 & 63 | 128, 63 & n | 128);} else {if (!(n < 1114112)) throw new Error("Invalid code point");if ((t -= 4) < 0) break;a.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, 63 & n | 128);}}return a;}function M(e) {return r.toByteArray(function (e) {if ((e = function (e) {return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "");}(e).replace(D, "")).length < 2) return "";for (; e.length % 4 != 0;) e += "=";return e;}(e));}function F(e, t, n, r) {for (var i = 0; i < r && !(i + n >= t.length || i >= e.length); ++i) t[i + n] = e[i];return i;}}).call(this, n(86));}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;};t.default = function (e, t) {var n = r({}, (0, i.default)(e), { key: t });"string" == typeof n.style || n.style instanceof String ? n.style = (0, a.default)(n.style) : delete n.style;return n;};var i = o(n(185)),a = o(n(188));function o(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {i.hasOwnProperty(e) || (i[e] = r.test(e));return i[e];};var r = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,i = {};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {var r = t;e && (r = n ? "<" + e + ">" + t + "</" + n + ">" : "<" + e + ">" + t + "</" + e + ">");return r;};}, function (e, t) {function n(t) {return e.exports = n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;}, e.exports.__esModule = !0, e.exports.default = e.exports, n(t);}e.exports = n, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = f(n(0)),o = f(n(1)),s = n(2),l = f(n(102)),u = f(n(17)),c = f(n(13)),d = f(n(6));function f(e) {return e && e.__esModule ? e : { default: e };}var p = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.countries = e.countries, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,i = e.continueButtonDisabled,o = e.data,s = e.functions,f = e.icons,p = e.navTargets,h = e.texts,g = e.titleHtmlTextWrapping,m = e.wide,b = "number" == typeof t ? a.default.createElement(u.default, { activeStep: 0, functions: { handleScreenChange: s.handleScreenChange }, texts: h.stepper }) : null;return a.default.createElement("div", { className: "selectCountryContainer" }, b, a.default.createElement(d.default, { appId: n, preventFocus: !0, texts: { title: h.title, back: h.buttons.back }, imgSrc: f.info, navTargets: { infoPopup: p.infoPopup, back: p.back }, functions: { handlePopupChange: s.handlePopupChange, handleScreenChange: s.handleScreenChange }, htmlTextWrapping: g }), a.default.createElement(l.default, { data: o, functions: { handleSelection: s.handleSelectCountrySelection, disableContinueButton: s.disableContinueButton, handleInputValueChange: s.handleInputValueChange }, icons: f, optionData: this.countries, sortOptions: !0, texts: r({}, h.select, { dropdownPlaceholder: h.selectCountryContainer.addCountry, selectOptionsDescription: h.screenReader.selectCountryOptionsDescription }, h.screenReader), useContainsFilter: !0, wide: m }), a.default.createElement(c.default, { appId: n, continueButtonDisabled: i, texts: h.buttons, functions: { handleScreenChange: s.handleScreenChange }, navTargets: p, resetButton: !0 }));} }]), t;}(a.default.Component);p.propTypes = { appId: o.default.string.isRequired, data: s.countryDataType.isRequired, countries: s.selectCountryAssetsType.isRequired, activeStep: o.default.number, continueButtonDisabled: o.default.bool.isRequired, functions: o.default.shape({ handleScreenChange: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired, handleSelectCountrySelection: o.default.func.isRequired }).isRequired, icons: o.default.shape({ info: o.default.string.isRequired, dropdown: o.default.string.isRequired, suchlupe: o.default.string.isRequired }).isRequired, navTargets: o.default.objectOf(o.default.string).isRequired, texts: o.default.shape({ buttons: s.buttonBarTextsType, infoPopup: s.infoPopupTextsType, select: s.selectTextsType, selectedCriteria: s.selectedCriteriaTextsType, title: s.titleTextsType }).isRequired, titleHtmlTextWrapping: o.default.string, wide: o.default.bool }, p.defaultProps = { activeStep: null, titleHtmlTextWrapping: "", wide: !1 }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = d(n(0)),o = d(n(1)),s = d(n(4)),l = d(n(200)),u = d(n(212)),c = d(n(59));function d(e) {return e && e.__esModule ? e : { default: e };}function f(e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}var p = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.inputRef = {}, n.dropdownRef = {}, n.state = { suggestions: e.optionData, noSuggestions: !1, isOpen: !1, preventReopen: !1 }, n.onSuggestionSelected = n.onSuggestionSelected.bind(n), n.onInputChange = n.onInputChange.bind(n), n.onSuggestionsFetchRequested = n.onSuggestionsFetchRequested.bind(n), n.onSuggestionsClearRequested = n.onSuggestionsClearRequested.bind(n), n.getSuggestions = n.getSuggestions.bind(n), n.renderSuggestion = n.renderSuggestion.bind(n), n.toggleAutosuggest = n.toggleAutosuggest.bind(n), n.handleOpenerClick = n.handleOpenerClick.bind(n), n.renderInputComponent = n.renderInputComponent.bind(n), n.onBlur = n.onBlur.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidUpdate", value: function () {this.state.isOpen && this.inputRef.focus();} }, { key: "onInputChange", value: function (e, t) {var n = t.newValue,r = this.props,i = r.functions,a = r.popupIndex;i.handleInputValueChange(n, a);} }, { key: "onSuggestionsFetchRequested", value: function (e) {var t = e.value,n = this.getSuggestions(t),r = !("" === t.trim()) && 0 === n.length;this.setState({ suggestions: n, noSuggestions: r });} }, { key: "onSuggestionsClearRequested", value: function () {this.setState({ suggestions: [] });} }, { key: "onSuggestionSelected", value: function (e, t, n) {var r = t.suggestion || t.highlightedSuggestion;if (r) {var i = this.props,a = i.functions,o = i.popupIndex,s = !0;r && (s = !1), a.disableContinueButton && a.disableContinueButton(s), !n && this.state.isOpen && this.toggleAutosuggest(), a.handleSelection(r, o);} else !n && this.state.isOpen && this.toggleAutosuggest();} }, { key: "onBlur", value: function (e, t) {var n = e.relatedTarget;null === n && (n = document.activeElement);var r = n === this.dropdownRef || "blur" === e.type,i = n === this.dropdownRef;r ? (this.toggleAutosuggest(r ? "preventOpen" : ""), i && this.setState({ preventReopen: !0 })) : this.onSuggestionSelected(e, t, !1);} }, { key: "getSuggestions", value: function (e) {return this.props.useContainsFilter ? this._containsFilter(e) : this._startsWithFilter(e);} }, { key: "getSuggestionValue", value: function (e) {return e.text;} }, { key: "focusDropdown", value: function () {this.dropdownRef.focus();} }, { key: "handleOpenerClick", value: function () {this.state.preventReopen ? this.setState({ preventReopen: !1 }) : this.toggleAutosuggest();} }, { key: "toggleAutosuggest", value: function (e) {var t = this.props,n = t.functions,r = t.popupIndex;this.state.isOpen || "preventOpen" === e ? ("preventOpen" !== e || this.state.isOpen) && this.setState({ isOpen: !this.state.isOpen }) : (this.setState({ isOpen: !this.state.isOpen }), n.handleInputValueChange("", r));} }, { key: "_startsWithFilter", value: function (e) {var t = this.props.optionData,n = [];return t.filter(function (t) {var r = t.productTags ? [t.text].concat(f(t.productTags)) : [t.text];return n = n.concat(r), r.map(function (t) {return 0 === t.toLowerCase().indexOf(e.toLowerCase());}).indexOf(!0) > -1;});} }, { key: "_containsFilter", value: function (e) {var t = this.props.optionData,n = [];return t.filter(function (t) {var r = t.productTags ? [t.text].concat(f(t.productTags)) : [t.text];return n = n.concat(r), r.map(function (t) {return t.toLowerCase().indexOf(e.toLowerCase()) > -1;}).indexOf(!0) > -1;});} }, { key: "_renderDropdown", value: function () {var e = this,t = this.props,n = t.data,r = t.icons,i = t.texts,o = i.dropdownPlaceholder;n.text && (o = n.subText && "." !== n.subText ? n.text + " " + n.subText : n.text);var l = this.state.isOpen ? "icon open" : "icon";return a.default.createElement("button", { "aria-label": o + ": " + i.typeaheadButtonDescription, className: "dropdown", onClick: this.handleOpenerClick, ref: function (t) {e.dropdownRef = t;} }, n.imgSrc ? a.default.createElement("span", { className: "flag" }, a.default.createElement("img", { alt: "", src: n.imgSrc })) : null, a.default.createElement("span", { className: "text" }, (0, s.default)(o)), a.default.createElement("span", { className: l }, a.default.createElement("img", { alt: "", src: r.dropdown })));} }, { key: "renderSuggestion", value: function (e) {var t = this.props,n = t.data,r = t.hideOptionImage,i = t.texts,o = t.useContainsFilter;return a.default.createElement(u.default, { useContainsFilter: o, searchFieldInputValue: n.searchFieldInputValue, marked: e.text === n.text && e.subText === n.subText && e.imgSrc === n.imgSrc, hideImage: r, option: e, texts: { selected: i.selected, notSelected: i.notSelected } });} }, { key: "renderInputComponent", value: function (e) {var t = this,n = this.props.icons;return a.default.createElement("div", { className: "inputContainer" }, a.default.createElement("input", r({}, e, { ref: function (n) {e.ref && e.ref(n), t.inputRef = n;}, style: { backgroundImage: "url(" + n.suchlupe + ")" } })));} }, { key: "render", value: function () {var e = this.props,t = e.data,n = e.sortOptions,r = e.texts,i = e.wide,o = { placeholder: r.placeholder, value: t.searchFieldInputValue, onChange: this.onInputChange, onBlur: this.onBlur, type: "text" },u = this.state.isOpen ? "autosuggestContainer open" : "autosuggestContainer closed",d = i ? "typeaheadWrapper wide" : "typeaheadWrapper",f = this.state.noSuggestions ? a.default.createElement("div", { className: "noSuggestions" }, (0, s.default)(r.noResults)) : null,p = n ? this.state.suggestions.sort(function (e, t) {return (0, c.default)(e, t, "text");}) : this.state.suggestions;return a.default.createElement("div", { className: d }, this._renderDropdown(), a.default.createElement("div", { className: u }, a.default.createElement(l.default, { class: this.state.isOpen ? "open" : "closed", suggestions: p, onSuggestionsFetchRequested: this.onSuggestionsFetchRequested, onSuggestionsClearRequested: this.onSuggestionsClearRequested, onSuggestionSelected: this.onSuggestionSelected, getSuggestionValue: this.getSuggestionValue, renderSuggestion: this.renderSuggestion, inputProps: o, highlightFirstSuggestion: !0, alwaysRenderSuggestions: !0, focusInputOnSuggestionClick: !1, renderInputComponent: this.renderInputComponent }), f));} }]), t;}(a.default.Component);p.propTypes = { functions: o.default.shape({ disableContinueButton: o.default.func, handleInputValueChange: o.default.func.isRequired, handleSelection: o.default.func.isRequired }).isRequired, data: o.default.shape({ searchFieldInputValue: o.default.string.isRequired, text: o.default.string }).isRequired, hideOptionImage: o.default.bool, icons: o.default.shape({ dropdown: o.default.string.isRequired, suchlupe: o.default.string.isRequired }).isRequired, optionData: o.default.arrayOf(o.default.object).isRequired, popupIndex: o.default.number, sortOptions: o.default.bool, texts: o.default.shape({ noResults: o.default.string.isRequired, dropdownPlaceholder: o.default.string.isRequired, placeholder: o.default.string.isRequired, selected: o.default.string.isRequired, notSelected: o.default.string.isRequired }).isRequired, useContainsFilter: o.default.bool, wide: o.default.bool }, p.defaultProps = { useContainsFilter: !1, hideOptionImage: !1, popupIndex: 0, sortOptions: !1, wide: !1 }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.TOBACCO = "tobacco", t.ALCOHOL = "alcohol", t.FUEL = "fuel", t.COFFEE = "coffee";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = l(n(4)),s = n(2);function l(e) {return e && e.__esModule ? e : { default: e };}function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return u(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.data,n = e.texts,r = n.zollTax + " " + (100 * parseFloat(t.zollTax.replace(",", "."))).toFixed(1) + "%",a = n.euTax + " " + (100 * parseFloat(t.euTax.replace(",", "."))).toFixed(1) + "%";return i.default.createElement("div", { className: "taxBox" }, i.default.createElement("div", { className: "standardText bold" }, (0, o.default)(n.title)), i.default.createElement("div", { className: "standardText" }, (0, o.default)(r)), i.default.createElement("div", { className: "standardText" }, (0, o.default)(a)));} }]), t;}(i.default.Component);d.propTypes = { data: a.default.shape({ euTax: a.default.string.isRequired, zollTax: a.default.string.isRequired }).isRequired, texts: s.taxBoxTextsType.isRequired }, d.defaultProps = {}, t.default = d;}, function (e, t) {e.exports = function (e, t) {if (null == e) return {};var n = {};for (var r in e) if ({}.hasOwnProperty.call(e, r)) {if (t.includes(r)) continue;n[r] = e[r];}return n;}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";
  /*!
   * content-type
   * Copyright(c) 2015 Douglas Christopher Wilson
   * MIT Licensed
   */var r = /; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,i = /^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,a = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,o = /\\([\u000b\u0020-\u00ff])/g,s = /([\\"])/g,l = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function u(e) {var t = String(e);if (a.test(t)) return t;if (t.length > 0 && !i.test(t)) throw new TypeError("invalid parameter value");return '"' + t.replace(s, "\\$1") + '"';}function c(e) {this.parameters = Object.create(null), this.type = e;}t.format = function (e) {if (!e || "object" != typeof e) throw new TypeError("argument obj is required");var t = e.parameters,n = e.type;if (!n || !l.test(n)) throw new TypeError("invalid type");var r = n;if (t && "object" == typeof t) for (var i, o = Object.keys(t).sort(), s = 0; s < o.length; s++) {if (i = o[s], !a.test(i)) throw new TypeError("invalid parameter name");r += "; " + i + "=" + u(t[i]);}return r;}, t.parse = function (e) {if (!e) throw new TypeError("argument string is required");var t = "object" == typeof e ? function (e) {var t;"function" == typeof e.getHeader ? t = e.getHeader("content-type") : "object" == typeof e.headers && (t = e.headers && e.headers["content-type"]);if ("string" != typeof t) throw new TypeError("content-type header is missing from object");return t;}(e) : e;if ("string" != typeof t) throw new TypeError("argument string is required to be a string");var n = t.indexOf(";"),i = -1 !== n ? t.slice(0, n).trim() : t.trim();if (!l.test(i)) throw new TypeError("invalid media type");var a = new c(i.toLowerCase());if (-1 !== n) {var s, u, d;for (r.lastIndex = n; u = r.exec(t);) {if (u.index !== n) throw new TypeError("invalid parameter format");n += u[0].length, s = u[1].toLowerCase(), 34 === (d = u[2]).charCodeAt(0) && -1 !== (d = d.slice(1, -1)).indexOf("\\") && (d = d.replace(o, "$1")), a.parameters[s] = d;}if (n !== t.length) throw new TypeError("invalid parameter format");}return a;};}, function (e, t, n) {"use strict";n(109), n(134);var r = s(n(0)),i = s(n(137)),a = s(n(141)),o = s(n(244));function s(e) {return e && e.__esModule ? e : { default: e };}window.gsb_zoll_und_reise_app = function (e, t) {console.log("ZuR: Running zoll_und_reise_app"), i.default.render(r.default.createElement(o.default, null, r.default.createElement(a.default, { assets: t, id: e })), document.getElementById(e));};},, function (e, t, n) {n(62), n(69), n(75), n(124), e.exports = n(18).Map;}, function (e, t, n) {e.exports = n(43)("native-function-to-string", Function.toString);}, function (e, t, n) {var r = n(45),i = n(46);e.exports = function (e) {return function (t, n) {var a,o,s = String(i(t)),l = r(n),u = s.length;return l < 0 || l >= u ? e ? "" : void 0 : (a = s.charCodeAt(l)) < 55296 || a > 56319 || l + 1 === u || (o = s.charCodeAt(l + 1)) < 56320 || o > 57343 ? e ? s.charAt(l) : a : e ? s.slice(l, l + 2) : o - 56320 + (a - 55296 << 10) + 65536;};};}, function (e, t) {e.exports = function (e) {if ("function" != typeof e) throw TypeError(e + " is not a function!");return e;};}, function (e, t, n) {"use strict";var r = n(71),i = n(44),a = n(49),o = {};n(20)(o, n(11)("iterator"), function () {return this;}), e.exports = function (e, t, n) {e.prototype = r(o, { next: i(1, n) }), a(e, t + " Iterator");};}, function (e, t, n) {var r = n(21),i = n(22),a = n(72);e.exports = n(16) ? Object.defineProperties : function (e, t) {i(e);for (var n, o = a(t), s = o.length, l = 0; s > l;) r.f(e, n = o[l++], t[n]);return e;};}, function (e, t, n) {var r = n(23),i = n(37),a = n(117)(!1),o = n(48)("IE_PROTO");e.exports = function (e, t) {var n,s = i(e),l = 0,u = [];for (n in s) n != o && r(s, n) && u.push(n);for (; t.length > l;) r(s, n = t[l++]) && (~a(u, n) || u.push(n));return u;};}, function (e, t, n) {var r = n(64);e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) {return "String" == r(e) ? e.split("") : Object(e);};}, function (e, t, n) {var r = n(37),i = n(73),a = n(118);e.exports = function (e) {return function (t, n, o) {var s,l = r(t),u = i(l.length),c = a(o, u);if (e && n != n) {for (; u > c;) if ((s = l[c++]) != s) return !0;} else for (; u > c; c++) if ((e || c in l) && l[c] === n) return e || c || 0;return !e && -1;};};}, function (e, t, n) {var r = n(45),i = Math.max,a = Math.min;e.exports = function (e, t) {return (e = r(e)) < 0 ? i(e + t, 0) : a(e, t);};}, function (e, t, n) {var r = n(14).document;e.exports = r && r.documentElement;}, function (e, t, n) {var r = n(23),i = n(121),a = n(48)("IE_PROTO"),o = Object.prototype;e.exports = Object.getPrototypeOf || function (e) {return e = i(e), r(e, a) ? e[a] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? o : null;};}, function (e, t, n) {var r = n(46);e.exports = function (e) {return Object(r(e));};}, function (e, t, n) {"use strict";var r = n(123),i = n(76),a = n(32),o = n(37);e.exports = n(47)(Array, "Array", function (e, t) {this._t = o(e), this._i = 0, this._k = t;}, function () {var e = this._t,t = this._k,n = this._i++;return !e || n >= e.length ? (this._t = void 0, i(1)) : i(0, "keys" == t ? n : "values" == t ? e[n] : [n, e[n]]);}, "values"), a.Arguments = a.Array, r("keys"), r("values"), r("entries");}, function (e, t, n) {var r = n(11)("unscopables"),i = Array.prototype;null == i[r] && n(20)(i, r, {}), e.exports = function (e) {i[r][e] = !0;};}, function (e, t, n) {"use strict";var r = n(77),i = n(50);e.exports = n(82)("Map", function (e) {return function () {return e(this, arguments.length > 0 ? arguments[0] : void 0);};}, { get: function (e) {var t = r.getEntry(i(this, "Map"), e);return t && t.v;}, set: function (e, t) {return r.def(i(this, "Map"), 0 === e ? 0 : e, t);} }, r, !0);}, function (e, t, n) {var r = n(22);e.exports = function (e, t, n, i) {try {return i ? t(r(n)[0], n[1]) : t(n);} catch (t) {var a = e.return;throw void 0 !== a && r(a.call(e)), t;}};}, function (e, t, n) {var r = n(32),i = n(11)("iterator"),a = Array.prototype;e.exports = function (e) {return void 0 !== e && (r.Array === e || a[i] === e);};}, function (e, t, n) {var r = n(63),i = n(11)("iterator"),a = n(32);e.exports = n(18).getIteratorMethod = function (e) {if (null != e) return e[i] || e["@@iterator"] || a[r(e)];};}, function (e, t, n) {"use strict";var r = n(14),i = n(21),a = n(16),o = n(11)("species");e.exports = function (e) {var t = r[e];a && t && !t[o] && i.f(t, o, { configurable: !0, get: function () {return this;} });};}, function (e, t, n) {var r = n(11)("iterator"),i = !1;try {var a = [7][r]();a.return = function () {i = !0;}, Array.from(a, function () {throw 2;});} catch (e) {}e.exports = function (e, t) {if (!t && !i) return !1;var n = !1;try {var a = [7],o = a[r]();o.next = function () {return { done: n = !0 };}, a[r] = function () {return o;}, e(a);} catch (e) {}return n;};}, function (e, t, n) {var r = n(15),i = n(131).set;e.exports = function (e, t, n) {var a,o = t.constructor;return o !== n && "function" == typeof o && (a = o.prototype) !== n.prototype && r(a) && i && i(e, a), e;};}, function (e, t, n) {var r = n(15),i = n(22),a = function (e, t) {if (i(e), !r(t) && null !== t) throw TypeError(t + ": can't set as prototype!");};e.exports = { set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, t, r) {try {(r = n(36)(Function.call, n(132).f(Object.prototype, "__proto__").set, 2))(e, []), t = !(e instanceof Array);} catch (e) {t = !0;}return function (e, n) {return a(e, n), t ? e.__proto__ = n : r(e, n), e;};}({}, !1) : void 0), check: a };}, function (e, t, n) {var r = n(133),i = n(44),a = n(37),o = n(68),s = n(23),l = n(66),u = Object.getOwnPropertyDescriptor;t.f = n(16) ? u : function (e, t) {if (e = a(e), t = o(t, !0), l) try {return u(e, t);} catch (e) {}if (s(e, t)) return i(!r.f.call(e, t), e[t]);};}, function (e, t) {t.f = {}.propertyIsEnumerable;}, function (e, t, n) {n(62), n(69), n(75), n(135), e.exports = n(18).Set;}, function (e, t, n) {"use strict";var r = n(77),i = n(50);e.exports = n(82)("Set", function (e) {return function () {return e(this, arguments.length > 0 ? arguments[0] : void 0);};}, { add: function (e) {return r.def(i(this, "Set"), e = 0 === e ? 0 : e, e);} }, r);}, function (e, t, n) {"use strict";
  /** @license React v16.14.0
   * react.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */var r = n(83),i = "function" == typeof Symbol && Symbol.for,a = i ? Symbol.for("react.element") : 60103,o = i ? Symbol.for("react.portal") : 60106,s = i ? Symbol.for("react.fragment") : 60107,l = i ? Symbol.for("react.strict_mode") : 60108,u = i ? Symbol.for("react.profiler") : 60114,c = i ? Symbol.for("react.provider") : 60109,d = i ? Symbol.for("react.context") : 60110,f = i ? Symbol.for("react.forward_ref") : 60112,p = i ? Symbol.for("react.suspense") : 60113,h = i ? Symbol.for("react.memo") : 60115,g = i ? Symbol.for("react.lazy") : 60116,m = "function" == typeof Symbol && Symbol.iterator;function b(e) {for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++) t += "&args[]=" + encodeURIComponent(arguments[n]);return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";}var v = { isMounted: function () {return !1;}, enqueueForceUpdate: function () {}, enqueueReplaceState: function () {}, enqueueSetState: function () {} },_ = {};function y(e, t, n) {this.props = e, this.context = t, this.refs = _, this.updater = n || v;}function S() {}function x(e, t, n) {this.props = e, this.context = t, this.refs = _, this.updater = n || v;}y.prototype.isReactComponent = {}, y.prototype.setState = function (e, t) {if ("object" != typeof e && "function" != typeof e && null != e) throw Error(b(85));this.updater.enqueueSetState(this, e, t, "setState");}, y.prototype.forceUpdate = function (e) {this.updater.enqueueForceUpdate(this, e, "forceUpdate");}, S.prototype = y.prototype;var E = x.prototype = new S();E.constructor = x, r(E, y.prototype), E.isPureReactComponent = !0;var T = { current: null },w = Object.prototype.hasOwnProperty,C = { key: !0, ref: !0, __self: !0, __source: !0 };function O(e, t, n) {var r,i = {},o = null,s = null;if (null != t) for (r in void 0 !== t.ref && (s = t.ref), void 0 !== t.key && (o = "" + t.key), t) w.call(t, r) && !C.hasOwnProperty(r) && (i[r] = t[r]);var l = arguments.length - 2;if (1 === l) i.children = n;else if (1 < l) {for (var u = Array(l), c = 0; c < l; c++) u[c] = arguments[c + 2];i.children = u;}if (e && e.defaultProps) for (r in l = e.defaultProps) void 0 === i[r] && (i[r] = l[r]);return { $$typeof: a, type: e, key: o, ref: s, props: i, _owner: T.current };}function R(e) {return "object" == typeof e && null !== e && e.$$typeof === a;}var k = /\/+/g,P = [];function L(e, t, n, r) {if (P.length) {var i = P.pop();return i.result = e, i.keyPrefix = t, i.func = n, i.context = r, i.count = 0, i;}return { result: e, keyPrefix: t, func: n, context: r, count: 0 };}function A(e) {e.result = null, e.keyPrefix = null, e.func = null, e.context = null, e.count = 0, 10 > P.length && P.push(e);}function I(e, t, n) {return null == e ? 0 : function e(t, n, r, i) {var s = typeof t;"undefined" !== s && "boolean" !== s || (t = null);var l = !1;if (null === t) l = !0;else switch (s) {case "string":case "number":l = !0;break;case "object":switch (t.$$typeof) {case a:case o:l = !0;}}if (l) return r(i, t, "" === n ? "." + N(t, 0) : n), 1;if (l = 0, n = "" === n ? "." : n + ":", Array.isArray(t)) for (var u = 0; u < t.length; u++) {var c = n + N(s = t[u], u);l += e(s, c, r, i);} else if (null === t || "object" != typeof t ? c = null : c = "function" == typeof (c = m && t[m] || t["@@iterator"]) ? c : null, "function" == typeof c) for (t = c.call(t), u = 0; !(s = t.next()).done;) l += e(s = s.value, c = n + N(s, u++), r, i);else if ("object" === s) throw r = "" + t, Error(b(31, "[object Object]" === r ? "object with keys {" + Object.keys(t).join(", ") + "}" : r, ""));return l;}(e, "", t, n);}function N(e, t) {return "object" == typeof e && null !== e && null != e.key ? function (e) {var t = { "=": "=0", ":": "=2" };return "$" + ("" + e).replace(/[=:]/g, function (e) {return t[e];});}(e.key) : t.toString(36);}function B(e, t) {e.func.call(e.context, t, e.count++);}function j(e, t, n) {var r = e.result,i = e.keyPrefix;e = e.func.call(e.context, t, e.count++), Array.isArray(e) ? G(e, r, n, function (e) {return e;}) : null != e && (R(e) && (e = function (e, t) {return { $$typeof: a, type: e.type, key: t, ref: e.ref, props: e.props, _owner: e._owner };}(e, i + (!e.key || t && t.key === e.key ? "" : ("" + e.key).replace(k, "$&/") + "/") + n)), r.push(e));}function G(e, t, n, r, i) {var a = "";null != n && (a = ("" + n).replace(k, "$&/") + "/"), I(e, j, t = L(t, a, r, i)), A(t);}var D = { current: null };function q() {var e = D.current;if (null === e) throw Error(b(321));return e;}var z = { ReactCurrentDispatcher: D, ReactCurrentBatchConfig: { suspense: null }, ReactCurrentOwner: T, IsSomeRendererActing: { current: !1 }, assign: r };t.Children = { map: function (e, t, n) {if (null == e) return e;var r = [];return G(e, r, null, t, n), r;}, forEach: function (e, t, n) {if (null == e) return e;I(e, B, t = L(null, null, t, n)), A(t);}, count: function (e) {return I(e, function () {return null;}, null);}, toArray: function (e) {var t = [];return G(e, t, null, function (e) {return e;}), t;}, only: function (e) {if (!R(e)) throw Error(b(143));return e;} }, t.Component = y, t.Fragment = s, t.Profiler = u, t.PureComponent = x, t.StrictMode = l, t.Suspense = p, t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = z, t.cloneElement = function (e, t, n) {if (null == e) throw Error(b(267, e));var i = r({}, e.props),o = e.key,s = e.ref,l = e._owner;if (null != t) {if (void 0 !== t.ref && (s = t.ref, l = T.current), void 0 !== t.key && (o = "" + t.key), e.type && e.type.defaultProps) var u = e.type.defaultProps;for (c in t) w.call(t, c) && !C.hasOwnProperty(c) && (i[c] = void 0 === t[c] && void 0 !== u ? u[c] : t[c]);}var c = arguments.length - 2;if (1 === c) i.children = n;else if (1 < c) {u = Array(c);for (var d = 0; d < c; d++) u[d] = arguments[d + 2];i.children = u;}return { $$typeof: a, type: e.type, key: o, ref: s, props: i, _owner: l };}, t.createContext = function (e, t) {return void 0 === t && (t = null), (e = { $$typeof: d, _calculateChangedBits: t, _currentValue: e, _currentValue2: e, _threadCount: 0, Provider: null, Consumer: null }).Provider = { $$typeof: c, _context: e }, e.Consumer = e;}, t.createElement = O, t.createFactory = function (e) {var t = O.bind(null, e);return t.type = e, t;}, t.createRef = function () {return { current: null };}, t.forwardRef = function (e) {return { $$typeof: f, render: e };}, t.isValidElement = R, t.lazy = function (e) {return { $$typeof: g, _ctor: e, _status: -1, _result: null };}, t.memo = function (e, t) {return { $$typeof: h, type: e, compare: void 0 === t ? null : t };}, t.useCallback = function (e, t) {return q().useCallback(e, t);}, t.useContext = function (e, t) {return q().useContext(e, t);}, t.useDebugValue = function () {}, t.useEffect = function (e, t) {return q().useEffect(e, t);}, t.useImperativeHandle = function (e, t, n) {return q().useImperativeHandle(e, t, n);}, t.useLayoutEffect = function (e, t) {return q().useLayoutEffect(e, t);}, t.useMemo = function (e, t) {return q().useMemo(e, t);}, t.useReducer = function (e, t, n) {return q().useReducer(e, t, n);}, t.useRef = function (e) {return q().useRef(e);}, t.useState = function (e) {return q().useState(e);}, t.version = "16.14.0";}, function (e, t, n) {"use strict";!function e() {if ("undefined" != typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE) {0;try {__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e);} catch (e) {console.error(e);}}}(), e.exports = n(138);}, function (e, t, n) {"use strict";
  /** @license React v16.14.0
   * react-dom.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */var r = n(0),i = n(83),a = n(139);function o(e) {for (var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; n < arguments.length; n++) t += "&args[]=" + encodeURIComponent(arguments[n]);return "Minified React error #" + e + "; visit " + t + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";}if (!r) throw Error(o(227));function s(e, t, n, r, i, a, o, s, l) {var u = Array.prototype.slice.call(arguments, 3);try {t.apply(n, u);} catch (e) {this.onError(e);}}var l = !1,u = null,c = !1,d = null,f = { onError: function (e) {l = !0, u = e;} };function p(e, t, n, r, i, a, o, c, d) {l = !1, u = null, s.apply(f, arguments);}var h = null,g = null,m = null;function b(e, t, n) {var r = e.type || "unknown-event";e.currentTarget = m(n), function (e, t, n, r, i, a, s, f, h) {if (p.apply(this, arguments), l) {if (!l) throw Error(o(198));var g = u;l = !1, u = null, c || (c = !0, d = g);}}(r, t, void 0, e), e.currentTarget = null;}var v = null,_ = {};function y() {if (v) for (var e in _) {var t = _[e],n = v.indexOf(e);if (!(-1 < n)) throw Error(o(96, e));if (!x[n]) {if (!t.extractEvents) throw Error(o(97, e));for (var r in x[n] = t, n = t.eventTypes) {var i = void 0,a = n[r],s = t,l = r;if (E.hasOwnProperty(l)) throw Error(o(99, l));E[l] = a;var u = a.phasedRegistrationNames;if (u) {for (i in u) u.hasOwnProperty(i) && S(u[i], s, l);i = !0;} else a.registrationName ? (S(a.registrationName, s, l), i = !0) : i = !1;if (!i) throw Error(o(98, r, e));}}}}function S(e, t, n) {if (T[e]) throw Error(o(100, e));T[e] = t, w[e] = t.eventTypes[n].dependencies;}var x = [],E = {},T = {},w = {};function C(e) {var t,n = !1;for (t in e) if (e.hasOwnProperty(t)) {var r = e[t];if (!_.hasOwnProperty(t) || _[t] !== r) {if (_[t]) throw Error(o(102, t));_[t] = r, n = !0;}}n && y();}var O = !("undefined" == typeof window || void 0 === window.document || void 0 === window.document.createElement),R = null,k = null,P = null;function L(e) {if (e = g(e)) {if ("function" != typeof R) throw Error(o(280));var t = e.stateNode;t && (t = h(t), R(e.stateNode, e.type, t));}}function A(e) {k ? P ? P.push(e) : P = [e] : k = e;}function I() {if (k) {var e = k,t = P;if (P = k = null, L(e), t) for (e = 0; e < t.length; e++) L(t[e]);}}function N(e, t) {return e(t);}function B(e, t, n, r, i) {return e(t, n, r, i);}function j() {}var G = N,D = !1,q = !1;function z() {null === k && null === P || (j(), I());}function M(e, t, n) {if (q) return e(t, n);q = !0;try {return G(e, t, n);} finally {q = !1, z();}}var F = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Z = Object.prototype.hasOwnProperty,W = {},U = {};function V(e, t, n, r, i, a) {this.acceptsBooleans = 2 === t || 3 === t || 4 === t, this.attributeName = r, this.attributeNamespace = i, this.mustUseProperty = n, this.propertyName = e, this.type = t, this.sanitizeURL = a;}var H = {};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function (e) {H[e] = new V(e, 0, !1, e, null, !1);}), [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function (e) {var t = e[0];H[t] = new V(t, 1, !1, e[1], null, !1);}), ["contentEditable", "draggable", "spellCheck", "value"].forEach(function (e) {H[e] = new V(e, 2, !1, e.toLowerCase(), null, !1);}), ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function (e) {H[e] = new V(e, 2, !1, e, null, !1);}), "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function (e) {H[e] = new V(e, 3, !1, e.toLowerCase(), null, !1);}), ["checked", "multiple", "muted", "selected"].forEach(function (e) {H[e] = new V(e, 3, !0, e, null, !1);}), ["capture", "download"].forEach(function (e) {H[e] = new V(e, 4, !1, e, null, !1);}), ["cols", "rows", "size", "span"].forEach(function (e) {H[e] = new V(e, 6, !1, e, null, !1);}), ["rowSpan", "start"].forEach(function (e) {H[e] = new V(e, 5, !1, e.toLowerCase(), null, !1);});var K = /[\-:]([a-z])/g;function Y(e) {return e[1].toUpperCase();}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function (e) {var t = e.replace(K, Y);H[t] = new V(t, 1, !1, e, null, !1);}), "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function (e) {var t = e.replace(K, Y);H[t] = new V(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1);}), ["xml:base", "xml:lang", "xml:space"].forEach(function (e) {var t = e.replace(K, Y);H[t] = new V(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1);}), ["tabIndex", "crossOrigin"].forEach(function (e) {H[e] = new V(e, 1, !1, e.toLowerCase(), null, !1);}), H.xlinkHref = new V("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0), ["src", "href", "action", "formAction"].forEach(function (e) {H[e] = new V(e, 1, !1, e.toLowerCase(), null, !0);});var X = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function $(e, t, n, r) {var i = H.hasOwnProperty(t) ? H[t] : null;(null !== i ? 0 === i.type : !r && 2 < t.length && ("o" === t[0] || "O" === t[0]) && ("n" === t[1] || "N" === t[1])) || (function (e, t, n, r) {if (null == t || function (e, t, n, r) {if (null !== n && 0 === n.type) return !1;switch (typeof t) {case "function":case "symbol":return !0;case "boolean":return !r && (null !== n ? !n.acceptsBooleans : "data-" !== (e = e.toLowerCase().slice(0, 5)) && "aria-" !== e);default:return !1;}}(e, t, n, r)) return !0;if (r) return !1;if (null !== n) switch (n.type) {case 3:return !t;case 4:return !1 === t;case 5:return isNaN(t);case 6:return isNaN(t) || 1 > t;}return !1;}(t, n, i, r) && (n = null), r || null === i ? function (e) {return !!Z.call(U, e) || !Z.call(W, e) && (F.test(e) ? U[e] = !0 : (W[e] = !0, !1));}(t) && (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) : i.mustUseProperty ? e[i.propertyName] = null === n ? 3 !== i.type && "" : n : (t = i.attributeName, r = i.attributeNamespace, null === n ? e.removeAttribute(t) : (n = 3 === (i = i.type) || 4 === i && !0 === n ? "" : "" + n, r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n))));}X.hasOwnProperty("ReactCurrentDispatcher") || (X.ReactCurrentDispatcher = { current: null }), X.hasOwnProperty("ReactCurrentBatchConfig") || (X.ReactCurrentBatchConfig = { suspense: null });var Q = /^(.*)[\\\/]/,J = "function" == typeof Symbol && Symbol.for,ee = J ? Symbol.for("react.element") : 60103,te = J ? Symbol.for("react.portal") : 60106,ne = J ? Symbol.for("react.fragment") : 60107,re = J ? Symbol.for("react.strict_mode") : 60108,ie = J ? Symbol.for("react.profiler") : 60114,ae = J ? Symbol.for("react.provider") : 60109,oe = J ? Symbol.for("react.context") : 60110,se = J ? Symbol.for("react.concurrent_mode") : 60111,le = J ? Symbol.for("react.forward_ref") : 60112,ue = J ? Symbol.for("react.suspense") : 60113,ce = J ? Symbol.for("react.suspense_list") : 60120,de = J ? Symbol.for("react.memo") : 60115,fe = J ? Symbol.for("react.lazy") : 60116,pe = J ? Symbol.for("react.block") : 60121,he = "function" == typeof Symbol && Symbol.iterator;function ge(e) {return null === e || "object" != typeof e ? null : "function" == typeof (e = he && e[he] || e["@@iterator"]) ? e : null;}function me(e) {if (null == e) return null;if ("function" == typeof e) return e.displayName || e.name || null;if ("string" == typeof e) return e;switch (e) {case ne:return "Fragment";case te:return "Portal";case ie:return "Profiler";case re:return "StrictMode";case ue:return "Suspense";case ce:return "SuspenseList";}if ("object" == typeof e) switch (e.$$typeof) {case oe:return "Context.Consumer";case ae:return "Context.Provider";case le:var t = e.render;return t = t.displayName || t.name || "", e.displayName || ("" !== t ? "ForwardRef(" + t + ")" : "ForwardRef");case de:return me(e.type);case pe:return me(e.render);case fe:if (e = 1 === e._status ? e._result : null) return me(e);}return null;}function be(e) {var t = "";do {e: switch (e.tag) {case 3:case 4:case 6:case 7:case 10:case 9:var n = "";break e;default:var r = e._debugOwner,i = e._debugSource,a = me(e.type);n = null, r && (n = me(r.type)), r = a, a = "", i ? a = " (at " + i.fileName.replace(Q, "") + ":" + i.lineNumber + ")" : n && (a = " (created by " + n + ")"), n = "\n    in " + (r || "Unknown") + a;}t += n, e = e.return;} while (e);return t;}function ve(e) {switch (typeof e) {case "boolean":case "number":case "object":case "string":case "undefined":return e;default:return "";}}function _e(e) {var t = e.type;return (e = e.nodeName) && "input" === e.toLowerCase() && ("checkbox" === t || "radio" === t);}function ye(e) {e._valueTracker || (e._valueTracker = function (e) {var t = _e(e) ? "checked" : "value",n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t),r = "" + e[t];if (!e.hasOwnProperty(t) && void 0 !== n && "function" == typeof n.get && "function" == typeof n.set) {var i = n.get,a = n.set;return Object.defineProperty(e, t, { configurable: !0, get: function () {return i.call(this);}, set: function (e) {r = "" + e, a.call(this, e);} }), Object.defineProperty(e, t, { enumerable: n.enumerable }), { getValue: function () {return r;}, setValue: function (e) {r = "" + e;}, stopTracking: function () {e._valueTracker = null, delete e[t];} };}}(e));}function Se(e) {if (!e) return !1;var t = e._valueTracker;if (!t) return !0;var n = t.getValue(),r = "";return e && (r = _e(e) ? e.checked ? "true" : "false" : e.value), (e = r) !== n && (t.setValue(e), !0);}function xe(e, t) {var n = t.checked;return i({}, t, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != n ? n : e._wrapperState.initialChecked });}function Ee(e, t) {var n = null == t.defaultValue ? "" : t.defaultValue,r = null != t.checked ? t.checked : t.defaultChecked;n = ve(null != t.value ? t.value : n), e._wrapperState = { initialChecked: r, initialValue: n, controlled: "checkbox" === t.type || "radio" === t.type ? null != t.checked : null != t.value };}function Te(e, t) {null != (t = t.checked) && $(e, "checked", t, !1);}function we(e, t) {Te(e, t);var n = ve(t.value),r = t.type;if (null != n) "number" === r ? (0 === n && "" === e.value || e.value != n) && (e.value = "" + n) : e.value !== "" + n && (e.value = "" + n);else if ("submit" === r || "reset" === r) return void e.removeAttribute("value");t.hasOwnProperty("value") ? Oe(e, t.type, n) : t.hasOwnProperty("defaultValue") && Oe(e, t.type, ve(t.defaultValue)), null == t.checked && null != t.defaultChecked && (e.defaultChecked = !!t.defaultChecked);}function Ce(e, t, n) {if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) {var r = t.type;if (!("submit" !== r && "reset" !== r || void 0 !== t.value && null !== t.value)) return;t = "" + e._wrapperState.initialValue, n || t === e.value || (e.value = t), e.defaultValue = t;}"" !== (n = e.name) && (e.name = ""), e.defaultChecked = !!e._wrapperState.initialChecked, "" !== n && (e.name = n);}function Oe(e, t, n) {"number" === t && e.ownerDocument.activeElement === e || (null == n ? e.defaultValue = "" + e._wrapperState.initialValue : e.defaultValue !== "" + n && (e.defaultValue = "" + n));}function Re(e, t) {return e = i({ children: void 0 }, t), (t = function (e) {var t = "";return r.Children.forEach(e, function (e) {null != e && (t += e);}), t;}(t.children)) && (e.children = t), e;}function ke(e, t, n, r) {if (e = e.options, t) {t = {};for (var i = 0; i < n.length; i++) t["$" + n[i]] = !0;for (n = 0; n < e.length; n++) i = t.hasOwnProperty("$" + e[n].value), e[n].selected !== i && (e[n].selected = i), i && r && (e[n].defaultSelected = !0);} else {for (n = "" + ve(n), t = null, i = 0; i < e.length; i++) {if (e[i].value === n) return e[i].selected = !0, void (r && (e[i].defaultSelected = !0));null !== t || e[i].disabled || (t = e[i]);}null !== t && (t.selected = !0);}}function Pe(e, t) {if (null != t.dangerouslySetInnerHTML) throw Error(o(91));return i({}, t, { value: void 0, defaultValue: void 0, children: "" + e._wrapperState.initialValue });}function Le(e, t) {var n = t.value;if (null == n) {if (n = t.children, t = t.defaultValue, null != n) {if (null != t) throw Error(o(92));if (Array.isArray(n)) {if (!(1 >= n.length)) throw Error(o(93));n = n[0];}t = n;}null == t && (t = ""), n = t;}e._wrapperState = { initialValue: ve(n) };}function Ae(e, t) {var n = ve(t.value),r = ve(t.defaultValue);null != n && ((n = "" + n) !== e.value && (e.value = n), null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)), null != r && (e.defaultValue = "" + r);}function Ie(e) {var t = e.textContent;t === e._wrapperState.initialValue && "" !== t && null !== t && (e.value = t);}var Ne = "http://www.w3.org/1999/xhtml",Be = "http://www.w3.org/2000/svg";function je(e) {switch (e) {case "svg":return "http://www.w3.org/2000/svg";case "math":return "http://www.w3.org/1998/Math/MathML";default:return "http://www.w3.org/1999/xhtml";}}function Ge(e, t) {return null == e || "http://www.w3.org/1999/xhtml" === e ? je(t) : "http://www.w3.org/2000/svg" === e && "foreignObject" === t ? "http://www.w3.org/1999/xhtml" : e;}var De,qe = function (e) {return "undefined" != typeof MSApp && MSApp.execUnsafeLocalFunction ? function (t, n, r, i) {MSApp.execUnsafeLocalFunction(function () {return e(t, n);});} : e;}(function (e, t) {if (e.namespaceURI !== Be || "innerHTML" in e) e.innerHTML = t;else {for ((De = De || document.createElement("div")).innerHTML = "<svg>" + t.valueOf().toString() + "</svg>", t = De.firstChild; e.firstChild;) e.removeChild(e.firstChild);for (; t.firstChild;) e.appendChild(t.firstChild);}});function ze(e, t) {if (t) {var n = e.firstChild;if (n && n === e.lastChild && 3 === n.nodeType) return void (n.nodeValue = t);}e.textContent = t;}function Me(e, t) {var n = {};return n[e.toLowerCase()] = t.toLowerCase(), n["Webkit" + e] = "webkit" + t, n["Moz" + e] = "moz" + t, n;}var Fe = { animationend: Me("Animation", "AnimationEnd"), animationiteration: Me("Animation", "AnimationIteration"), animationstart: Me("Animation", "AnimationStart"), transitionend: Me("Transition", "TransitionEnd") },Ze = {},We = {};function Ue(e) {if (Ze[e]) return Ze[e];if (!Fe[e]) return e;var t,n = Fe[e];for (t in n) if (n.hasOwnProperty(t) && t in We) return Ze[e] = n[t];return e;}O && (We = document.createElement("div").style, "AnimationEvent" in window || (delete Fe.animationend.animation, delete Fe.animationiteration.animation, delete Fe.animationstart.animation), "TransitionEvent" in window || delete Fe.transitionend.transition);var Ve = Ue("animationend"),He = Ue("animationiteration"),Ke = Ue("animationstart"),Ye = Ue("transitionend"),Xe = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),$e = new ("function" == typeof WeakMap ? WeakMap : Map)();function Qe(e) {var t = $e.get(e);return void 0 === t && (t = new Map(), $e.set(e, t)), t;}function Je(e) {var t = e,n = e;if (e.alternate) for (; t.return;) t = t.return;else {e = t;do {0 != (1026 & (t = e).effectTag) && (n = t.return), e = t.return;} while (e);}return 3 === t.tag ? n : null;}function et(e) {if (13 === e.tag) {var t = e.memoizedState;if (null === t && null !== (e = e.alternate) && (t = e.memoizedState), null !== t) return t.dehydrated;}return null;}function tt(e) {if (Je(e) !== e) throw Error(o(188));}function nt(e) {if (!(e = function (e) {var t = e.alternate;if (!t) {if (null === (t = Je(e))) throw Error(o(188));return t !== e ? null : e;}for (var n = e, r = t;;) {var i = n.return;if (null === i) break;var a = i.alternate;if (null === a) {if (null !== (r = i.return)) {n = r;continue;}break;}if (i.child === a.child) {for (a = i.child; a;) {if (a === n) return tt(i), e;if (a === r) return tt(i), t;a = a.sibling;}throw Error(o(188));}if (n.return !== r.return) n = i, r = a;else {for (var s = !1, l = i.child; l;) {if (l === n) {s = !0, n = i, r = a;break;}if (l === r) {s = !0, r = i, n = a;break;}l = l.sibling;}if (!s) {for (l = a.child; l;) {if (l === n) {s = !0, n = a, r = i;break;}if (l === r) {s = !0, r = a, n = i;break;}l = l.sibling;}if (!s) throw Error(o(189));}}if (n.alternate !== r) throw Error(o(190));}if (3 !== n.tag) throw Error(o(188));return n.stateNode.current === n ? e : t;}(e))) return null;for (var t = e;;) {if (5 === t.tag || 6 === t.tag) return t;if (t.child) t.child.return = t, t = t.child;else {if (t === e) break;for (; !t.sibling;) {if (!t.return || t.return === e) return null;t = t.return;}t.sibling.return = t.return, t = t.sibling;}}return null;}function rt(e, t) {if (null == t) throw Error(o(30));return null == e ? t : Array.isArray(e) ? Array.isArray(t) ? (e.push.apply(e, t), e) : (e.push(t), e) : Array.isArray(t) ? [e].concat(t) : [e, t];}function it(e, t, n) {Array.isArray(e) ? e.forEach(t, n) : e && t.call(n, e);}var at = null;function ot(e) {if (e) {var t = e._dispatchListeners,n = e._dispatchInstances;if (Array.isArray(t)) for (var r = 0; r < t.length && !e.isPropagationStopped(); r++) b(e, t[r], n[r]);else t && b(e, t, n);e._dispatchListeners = null, e._dispatchInstances = null, e.isPersistent() || e.constructor.release(e);}}function st(e) {if (null !== e && (at = rt(at, e)), e = at, at = null, e) {if (it(e, ot), at) throw Error(o(95));if (c) throw e = d, c = !1, d = null, e;}}function lt(e) {return (e = e.target || e.srcElement || window).correspondingUseElement && (e = e.correspondingUseElement), 3 === e.nodeType ? e.parentNode : e;}function ut(e) {if (!O) return !1;var t = ((e = "on" + e) in document);return t || ((t = document.createElement("div")).setAttribute(e, "return;"), t = "function" == typeof t[e]), t;}var ct = [];function dt(e) {e.topLevelType = null, e.nativeEvent = null, e.targetInst = null, e.ancestors.length = 0, 10 > ct.length && ct.push(e);}function ft(e, t, n, r) {if (ct.length) {var i = ct.pop();return i.topLevelType = e, i.eventSystemFlags = r, i.nativeEvent = t, i.targetInst = n, i;}return { topLevelType: e, eventSystemFlags: r, nativeEvent: t, targetInst: n, ancestors: [] };}function pt(e) {var t = e.targetInst,n = t;do {if (!n) {e.ancestors.push(n);break;}var r = n;if (3 === r.tag) r = r.stateNode.containerInfo;else {for (; r.return;) r = r.return;r = 3 !== r.tag ? null : r.stateNode.containerInfo;}if (!r) break;5 !== (t = n.tag) && 6 !== t || e.ancestors.push(n), n = On(r);} while (n);for (n = 0; n < e.ancestors.length; n++) {t = e.ancestors[n];var i = lt(e.nativeEvent);r = e.topLevelType;var a = e.nativeEvent,o = e.eventSystemFlags;0 === n && (o |= 64);for (var s = null, l = 0; l < x.length; l++) {var u = x[l];u && (u = u.extractEvents(r, t, a, i, o)) && (s = rt(s, u));}st(s);}}function ht(e, t, n) {if (!n.has(e)) {switch (e) {case "scroll":Kt(t, "scroll", !0);break;case "focus":case "blur":Kt(t, "focus", !0), Kt(t, "blur", !0), n.set("blur", null), n.set("focus", null);break;case "cancel":case "close":ut(e) && Kt(t, e, !0);break;case "invalid":case "submit":case "reset":break;default:-1 === Xe.indexOf(e) && Ht(e, t);}n.set(e, null);}}var gt,mt,bt,vt = !1,_t = [],yt = null,St = null,xt = null,Et = new Map(),Tt = new Map(),wt = [],Ct = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit".split(" "),Ot = "focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture".split(" ");function Rt(e, t, n, r, i) {return { blockedOn: e, topLevelType: t, eventSystemFlags: 32 | n, nativeEvent: i, container: r };}function kt(e, t) {switch (e) {case "focus":case "blur":yt = null;break;case "dragenter":case "dragleave":St = null;break;case "mouseover":case "mouseout":xt = null;break;case "pointerover":case "pointerout":Et.delete(t.pointerId);break;case "gotpointercapture":case "lostpointercapture":Tt.delete(t.pointerId);}}function Pt(e, t, n, r, i, a) {return null === e || e.nativeEvent !== a ? (e = Rt(t, n, r, i, a), null !== t && null !== (t = Rn(t)) && mt(t), e) : (e.eventSystemFlags |= r, e);}function Lt(e) {var t = On(e.target);if (null !== t) {var n = Je(t);if (null !== n) if (13 === (t = n.tag)) {if (null !== (t = et(n))) return e.blockedOn = t, void a.unstable_runWithPriority(e.priority, function () {bt(n);});} else if (3 === t && n.stateNode.hydrate) return void (e.blockedOn = 3 === n.tag ? n.stateNode.containerInfo : null);}e.blockedOn = null;}function At(e) {if (null !== e.blockedOn) return !1;var t = Qt(e.topLevelType, e.eventSystemFlags, e.container, e.nativeEvent);if (null !== t) {var n = Rn(t);return null !== n && mt(n), e.blockedOn = t, !1;}return !0;}function It(e, t, n) {At(e) && n.delete(t);}function Nt() {for (vt = !1; 0 < _t.length;) {var e = _t[0];if (null !== e.blockedOn) {null !== (e = Rn(e.blockedOn)) && gt(e);break;}var t = Qt(e.topLevelType, e.eventSystemFlags, e.container, e.nativeEvent);null !== t ? e.blockedOn = t : _t.shift();}null !== yt && At(yt) && (yt = null), null !== St && At(St) && (St = null), null !== xt && At(xt) && (xt = null), Et.forEach(It), Tt.forEach(It);}function Bt(e, t) {e.blockedOn === t && (e.blockedOn = null, vt || (vt = !0, a.unstable_scheduleCallback(a.unstable_NormalPriority, Nt)));}function jt(e) {function t(t) {return Bt(t, e);}if (0 < _t.length) {Bt(_t[0], e);for (var n = 1; n < _t.length; n++) {var r = _t[n];r.blockedOn === e && (r.blockedOn = null);}}for (null !== yt && Bt(yt, e), null !== St && Bt(St, e), null !== xt && Bt(xt, e), Et.forEach(t), Tt.forEach(t), n = 0; n < wt.length; n++) (r = wt[n]).blockedOn === e && (r.blockedOn = null);for (; 0 < wt.length && null === (n = wt[0]).blockedOn;) Lt(n), null === n.blockedOn && wt.shift();}var Gt = {},Dt = new Map(),qt = new Map(),zt = ["abort", "abort", Ve, "animationEnd", He, "animationIteration", Ke, "animationStart", "canplay", "canPlay", "canplaythrough", "canPlayThrough", "durationchange", "durationChange", "emptied", "emptied", "encrypted", "encrypted", "ended", "ended", "error", "error", "gotpointercapture", "gotPointerCapture", "load", "load", "loadeddata", "loadedData", "loadedmetadata", "loadedMetadata", "loadstart", "loadStart", "lostpointercapture", "lostPointerCapture", "playing", "playing", "progress", "progress", "seeking", "seeking", "stalled", "stalled", "suspend", "suspend", "timeupdate", "timeUpdate", Ye, "transitionEnd", "waiting", "waiting"];function Mt(e, t) {for (var n = 0; n < e.length; n += 2) {var r = e[n],i = e[n + 1],a = "on" + (i[0].toUpperCase() + i.slice(1));a = { phasedRegistrationNames: { bubbled: a, captured: a + "Capture" }, dependencies: [r], eventPriority: t }, qt.set(r, t), Dt.set(r, a), Gt[i] = a;}}Mt("blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "), 0), Mt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "), 1), Mt(zt, 2);for (var Ft = "change selectionchange textInput compositionstart compositionend compositionupdate".split(" "), Zt = 0; Zt < Ft.length; Zt++) qt.set(Ft[Zt], 0);var Wt = a.unstable_UserBlockingPriority,Ut = a.unstable_runWithPriority,Vt = !0;function Ht(e, t) {Kt(t, e, !1);}function Kt(e, t, n) {var r = qt.get(t);switch (void 0 === r ? 2 : r) {case 0:r = Yt.bind(null, t, 1, e);break;case 1:r = Xt.bind(null, t, 1, e);break;default:r = $t.bind(null, t, 1, e);}n ? e.addEventListener(t, r, !0) : e.addEventListener(t, r, !1);}function Yt(e, t, n, r) {D || j();var i = $t,a = D;D = !0;try {B(i, e, t, n, r);} finally {(D = a) || z();}}function Xt(e, t, n, r) {Ut(Wt, $t.bind(null, e, t, n, r));}function $t(e, t, n, r) {if (Vt) if (0 < _t.length && -1 < Ct.indexOf(e)) e = Rt(null, e, t, n, r), _t.push(e);else {var i = Qt(e, t, n, r);if (null === i) kt(e, r);else if (-1 < Ct.indexOf(e)) e = Rt(i, e, t, n, r), _t.push(e);else if (!function (e, t, n, r, i) {switch (t) {case "focus":return yt = Pt(yt, e, t, n, r, i), !0;case "dragenter":return St = Pt(St, e, t, n, r, i), !0;case "mouseover":return xt = Pt(xt, e, t, n, r, i), !0;case "pointerover":var a = i.pointerId;return Et.set(a, Pt(Et.get(a) || null, e, t, n, r, i)), !0;case "gotpointercapture":return a = i.pointerId, Tt.set(a, Pt(Tt.get(a) || null, e, t, n, r, i)), !0;}return !1;}(i, e, t, n, r)) {kt(e, r), e = ft(e, r, null, t);try {M(pt, e);} finally {dt(e);}}}}function Qt(e, t, n, r) {if (null !== (n = On(n = lt(r)))) {var i = Je(n);if (null === i) n = null;else {var a = i.tag;if (13 === a) {if (null !== (n = et(i))) return n;n = null;} else if (3 === a) {if (i.stateNode.hydrate) return 3 === i.tag ? i.stateNode.containerInfo : null;n = null;} else i !== n && (n = null);}}e = ft(e, r, n, t);try {M(pt, e);} finally {dt(e);}return null;}var Jt = { animationIterationCount: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridArea: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 },en = ["Webkit", "ms", "Moz", "O"];function tn(e, t, n) {return null == t || "boolean" == typeof t || "" === t ? "" : n || "number" != typeof t || 0 === t || Jt.hasOwnProperty(e) && Jt[e] ? ("" + t).trim() : t + "px";}function nn(e, t) {for (var n in e = e.style, t) if (t.hasOwnProperty(n)) {var r = 0 === n.indexOf("--"),i = tn(n, t[n], r);"float" === n && (n = "cssFloat"), r ? e.setProperty(n, i) : e[n] = i;}}Object.keys(Jt).forEach(function (e) {en.forEach(function (t) {t = t + e.charAt(0).toUpperCase() + e.substring(1), Jt[t] = Jt[e];});});var rn = i({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 });function an(e, t) {if (t) {if (rn[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) throw Error(o(137, e, ""));if (null != t.dangerouslySetInnerHTML) {if (null != t.children) throw Error(o(60));if ("object" != typeof t.dangerouslySetInnerHTML || !("__html" in t.dangerouslySetInnerHTML)) throw Error(o(61));}if (null != t.style && "object" != typeof t.style) throw Error(o(62, ""));}}function on(e, t) {if (-1 === e.indexOf("-")) return "string" == typeof t.is;switch (e) {case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return !1;default:return !0;}}var sn = Ne;function ln(e, t) {var n = Qe(e = 9 === e.nodeType || 11 === e.nodeType ? e : e.ownerDocument);t = w[t];for (var r = 0; r < t.length; r++) ht(t[r], e, n);}function un() {}function cn(e) {if (void 0 === (e = e || ("undefined" != typeof document ? document : void 0))) return null;try {return e.activeElement || e.body;} catch (t) {return e.body;}}function dn(e) {for (; e && e.firstChild;) e = e.firstChild;return e;}function fn(e, t) {var n,r = dn(e);for (e = 0; r;) {if (3 === r.nodeType) {if (n = e + r.textContent.length, e <= t && n >= t) return { node: r, offset: t - e };e = n;}e: {for (; r;) {if (r.nextSibling) {r = r.nextSibling;break e;}r = r.parentNode;}r = void 0;}r = dn(r);}}function pn() {for (var e = window, t = cn(); t instanceof e.HTMLIFrameElement;) {try {var n = "string" == typeof t.contentWindow.location.href;} catch (e) {n = !1;}if (!n) break;t = cn((e = t.contentWindow).document);}return t;}function hn(e) {var t = e && e.nodeName && e.nodeName.toLowerCase();return t && ("input" === t && ("text" === e.type || "search" === e.type || "tel" === e.type || "url" === e.type || "password" === e.type) || "textarea" === t || "true" === e.contentEditable);}var gn = null,mn = null;function bn(e, t) {switch (e) {case "button":case "input":case "select":case "textarea":return !!t.autoFocus;}return !1;}function vn(e, t) {return "textarea" === e || "option" === e || "noscript" === e || "string" == typeof t.children || "number" == typeof t.children || "object" == typeof t.dangerouslySetInnerHTML && null !== t.dangerouslySetInnerHTML && null != t.dangerouslySetInnerHTML.__html;}var _n = "function" == typeof setTimeout ? setTimeout : void 0,yn = "function" == typeof clearTimeout ? clearTimeout : void 0;function Sn(e) {for (; null != e; e = e.nextSibling) {var t = e.nodeType;if (1 === t || 3 === t) break;}return e;}function xn(e) {e = e.previousSibling;for (var t = 0; e;) {if (8 === e.nodeType) {var n = e.data;if ("$" === n || "$!" === n || "$?" === n) {if (0 === t) return e;t--;} else "/$" === n && t++;}e = e.previousSibling;}return null;}var En = Math.random().toString(36).slice(2),Tn = "__reactInternalInstance$" + En,wn = "__reactEventHandlers$" + En,Cn = "__reactContainere$" + En;function On(e) {var t = e[Tn];if (t) return t;for (var n = e.parentNode; n;) {if (t = n[Cn] || n[Tn]) {if (n = t.alternate, null !== t.child || null !== n && null !== n.child) for (e = xn(e); null !== e;) {if (n = e[Tn]) return n;e = xn(e);}return t;}n = (e = n).parentNode;}return null;}function Rn(e) {return !(e = e[Tn] || e[Cn]) || 5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag ? null : e;}function kn(e) {if (5 === e.tag || 6 === e.tag) return e.stateNode;throw Error(o(33));}function Pn(e) {return e[wn] || null;}function Ln(e) {do {e = e.return;} while (e && 5 !== e.tag);return e || null;}function An(e, t) {var n = e.stateNode;if (!n) return null;var r = h(n);if (!r) return null;n = r[t];e: switch (t) {case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":case "onMouseEnter":(r = !r.disabled) || (r = !("button" === (e = e.type) || "input" === e || "select" === e || "textarea" === e)), e = !r;break e;default:e = !1;}if (e) return null;if (n && "function" != typeof n) throw Error(o(231, t, typeof n));return n;}function In(e, t, n) {(t = An(e, n.dispatchConfig.phasedRegistrationNames[t])) && (n._dispatchListeners = rt(n._dispatchListeners, t), n._dispatchInstances = rt(n._dispatchInstances, e));}function Nn(e) {if (e && e.dispatchConfig.phasedRegistrationNames) {for (var t = e._targetInst, n = []; t;) n.push(t), t = Ln(t);for (t = n.length; 0 < t--;) In(n[t], "captured", e);for (t = 0; t < n.length; t++) In(n[t], "bubbled", e);}}function Bn(e, t, n) {e && n && n.dispatchConfig.registrationName && (t = An(e, n.dispatchConfig.registrationName)) && (n._dispatchListeners = rt(n._dispatchListeners, t), n._dispatchInstances = rt(n._dispatchInstances, e));}function jn(e) {e && e.dispatchConfig.registrationName && Bn(e._targetInst, null, e);}function Gn(e) {it(e, Nn);}var Dn = null,qn = null,zn = null;function Mn() {if (zn) return zn;var e,t,n = qn,r = n.length,i = "value" in Dn ? Dn.value : Dn.textContent,a = i.length;for (e = 0; e < r && n[e] === i[e]; e++);var o = r - e;for (t = 1; t <= o && n[r - t] === i[a - t]; t++);return zn = i.slice(e, 1 < t ? 1 - t : void 0);}function Fn() {return !0;}function Zn() {return !1;}function Wn(e, t, n, r) {for (var i in this.dispatchConfig = e, this._targetInst = t, this.nativeEvent = n, e = this.constructor.Interface) e.hasOwnProperty(i) && ((t = e[i]) ? this[i] = t(n) : "target" === i ? this.target = r : this[i] = n[i]);return this.isDefaultPrevented = (null != n.defaultPrevented ? n.defaultPrevented : !1 === n.returnValue) ? Fn : Zn, this.isPropagationStopped = Zn, this;}function Un(e, t, n, r) {if (this.eventPool.length) {var i = this.eventPool.pop();return this.call(i, e, t, n, r), i;}return new this(e, t, n, r);}function Vn(e) {if (!(e instanceof this)) throw Error(o(279));e.destructor(), 10 > this.eventPool.length && this.eventPool.push(e);}function Hn(e) {e.eventPool = [], e.getPooled = Un, e.release = Vn;}i(Wn.prototype, { preventDefault: function () {this.defaultPrevented = !0;var e = this.nativeEvent;e && (e.preventDefault ? e.preventDefault() : "unknown" != typeof e.returnValue && (e.returnValue = !1), this.isDefaultPrevented = Fn);}, stopPropagation: function () {var e = this.nativeEvent;e && (e.stopPropagation ? e.stopPropagation() : "unknown" != typeof e.cancelBubble && (e.cancelBubble = !0), this.isPropagationStopped = Fn);}, persist: function () {this.isPersistent = Fn;}, isPersistent: Zn, destructor: function () {var e,t = this.constructor.Interface;for (e in t) this[e] = null;this.nativeEvent = this._targetInst = this.dispatchConfig = null, this.isPropagationStopped = this.isDefaultPrevented = Zn, this._dispatchInstances = this._dispatchListeners = null;} }), Wn.Interface = { type: null, target: null, currentTarget: function () {return null;}, eventPhase: null, bubbles: null, cancelable: null, timeStamp: function (e) {return e.timeStamp || Date.now();}, defaultPrevented: null, isTrusted: null }, Wn.extend = function (e) {function t() {}function n() {return r.apply(this, arguments);}var r = this;t.prototype = r.prototype;var a = new t();return i(a, n.prototype), n.prototype = a, n.prototype.constructor = n, n.Interface = i({}, r.Interface, e), n.extend = r.extend, Hn(n), n;}, Hn(Wn);var Kn = Wn.extend({ data: null }),Yn = Wn.extend({ data: null }),Xn = [9, 13, 27, 32],$n = O && "CompositionEvent" in window,Qn = null;O && "documentMode" in document && (Qn = document.documentMode);var Jn = O && "TextEvent" in window && !Qn,er = O && (!$n || Qn && 8 < Qn && 11 >= Qn),tr = String.fromCharCode(32),nr = { beforeInput: { phasedRegistrationNames: { bubbled: "onBeforeInput", captured: "onBeforeInputCapture" }, dependencies: ["compositionend", "keypress", "textInput", "paste"] }, compositionEnd: { phasedRegistrationNames: { bubbled: "onCompositionEnd", captured: "onCompositionEndCapture" }, dependencies: "blur compositionend keydown keypress keyup mousedown".split(" ") }, compositionStart: { phasedRegistrationNames: { bubbled: "onCompositionStart", captured: "onCompositionStartCapture" }, dependencies: "blur compositionstart keydown keypress keyup mousedown".split(" ") }, compositionUpdate: { phasedRegistrationNames: { bubbled: "onCompositionUpdate", captured: "onCompositionUpdateCapture" }, dependencies: "blur compositionupdate keydown keypress keyup mousedown".split(" ") } },rr = !1;function ir(e, t) {switch (e) {case "keyup":return -1 !== Xn.indexOf(t.keyCode);case "keydown":return 229 !== t.keyCode;case "keypress":case "mousedown":case "blur":return !0;default:return !1;}}function ar(e) {return "object" == typeof (e = e.detail) && "data" in e ? e.data : null;}var or = !1;var sr = { eventTypes: nr, extractEvents: function (e, t, n, r) {var i;if ($n) e: {switch (e) {case "compositionstart":var a = nr.compositionStart;break e;case "compositionend":a = nr.compositionEnd;break e;case "compositionupdate":a = nr.compositionUpdate;break e;}a = void 0;} else or ? ir(e, n) && (a = nr.compositionEnd) : "keydown" === e && 229 === n.keyCode && (a = nr.compositionStart);return a ? (er && "ko" !== n.locale && (or || a !== nr.compositionStart ? a === nr.compositionEnd && or && (i = Mn()) : (qn = "value" in (Dn = r) ? Dn.value : Dn.textContent, or = !0)), a = Kn.getPooled(a, t, n, r), i ? a.data = i : null !== (i = ar(n)) && (a.data = i), Gn(a), i = a) : i = null, (e = Jn ? function (e, t) {switch (e) {case "compositionend":return ar(t);case "keypress":return 32 !== t.which ? null : (rr = !0, tr);case "textInput":return (e = t.data) === tr && rr ? null : e;default:return null;}}(e, n) : function (e, t) {if (or) return "compositionend" === e || !$n && ir(e, t) ? (e = Mn(), zn = qn = Dn = null, or = !1, e) : null;switch (e) {case "paste":return null;case "keypress":if (!(t.ctrlKey || t.altKey || t.metaKey) || t.ctrlKey && t.altKey) {if (t.char && 1 < t.char.length) return t.char;if (t.which) return String.fromCharCode(t.which);}return null;case "compositionend":return er && "ko" !== t.locale ? null : t.data;default:return null;}}(e, n)) ? ((t = Yn.getPooled(nr.beforeInput, t, n, r)).data = e, Gn(t)) : t = null, null === i ? t : null === t ? i : [i, t];} },lr = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 };function ur(e) {var t = e && e.nodeName && e.nodeName.toLowerCase();return "input" === t ? !!lr[e.type] : "textarea" === t;}var cr = { change: { phasedRegistrationNames: { bubbled: "onChange", captured: "onChangeCapture" }, dependencies: "blur change click focus input keydown keyup selectionchange".split(" ") } };function dr(e, t, n) {return (e = Wn.getPooled(cr.change, e, t, n)).type = "change", A(n), Gn(e), e;}var fr = null,pr = null;function hr(e) {st(e);}function gr(e) {if (Se(kn(e))) return e;}function mr(e, t) {if ("change" === e) return t;}var br = !1;function vr() {fr && (fr.detachEvent("onpropertychange", _r), pr = fr = null);}function _r(e) {if ("value" === e.propertyName && gr(pr)) if (e = dr(pr, e, lt(e)), D) st(e);else {D = !0;try {N(hr, e);} finally {D = !1, z();}}}function yr(e, t, n) {"focus" === e ? (vr(), pr = n, (fr = t).attachEvent("onpropertychange", _r)) : "blur" === e && vr();}function Sr(e) {if ("selectionchange" === e || "keyup" === e || "keydown" === e) return gr(pr);}function xr(e, t) {if ("click" === e) return gr(t);}function Er(e, t) {if ("input" === e || "change" === e) return gr(t);}O && (br = ut("input") && (!document.documentMode || 9 < document.documentMode));var Tr = { eventTypes: cr, _isInputEventSupported: br, extractEvents: function (e, t, n, r) {var i = t ? kn(t) : window,a = i.nodeName && i.nodeName.toLowerCase();if ("select" === a || "input" === a && "file" === i.type) var o = mr;else if (ur(i)) {if (br) o = Er;else {o = Sr;var s = yr;}} else (a = i.nodeName) && "input" === a.toLowerCase() && ("checkbox" === i.type || "radio" === i.type) && (o = xr);if (o && (o = o(e, t))) return dr(o, n, r);s && s(e, i, t), "blur" === e && (e = i._wrapperState) && e.controlled && "number" === i.type && Oe(i, "number", i.value);} },wr = Wn.extend({ view: null, detail: null }),Cr = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" };function Or(e) {var t = this.nativeEvent;return t.getModifierState ? t.getModifierState(e) : !!(e = Cr[e]) && !!t[e];}function Rr() {return Or;}var kr = 0,Pr = 0,Lr = !1,Ar = !1,Ir = wr.extend({ screenX: null, screenY: null, clientX: null, clientY: null, pageX: null, pageY: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, getModifierState: Rr, button: null, buttons: null, relatedTarget: function (e) {return e.relatedTarget || (e.fromElement === e.srcElement ? e.toElement : e.fromElement);}, movementX: function (e) {if ("movementX" in e) return e.movementX;var t = kr;return kr = e.screenX, Lr ? "mousemove" === e.type ? e.screenX - t : 0 : (Lr = !0, 0);}, movementY: function (e) {if ("movementY" in e) return e.movementY;var t = Pr;return Pr = e.screenY, Ar ? "mousemove" === e.type ? e.screenY - t : 0 : (Ar = !0, 0);} }),Nr = Ir.extend({ pointerId: null, width: null, height: null, pressure: null, tangentialPressure: null, tiltX: null, tiltY: null, twist: null, pointerType: null, isPrimary: null }),Br = { mouseEnter: { registrationName: "onMouseEnter", dependencies: ["mouseout", "mouseover"] }, mouseLeave: { registrationName: "onMouseLeave", dependencies: ["mouseout", "mouseover"] }, pointerEnter: { registrationName: "onPointerEnter", dependencies: ["pointerout", "pointerover"] }, pointerLeave: { registrationName: "onPointerLeave", dependencies: ["pointerout", "pointerover"] } },jr = { eventTypes: Br, extractEvents: function (e, t, n, r, i) {var a = "mouseover" === e || "pointerover" === e,o = "mouseout" === e || "pointerout" === e;if (a && 0 == (32 & i) && (n.relatedTarget || n.fromElement) || !o && !a) return null;(a = r.window === r ? r : (a = r.ownerDocument) ? a.defaultView || a.parentWindow : window, o) ? (o = t, null !== (t = (t = n.relatedTarget || n.toElement) ? On(t) : null) && (t !== Je(t) || 5 !== t.tag && 6 !== t.tag) && (t = null)) : o = null;if (o === t) return null;if ("mouseout" === e || "mouseover" === e) var s = Ir,l = Br.mouseLeave,u = Br.mouseEnter,c = "mouse";else "pointerout" !== e && "pointerover" !== e || (s = Nr, l = Br.pointerLeave, u = Br.pointerEnter, c = "pointer");if (e = null == o ? a : kn(o), a = null == t ? a : kn(t), (l = s.getPooled(l, o, n, r)).type = c + "leave", l.target = e, l.relatedTarget = a, (n = s.getPooled(u, t, n, r)).type = c + "enter", n.target = a, n.relatedTarget = e, c = t, (r = o) && c) e: {for (u = c, o = 0, e = s = r; e; e = Ln(e)) o++;for (e = 0, t = u; t; t = Ln(t)) e++;for (; 0 < o - e;) s = Ln(s), o--;for (; 0 < e - o;) u = Ln(u), e--;for (; o--;) {if (s === u || s === u.alternate) break e;s = Ln(s), u = Ln(u);}s = null;} else s = null;for (u = s, s = []; r && r !== u && (null === (o = r.alternate) || o !== u);) s.push(r), r = Ln(r);for (r = []; c && c !== u && (null === (o = c.alternate) || o !== u);) r.push(c), c = Ln(c);for (c = 0; c < s.length; c++) Bn(s[c], "bubbled", l);for (c = r.length; 0 < c--;) Bn(r[c], "captured", n);return 0 == (64 & i) ? [l] : [l, n];} };var Gr = "function" == typeof Object.is ? Object.is : function (e, t) {return e === t && (0 !== e || 1 / e == 1 / t) || e != e && t != t;},Dr = Object.prototype.hasOwnProperty;function qr(e, t) {if (Gr(e, t)) return !0;if ("object" != typeof e || null === e || "object" != typeof t || null === t) return !1;var n = Object.keys(e),r = Object.keys(t);if (n.length !== r.length) return !1;for (r = 0; r < n.length; r++) if (!Dr.call(t, n[r]) || !Gr(e[n[r]], t[n[r]])) return !1;return !0;}var zr = O && "documentMode" in document && 11 >= document.documentMode,Mr = { select: { phasedRegistrationNames: { bubbled: "onSelect", captured: "onSelectCapture" }, dependencies: "blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ") } },Fr = null,Zr = null,Wr = null,Ur = !1;function Vr(e, t) {var n = t.window === t ? t.document : 9 === t.nodeType ? t : t.ownerDocument;return Ur || null == Fr || Fr !== cn(n) ? null : ("selectionStart" in (n = Fr) && hn(n) ? n = { start: n.selectionStart, end: n.selectionEnd } : n = { anchorNode: (n = (n.ownerDocument && n.ownerDocument.defaultView || window).getSelection()).anchorNode, anchorOffset: n.anchorOffset, focusNode: n.focusNode, focusOffset: n.focusOffset }, Wr && qr(Wr, n) ? null : (Wr = n, (e = Wn.getPooled(Mr.select, Zr, e, t)).type = "select", e.target = Fr, Gn(e), e));}var Hr = { eventTypes: Mr, extractEvents: function (e, t, n, r, i, a) {if (!(a = !(i = a || (r.window === r ? r.document : 9 === r.nodeType ? r : r.ownerDocument)))) {e: {i = Qe(i), a = w.onSelect;for (var o = 0; o < a.length; o++) if (!i.has(a[o])) {i = !1;break e;}i = !0;}a = !i;}if (a) return null;switch (i = t ? kn(t) : window, e) {case "focus":(ur(i) || "true" === i.contentEditable) && (Fr = i, Zr = t, Wr = null);break;case "blur":Wr = Zr = Fr = null;break;case "mousedown":Ur = !0;break;case "contextmenu":case "mouseup":case "dragend":return Ur = !1, Vr(n, r);case "selectionchange":if (zr) break;case "keydown":case "keyup":return Vr(n, r);}return null;} },Kr = Wn.extend({ animationName: null, elapsedTime: null, pseudoElement: null }),Yr = Wn.extend({ clipboardData: function (e) {return "clipboardData" in e ? e.clipboardData : window.clipboardData;} }),Xr = wr.extend({ relatedTarget: null });function $r(e) {var t = e.keyCode;return "charCode" in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : e = t, 10 === e && (e = 13), 32 <= e || 13 === e ? e : 0;}var Qr = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" },Jr = { 8: "Backspace", 9: "Tab", 12: "Clear", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Escape", 32: " ", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "ArrowLeft", 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", 45: "Insert", 46: "Delete", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 144: "NumLock", 145: "ScrollLock", 224: "Meta" },ei = wr.extend({ key: function (e) {if (e.key) {var t = Qr[e.key] || e.key;if ("Unidentified" !== t) return t;}return "keypress" === e.type ? 13 === (e = $r(e)) ? "Enter" : String.fromCharCode(e) : "keydown" === e.type || "keyup" === e.type ? Jr[e.keyCode] || "Unidentified" : "";}, location: null, ctrlKey: null, shiftKey: null, altKey: null, metaKey: null, repeat: null, locale: null, getModifierState: Rr, charCode: function (e) {return "keypress" === e.type ? $r(e) : 0;}, keyCode: function (e) {return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0;}, which: function (e) {return "keypress" === e.type ? $r(e) : "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0;} }),ti = Ir.extend({ dataTransfer: null }),ni = wr.extend({ touches: null, targetTouches: null, changedTouches: null, altKey: null, metaKey: null, ctrlKey: null, shiftKey: null, getModifierState: Rr }),ri = Wn.extend({ propertyName: null, elapsedTime: null, pseudoElement: null }),ii = Ir.extend({ deltaX: function (e) {return "deltaX" in e ? e.deltaX : "wheelDeltaX" in e ? -e.wheelDeltaX : 0;}, deltaY: function (e) {return "deltaY" in e ? e.deltaY : "wheelDeltaY" in e ? -e.wheelDeltaY : "wheelDelta" in e ? -e.wheelDelta : 0;}, deltaZ: null, deltaMode: null }),ai = { eventTypes: Gt, extractEvents: function (e, t, n, r) {var i = Dt.get(e);if (!i) return null;switch (e) {case "keypress":if (0 === $r(n)) return null;case "keydown":case "keyup":e = ei;break;case "blur":case "focus":e = Xr;break;case "click":if (2 === n.button) return null;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":e = Ir;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":e = ti;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":e = ni;break;case Ve:case He:case Ke:e = Kr;break;case Ye:e = ri;break;case "scroll":e = wr;break;case "wheel":e = ii;break;case "copy":case "cut":case "paste":e = Yr;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":e = Nr;break;default:e = Wn;}return Gn(t = e.getPooled(i, t, n, r)), t;} };if (v) throw Error(o(101));v = Array.prototype.slice.call("ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin".split(" ")), y(), h = Pn, g = Rn, m = kn, C({ SimpleEventPlugin: ai, EnterLeaveEventPlugin: jr, ChangeEventPlugin: Tr, SelectEventPlugin: Hr, BeforeInputEventPlugin: sr });var oi = [],si = -1;function li(e) {0 > si || (e.current = oi[si], oi[si] = null, si--);}function ui(e, t) {si++, oi[si] = e.current, e.current = t;}var ci = {},di = { current: ci },fi = { current: !1 },pi = ci;function hi(e, t) {var n = e.type.contextTypes;if (!n) return ci;var r = e.stateNode;if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) return r.__reactInternalMemoizedMaskedChildContext;var i,a = {};for (i in n) a[i] = t[i];return r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t, e.__reactInternalMemoizedMaskedChildContext = a), a;}function gi(e) {return null != (e = e.childContextTypes);}function mi() {li(fi), li(di);}function bi(e, t, n) {if (di.current !== ci) throw Error(o(168));ui(di, t), ui(fi, n);}function vi(e, t, n) {var r = e.stateNode;if (e = t.childContextTypes, "function" != typeof r.getChildContext) return n;for (var a in r = r.getChildContext()) if (!(a in e)) throw Error(o(108, me(t) || "Unknown", a));return i({}, n, {}, r);}function _i(e) {return e = (e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext || ci, pi = di.current, ui(di, e), ui(fi, fi.current), !0;}function yi(e, t, n) {var r = e.stateNode;if (!r) throw Error(o(169));n ? (e = vi(e, t, pi), r.__reactInternalMemoizedMergedChildContext = e, li(fi), li(di), ui(di, e)) : li(fi), ui(fi, n);}var Si = a.unstable_runWithPriority,xi = a.unstable_scheduleCallback,Ei = a.unstable_cancelCallback,Ti = a.unstable_requestPaint,wi = a.unstable_now,Ci = a.unstable_getCurrentPriorityLevel,Oi = a.unstable_ImmediatePriority,Ri = a.unstable_UserBlockingPriority,ki = a.unstable_NormalPriority,Pi = a.unstable_LowPriority,Li = a.unstable_IdlePriority,Ai = {},Ii = a.unstable_shouldYield,Ni = void 0 !== Ti ? Ti : function () {},Bi = null,ji = null,Gi = !1,Di = wi(),qi = 1e4 > Di ? wi : function () {return wi() - Di;};function zi() {switch (Ci()) {case Oi:return 99;case Ri:return 98;case ki:return 97;case Pi:return 96;case Li:return 95;default:throw Error(o(332));}}function Mi(e) {switch (e) {case 99:return Oi;case 98:return Ri;case 97:return ki;case 96:return Pi;case 95:return Li;default:throw Error(o(332));}}function Fi(e, t) {return e = Mi(e), Si(e, t);}function Zi(e, t, n) {return e = Mi(e), xi(e, t, n);}function Wi(e) {return null === Bi ? (Bi = [e], ji = xi(Oi, Vi)) : Bi.push(e), Ai;}function Ui() {if (null !== ji) {var e = ji;ji = null, Ei(e);}Vi();}function Vi() {if (!Gi && null !== Bi) {Gi = !0;var e = 0;try {var t = Bi;Fi(99, function () {for (; e < t.length; e++) {var n = t[e];do {n = n(!0);} while (null !== n);}}), Bi = null;} catch (t) {throw null !== Bi && (Bi = Bi.slice(e + 1)), xi(Oi, Ui), t;} finally {Gi = !1;}}}function Hi(e, t, n) {return 1073741821 - (1 + ((1073741821 - e + t / 10) / (n /= 10) | 0)) * n;}function Ki(e, t) {if (e && e.defaultProps) for (var n in t = i({}, t), e = e.defaultProps) void 0 === t[n] && (t[n] = e[n]);return t;}var Yi = { current: null },Xi = null,$i = null,Qi = null;function Ji() {Qi = $i = Xi = null;}function ea(e) {var t = Yi.current;li(Yi), e.type._context._currentValue = t;}function ta(e, t) {for (; null !== e;) {var n = e.alternate;if (e.childExpirationTime < t) e.childExpirationTime = t, null !== n && n.childExpirationTime < t && (n.childExpirationTime = t);else {if (!(null !== n && n.childExpirationTime < t)) break;n.childExpirationTime = t;}e = e.return;}}function na(e, t) {Xi = e, Qi = $i = null, null !== (e = e.dependencies) && null !== e.firstContext && (e.expirationTime >= t && (Po = !0), e.firstContext = null);}function ra(e, t) {if (Qi !== e && !1 !== t && 0 !== t) if ("number" == typeof t && 1073741823 !== t || (Qi = e, t = 1073741823), t = { context: e, observedBits: t, next: null }, null === $i) {if (null === Xi) throw Error(o(308));$i = t, Xi.dependencies = { expirationTime: 0, firstContext: t, responders: null };} else $i = $i.next = t;return e._currentValue;}var ia = !1;function aa(e) {e.updateQueue = { baseState: e.memoizedState, baseQueue: null, shared: { pending: null }, effects: null };}function oa(e, t) {e = e.updateQueue, t.updateQueue === e && (t.updateQueue = { baseState: e.baseState, baseQueue: e.baseQueue, shared: e.shared, effects: e.effects });}function sa(e, t) {return (e = { expirationTime: e, suspenseConfig: t, tag: 0, payload: null, callback: null, next: null }).next = e;}function la(e, t) {if (null !== (e = e.updateQueue)) {var n = (e = e.shared).pending;null === n ? t.next = t : (t.next = n.next, n.next = t), e.pending = t;}}function ua(e, t) {var n = e.alternate;null !== n && oa(n, e), null === (n = (e = e.updateQueue).baseQueue) ? (e.baseQueue = t.next = t, t.next = t) : (t.next = n.next, n.next = t);}function ca(e, t, n, r) {var a = e.updateQueue;ia = !1;var o = a.baseQueue,s = a.shared.pending;if (null !== s) {if (null !== o) {var l = o.next;o.next = s.next, s.next = l;}o = s, a.shared.pending = null, null !== (l = e.alternate) && null !== (l = l.updateQueue) && (l.baseQueue = s);}if (null !== o) {l = o.next;var u = a.baseState,c = 0,d = null,f = null,p = null;if (null !== l) for (var h = l;;) {if ((s = h.expirationTime) < r) {var g = { expirationTime: h.expirationTime, suspenseConfig: h.suspenseConfig, tag: h.tag, payload: h.payload, callback: h.callback, next: null };null === p ? (f = p = g, d = u) : p = p.next = g, s > c && (c = s);} else {null !== p && (p = p.next = { expirationTime: 1073741823, suspenseConfig: h.suspenseConfig, tag: h.tag, payload: h.payload, callback: h.callback, next: null }), al(s, h.suspenseConfig);e: {var m = e,b = h;switch (s = t, g = n, b.tag) {case 1:if ("function" == typeof (m = b.payload)) {u = m.call(g, u, s);break e;}u = m;break e;case 3:m.effectTag = -4097 & m.effectTag | 64;case 0:if (null == (s = "function" == typeof (m = b.payload) ? m.call(g, u, s) : m)) break e;u = i({}, u, s);break e;case 2:ia = !0;}}null !== h.callback && (e.effectTag |= 32, null === (s = a.effects) ? a.effects = [h] : s.push(h));}if (null === (h = h.next) || h === l) {if (null === (s = a.shared.pending)) break;h = o.next = s.next, s.next = l, a.baseQueue = o = s, a.shared.pending = null;}}null === p ? d = u : p.next = f, a.baseState = d, a.baseQueue = p, ol(c), e.expirationTime = c, e.memoizedState = u;}}function da(e, t, n) {if (e = t.effects, t.effects = null, null !== e) for (t = 0; t < e.length; t++) {var r = e[t],i = r.callback;if (null !== i) {if (r.callback = null, r = i, i = n, "function" != typeof r) throw Error(o(191, r));r.call(i);}}}var fa = X.ReactCurrentBatchConfig,pa = new r.Component().refs;function ha(e, t, n, r) {n = null == (n = n(r, t = e.memoizedState)) ? t : i({}, t, n), e.memoizedState = n, 0 === e.expirationTime && (e.updateQueue.baseState = n);}var ga = { isMounted: function (e) {return !!(e = e._reactInternalFiber) && Je(e) === e;}, enqueueSetState: function (e, t, n) {e = e._reactInternalFiber;var r = Vs(),i = fa.suspense;(i = sa(r = Hs(r, e, i), i)).payload = t, null != n && (i.callback = n), la(e, i), Ks(e, r);}, enqueueReplaceState: function (e, t, n) {e = e._reactInternalFiber;var r = Vs(),i = fa.suspense;(i = sa(r = Hs(r, e, i), i)).tag = 1, i.payload = t, null != n && (i.callback = n), la(e, i), Ks(e, r);}, enqueueForceUpdate: function (e, t) {e = e._reactInternalFiber;var n = Vs(),r = fa.suspense;(r = sa(n = Hs(n, e, r), r)).tag = 2, null != t && (r.callback = t), la(e, r), Ks(e, n);} };function ma(e, t, n, r, i, a, o) {return "function" == typeof (e = e.stateNode).shouldComponentUpdate ? e.shouldComponentUpdate(r, a, o) : !t.prototype || !t.prototype.isPureReactComponent || !qr(n, r) || !qr(i, a);}function ba(e, t, n) {var r = !1,i = ci,a = t.contextType;return "object" == typeof a && null !== a ? a = ra(a) : (i = gi(t) ? pi : di.current, a = (r = null != (r = t.contextTypes)) ? hi(e, i) : ci), t = new t(n, a), e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null, t.updater = ga, e.stateNode = t, t._reactInternalFiber = e, r && ((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = i, e.__reactInternalMemoizedMaskedChildContext = a), t;}function va(e, t, n, r) {e = t.state, "function" == typeof t.componentWillReceiveProps && t.componentWillReceiveProps(n, r), "function" == typeof t.UNSAFE_componentWillReceiveProps && t.UNSAFE_componentWillReceiveProps(n, r), t.state !== e && ga.enqueueReplaceState(t, t.state, null);}function _a(e, t, n, r) {var i = e.stateNode;i.props = n, i.state = e.memoizedState, i.refs = pa, aa(e);var a = t.contextType;"object" == typeof a && null !== a ? i.context = ra(a) : (a = gi(t) ? pi : di.current, i.context = hi(e, a)), ca(e, n, i, r), i.state = e.memoizedState, "function" == typeof (a = t.getDerivedStateFromProps) && (ha(e, t, a, n), i.state = e.memoizedState), "function" == typeof t.getDerivedStateFromProps || "function" == typeof i.getSnapshotBeforeUpdate || "function" != typeof i.UNSAFE_componentWillMount && "function" != typeof i.componentWillMount || (t = i.state, "function" == typeof i.componentWillMount && i.componentWillMount(), "function" == typeof i.UNSAFE_componentWillMount && i.UNSAFE_componentWillMount(), t !== i.state && ga.enqueueReplaceState(i, i.state, null), ca(e, n, i, r), i.state = e.memoizedState), "function" == typeof i.componentDidMount && (e.effectTag |= 4);}var ya = Array.isArray;function Sa(e, t, n) {if (null !== (e = n.ref) && "function" != typeof e && "object" != typeof e) {if (n._owner) {if (n = n._owner) {if (1 !== n.tag) throw Error(o(309));var r = n.stateNode;}if (!r) throw Error(o(147, e));var i = "" + e;return null !== t && null !== t.ref && "function" == typeof t.ref && t.ref._stringRef === i ? t.ref : ((t = function (e) {var t = r.refs;t === pa && (t = r.refs = {}), null === e ? delete t[i] : t[i] = e;})._stringRef = i, t);}if ("string" != typeof e) throw Error(o(284));if (!n._owner) throw Error(o(290, e));}return e;}function xa(e, t) {if ("textarea" !== e.type) throw Error(o(31, "[object Object]" === Object.prototype.toString.call(t) ? "object with keys {" + Object.keys(t).join(", ") + "}" : t, ""));}function Ea(e) {function t(t, n) {if (e) {var r = t.lastEffect;null !== r ? (r.nextEffect = n, t.lastEffect = n) : t.firstEffect = t.lastEffect = n, n.nextEffect = null, n.effectTag = 8;}}function n(n, r) {if (!e) return null;for (; null !== r;) t(n, r), r = r.sibling;return null;}function r(e, t) {for (e = new Map(); null !== t;) null !== t.key ? e.set(t.key, t) : e.set(t.index, t), t = t.sibling;return e;}function i(e, t) {return (e = Cl(e, t)).index = 0, e.sibling = null, e;}function a(t, n, r) {return t.index = r, e ? null !== (r = t.alternate) ? (r = r.index) < n ? (t.effectTag = 2, n) : r : (t.effectTag = 2, n) : n;}function s(t) {return e && null === t.alternate && (t.effectTag = 2), t;}function l(e, t, n, r) {return null === t || 6 !== t.tag ? ((t = kl(n, e.mode, r)).return = e, t) : ((t = i(t, n)).return = e, t);}function u(e, t, n, r) {return null !== t && t.elementType === n.type ? ((r = i(t, n.props)).ref = Sa(e, t, n), r.return = e, r) : ((r = Ol(n.type, n.key, n.props, null, e.mode, r)).ref = Sa(e, t, n), r.return = e, r);}function c(e, t, n, r) {return null === t || 4 !== t.tag || t.stateNode.containerInfo !== n.containerInfo || t.stateNode.implementation !== n.implementation ? ((t = Pl(n, e.mode, r)).return = e, t) : ((t = i(t, n.children || [])).return = e, t);}function d(e, t, n, r, a) {return null === t || 7 !== t.tag ? ((t = Rl(n, e.mode, r, a)).return = e, t) : ((t = i(t, n)).return = e, t);}function f(e, t, n) {if ("string" == typeof t || "number" == typeof t) return (t = kl("" + t, e.mode, n)).return = e, t;if ("object" == typeof t && null !== t) {switch (t.$$typeof) {case ee:return (n = Ol(t.type, t.key, t.props, null, e.mode, n)).ref = Sa(e, null, t), n.return = e, n;case te:return (t = Pl(t, e.mode, n)).return = e, t;}if (ya(t) || ge(t)) return (t = Rl(t, e.mode, n, null)).return = e, t;xa(e, t);}return null;}function p(e, t, n, r) {var i = null !== t ? t.key : null;if ("string" == typeof n || "number" == typeof n) return null !== i ? null : l(e, t, "" + n, r);if ("object" == typeof n && null !== n) {switch (n.$$typeof) {case ee:return n.key === i ? n.type === ne ? d(e, t, n.props.children, r, i) : u(e, t, n, r) : null;case te:return n.key === i ? c(e, t, n, r) : null;}if (ya(n) || ge(n)) return null !== i ? null : d(e, t, n, r, null);xa(e, n);}return null;}function h(e, t, n, r, i) {if ("string" == typeof r || "number" == typeof r) return l(t, e = e.get(n) || null, "" + r, i);if ("object" == typeof r && null !== r) {switch (r.$$typeof) {case ee:return e = e.get(null === r.key ? n : r.key) || null, r.type === ne ? d(t, e, r.props.children, i, r.key) : u(t, e, r, i);case te:return c(t, e = e.get(null === r.key ? n : r.key) || null, r, i);}if (ya(r) || ge(r)) return d(t, e = e.get(n) || null, r, i, null);xa(t, r);}return null;}function g(i, o, s, l) {for (var u = null, c = null, d = o, g = o = 0, m = null; null !== d && g < s.length; g++) {d.index > g ? (m = d, d = null) : m = d.sibling;var b = p(i, d, s[g], l);if (null === b) {null === d && (d = m);break;}e && d && null === b.alternate && t(i, d), o = a(b, o, g), null === c ? u = b : c.sibling = b, c = b, d = m;}if (g === s.length) return n(i, d), u;if (null === d) {for (; g < s.length; g++) null !== (d = f(i, s[g], l)) && (o = a(d, o, g), null === c ? u = d : c.sibling = d, c = d);return u;}for (d = r(i, d); g < s.length; g++) null !== (m = h(d, i, g, s[g], l)) && (e && null !== m.alternate && d.delete(null === m.key ? g : m.key), o = a(m, o, g), null === c ? u = m : c.sibling = m, c = m);return e && d.forEach(function (e) {return t(i, e);}), u;}function m(i, s, l, u) {var c = ge(l);if ("function" != typeof c) throw Error(o(150));if (null == (l = c.call(l))) throw Error(o(151));for (var d = c = null, g = s, m = s = 0, b = null, v = l.next(); null !== g && !v.done; m++, v = l.next()) {g.index > m ? (b = g, g = null) : b = g.sibling;var _ = p(i, g, v.value, u);if (null === _) {null === g && (g = b);break;}e && g && null === _.alternate && t(i, g), s = a(_, s, m), null === d ? c = _ : d.sibling = _, d = _, g = b;}if (v.done) return n(i, g), c;if (null === g) {for (; !v.done; m++, v = l.next()) null !== (v = f(i, v.value, u)) && (s = a(v, s, m), null === d ? c = v : d.sibling = v, d = v);return c;}for (g = r(i, g); !v.done; m++, v = l.next()) null !== (v = h(g, i, m, v.value, u)) && (e && null !== v.alternate && g.delete(null === v.key ? m : v.key), s = a(v, s, m), null === d ? c = v : d.sibling = v, d = v);return e && g.forEach(function (e) {return t(i, e);}), c;}return function (e, r, a, l) {var u = "object" == typeof a && null !== a && a.type === ne && null === a.key;u && (a = a.props.children);var c = "object" == typeof a && null !== a;if (c) switch (a.$$typeof) {case ee:e: {for (c = a.key, u = r; null !== u;) {if (u.key === c) {switch (u.tag) {case 7:if (a.type === ne) {n(e, u.sibling), (r = i(u, a.props.children)).return = e, e = r;break e;}break;default:if (u.elementType === a.type) {n(e, u.sibling), (r = i(u, a.props)).ref = Sa(e, u, a), r.return = e, e = r;break e;}}n(e, u);break;}t(e, u), u = u.sibling;}a.type === ne ? ((r = Rl(a.props.children, e.mode, l, a.key)).return = e, e = r) : ((l = Ol(a.type, a.key, a.props, null, e.mode, l)).ref = Sa(e, r, a), l.return = e, e = l);}return s(e);case te:e: {for (u = a.key; null !== r;) {if (r.key === u) {if (4 === r.tag && r.stateNode.containerInfo === a.containerInfo && r.stateNode.implementation === a.implementation) {n(e, r.sibling), (r = i(r, a.children || [])).return = e, e = r;break e;}n(e, r);break;}t(e, r), r = r.sibling;}(r = Pl(a, e.mode, l)).return = e, e = r;}return s(e);}if ("string" == typeof a || "number" == typeof a) return a = "" + a, null !== r && 6 === r.tag ? (n(e, r.sibling), (r = i(r, a)).return = e, e = r) : (n(e, r), (r = kl(a, e.mode, l)).return = e, e = r), s(e);if (ya(a)) return g(e, r, a, l);if (ge(a)) return m(e, r, a, l);if (c && xa(e, a), void 0 === a && !u) switch (e.tag) {case 1:case 0:throw e = e.type, Error(o(152, e.displayName || e.name || "Component"));}return n(e, r);};}var Ta = Ea(!0),wa = Ea(!1),Ca = {},Oa = { current: Ca },Ra = { current: Ca },ka = { current: Ca };function Pa(e) {if (e === Ca) throw Error(o(174));return e;}function La(e, t) {switch (ui(ka, t), ui(Ra, e), ui(Oa, Ca), e = t.nodeType) {case 9:case 11:t = (t = t.documentElement) ? t.namespaceURI : Ge(null, "");break;default:t = Ge(t = (e = 8 === e ? t.parentNode : t).namespaceURI || null, e = e.tagName);}li(Oa), ui(Oa, t);}function Aa() {li(Oa), li(Ra), li(ka);}function Ia(e) {Pa(ka.current);var t = Pa(Oa.current),n = Ge(t, e.type);t !== n && (ui(Ra, e), ui(Oa, n));}function Na(e) {Ra.current === e && (li(Oa), li(Ra));}var Ba = { current: 0 };function ja(e) {for (var t = e; null !== t;) {if (13 === t.tag) {var n = t.memoizedState;if (null !== n && (null === (n = n.dehydrated) || "$?" === n.data || "$!" === n.data)) return t;} else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) {if (0 != (64 & t.effectTag)) return t;} else if (null !== t.child) {t.child.return = t, t = t.child;continue;}if (t === e) break;for (; null === t.sibling;) {if (null === t.return || t.return === e) return null;t = t.return;}t.sibling.return = t.return, t = t.sibling;}return null;}function Ga(e, t) {return { responder: e, props: t };}var Da = X.ReactCurrentDispatcher,qa = X.ReactCurrentBatchConfig,za = 0,Ma = null,Fa = null,Za = null,Wa = !1;function Ua() {throw Error(o(321));}function Va(e, t) {if (null === t) return !1;for (var n = 0; n < t.length && n < e.length; n++) if (!Gr(e[n], t[n])) return !1;return !0;}function Ha(e, t, n, r, i, a) {if (za = a, Ma = t, t.memoizedState = null, t.updateQueue = null, t.expirationTime = 0, Da.current = null === e || null === e.memoizedState ? bo : vo, e = n(r, i), t.expirationTime === za) {a = 0;do {if (t.expirationTime = 0, !(25 > a)) throw Error(o(301));a += 1, Za = Fa = null, t.updateQueue = null, Da.current = _o, e = n(r, i);} while (t.expirationTime === za);}if (Da.current = mo, t = null !== Fa && null !== Fa.next, za = 0, Za = Fa = Ma = null, Wa = !1, t) throw Error(o(300));return e;}function Ka() {var e = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null };return null === Za ? Ma.memoizedState = Za = e : Za = Za.next = e, Za;}function Ya() {if (null === Fa) {var e = Ma.alternate;e = null !== e ? e.memoizedState : null;} else e = Fa.next;var t = null === Za ? Ma.memoizedState : Za.next;if (null !== t) Za = t, Fa = e;else {if (null === e) throw Error(o(310));e = { memoizedState: (Fa = e).memoizedState, baseState: Fa.baseState, baseQueue: Fa.baseQueue, queue: Fa.queue, next: null }, null === Za ? Ma.memoizedState = Za = e : Za = Za.next = e;}return Za;}function Xa(e, t) {return "function" == typeof t ? t(e) : t;}function $a(e) {var t = Ya(),n = t.queue;if (null === n) throw Error(o(311));n.lastRenderedReducer = e;var r = Fa,i = r.baseQueue,a = n.pending;if (null !== a) {if (null !== i) {var s = i.next;i.next = a.next, a.next = s;}r.baseQueue = i = a, n.pending = null;}if (null !== i) {i = i.next, r = r.baseState;var l = s = a = null,u = i;do {var c = u.expirationTime;if (c < za) {var d = { expirationTime: u.expirationTime, suspenseConfig: u.suspenseConfig, action: u.action, eagerReducer: u.eagerReducer, eagerState: u.eagerState, next: null };null === l ? (s = l = d, a = r) : l = l.next = d, c > Ma.expirationTime && (Ma.expirationTime = c, ol(c));} else null !== l && (l = l.next = { expirationTime: 1073741823, suspenseConfig: u.suspenseConfig, action: u.action, eagerReducer: u.eagerReducer, eagerState: u.eagerState, next: null }), al(c, u.suspenseConfig), r = u.eagerReducer === e ? u.eagerState : e(r, u.action);u = u.next;} while (null !== u && u !== i);null === l ? a = r : l.next = s, Gr(r, t.memoizedState) || (Po = !0), t.memoizedState = r, t.baseState = a, t.baseQueue = l, n.lastRenderedState = r;}return [t.memoizedState, n.dispatch];}function Qa(e) {var t = Ya(),n = t.queue;if (null === n) throw Error(o(311));n.lastRenderedReducer = e;var r = n.dispatch,i = n.pending,a = t.memoizedState;if (null !== i) {n.pending = null;var s = i = i.next;do {a = e(a, s.action), s = s.next;} while (s !== i);Gr(a, t.memoizedState) || (Po = !0), t.memoizedState = a, null === t.baseQueue && (t.baseState = a), n.lastRenderedState = a;}return [a, r];}function Ja(e) {var t = Ka();return "function" == typeof e && (e = e()), t.memoizedState = t.baseState = e, e = (e = t.queue = { pending: null, dispatch: null, lastRenderedReducer: Xa, lastRenderedState: e }).dispatch = go.bind(null, Ma, e), [t.memoizedState, e];}function eo(e, t, n, r) {return e = { tag: e, create: t, destroy: n, deps: r, next: null }, null === (t = Ma.updateQueue) ? (t = { lastEffect: null }, Ma.updateQueue = t, t.lastEffect = e.next = e) : null === (n = t.lastEffect) ? t.lastEffect = e.next = e : (r = n.next, n.next = e, e.next = r, t.lastEffect = e), e;}function to() {return Ya().memoizedState;}function no(e, t, n, r) {var i = Ka();Ma.effectTag |= e, i.memoizedState = eo(1 | t, n, void 0, void 0 === r ? null : r);}function ro(e, t, n, r) {var i = Ya();r = void 0 === r ? null : r;var a = void 0;if (null !== Fa) {var o = Fa.memoizedState;if (a = o.destroy, null !== r && Va(r, o.deps)) return void eo(t, n, a, r);}Ma.effectTag |= e, i.memoizedState = eo(1 | t, n, a, r);}function io(e, t) {return no(516, 4, e, t);}function ao(e, t) {return ro(516, 4, e, t);}function oo(e, t) {return ro(4, 2, e, t);}function so(e, t) {return "function" == typeof t ? (e = e(), t(e), function () {t(null);}) : null != t ? (e = e(), t.current = e, function () {t.current = null;}) : void 0;}function lo(e, t, n) {return n = null != n ? n.concat([e]) : null, ro(4, 2, so.bind(null, t, e), n);}function uo() {}function co(e, t) {return Ka().memoizedState = [e, void 0 === t ? null : t], e;}function fo(e, t) {var n = Ya();t = void 0 === t ? null : t;var r = n.memoizedState;return null !== r && null !== t && Va(t, r[1]) ? r[0] : (n.memoizedState = [e, t], e);}function po(e, t) {var n = Ya();t = void 0 === t ? null : t;var r = n.memoizedState;return null !== r && null !== t && Va(t, r[1]) ? r[0] : (e = e(), n.memoizedState = [e, t], e);}function ho(e, t, n) {var r = zi();Fi(98 > r ? 98 : r, function () {e(!0);}), Fi(97 < r ? 97 : r, function () {var r = qa.suspense;qa.suspense = void 0 === t ? null : t;try {e(!1), n();} finally {qa.suspense = r;}});}function go(e, t, n) {var r = Vs(),i = fa.suspense;i = { expirationTime: r = Hs(r, e, i), suspenseConfig: i, action: n, eagerReducer: null, eagerState: null, next: null };var a = t.pending;if (null === a ? i.next = i : (i.next = a.next, a.next = i), t.pending = i, a = e.alternate, e === Ma || null !== a && a === Ma) Wa = !0, i.expirationTime = za, Ma.expirationTime = za;else {if (0 === e.expirationTime && (null === a || 0 === a.expirationTime) && null !== (a = t.lastRenderedReducer)) try {var o = t.lastRenderedState,s = a(o, n);if (i.eagerReducer = a, i.eagerState = s, Gr(s, o)) return;} catch (e) {}Ks(e, r);}}var mo = { readContext: ra, useCallback: Ua, useContext: Ua, useEffect: Ua, useImperativeHandle: Ua, useLayoutEffect: Ua, useMemo: Ua, useReducer: Ua, useRef: Ua, useState: Ua, useDebugValue: Ua, useResponder: Ua, useDeferredValue: Ua, useTransition: Ua },bo = { readContext: ra, useCallback: co, useContext: ra, useEffect: io, useImperativeHandle: function (e, t, n) {return n = null != n ? n.concat([e]) : null, no(4, 2, so.bind(null, t, e), n);}, useLayoutEffect: function (e, t) {return no(4, 2, e, t);}, useMemo: function (e, t) {var n = Ka();return t = void 0 === t ? null : t, e = e(), n.memoizedState = [e, t], e;}, useReducer: function (e, t, n) {var r = Ka();return t = void 0 !== n ? n(t) : t, r.memoizedState = r.baseState = t, e = (e = r.queue = { pending: null, dispatch: null, lastRenderedReducer: e, lastRenderedState: t }).dispatch = go.bind(null, Ma, e), [r.memoizedState, e];}, useRef: function (e) {return e = { current: e }, Ka().memoizedState = e;}, useState: Ja, useDebugValue: uo, useResponder: Ga, useDeferredValue: function (e, t) {var n = Ja(e),r = n[0],i = n[1];return io(function () {var n = qa.suspense;qa.suspense = void 0 === t ? null : t;try {i(e);} finally {qa.suspense = n;}}, [e, t]), r;}, useTransition: function (e) {var t = Ja(!1),n = t[0];return t = t[1], [co(ho.bind(null, t, e), [t, e]), n];} },vo = { readContext: ra, useCallback: fo, useContext: ra, useEffect: ao, useImperativeHandle: lo, useLayoutEffect: oo, useMemo: po, useReducer: $a, useRef: to, useState: function () {return $a(Xa);}, useDebugValue: uo, useResponder: Ga, useDeferredValue: function (e, t) {var n = $a(Xa),r = n[0],i = n[1];return ao(function () {var n = qa.suspense;qa.suspense = void 0 === t ? null : t;try {i(e);} finally {qa.suspense = n;}}, [e, t]), r;}, useTransition: function (e) {var t = $a(Xa),n = t[0];return t = t[1], [fo(ho.bind(null, t, e), [t, e]), n];} },_o = { readContext: ra, useCallback: fo, useContext: ra, useEffect: ao, useImperativeHandle: lo, useLayoutEffect: oo, useMemo: po, useReducer: Qa, useRef: to, useState: function () {return Qa(Xa);}, useDebugValue: uo, useResponder: Ga, useDeferredValue: function (e, t) {var n = Qa(Xa),r = n[0],i = n[1];return ao(function () {var n = qa.suspense;qa.suspense = void 0 === t ? null : t;try {i(e);} finally {qa.suspense = n;}}, [e, t]), r;}, useTransition: function (e) {var t = Qa(Xa),n = t[0];return t = t[1], [fo(ho.bind(null, t, e), [t, e]), n];} },yo = null,So = null,xo = !1;function Eo(e, t) {var n = Tl(5, null, null, 0);n.elementType = "DELETED", n.type = "DELETED", n.stateNode = t, n.return = e, n.effectTag = 8, null !== e.lastEffect ? (e.lastEffect.nextEffect = n, e.lastEffect = n) : e.firstEffect = e.lastEffect = n;}function To(e, t) {switch (e.tag) {case 5:var n = e.type;return null !== (t = 1 !== t.nodeType || n.toLowerCase() !== t.nodeName.toLowerCase() ? null : t) && (e.stateNode = t, !0);case 6:return null !== (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && (e.stateNode = t, !0);case 13:default:return !1;}}function wo(e) {if (xo) {var t = So;if (t) {var n = t;if (!To(e, t)) {if (!(t = Sn(n.nextSibling)) || !To(e, t)) return e.effectTag = -1025 & e.effectTag | 2, xo = !1, void (yo = e);Eo(yo, n);}yo = e, So = Sn(t.firstChild);} else e.effectTag = -1025 & e.effectTag | 2, xo = !1, yo = e;}}function Co(e) {for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag;) e = e.return;yo = e;}function Oo(e) {if (e !== yo) return !1;if (!xo) return Co(e), xo = !0, !1;var t = e.type;if (5 !== e.tag || "head" !== t && "body" !== t && !vn(t, e.memoizedProps)) for (t = So; t;) Eo(e, t), t = Sn(t.nextSibling);if (Co(e), 13 === e.tag) {if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) throw Error(o(317));e: {for (e = e.nextSibling, t = 0; e;) {if (8 === e.nodeType) {var n = e.data;if ("/$" === n) {if (0 === t) {So = Sn(e.nextSibling);break e;}t--;} else "$" !== n && "$!" !== n && "$?" !== n || t++;}e = e.nextSibling;}So = null;}} else So = yo ? Sn(e.stateNode.nextSibling) : null;return !0;}function Ro() {So = yo = null, xo = !1;}var ko = X.ReactCurrentOwner,Po = !1;function Lo(e, t, n, r) {t.child = null === e ? wa(t, null, n, r) : Ta(t, e.child, n, r);}function Ao(e, t, n, r, i) {n = n.render;var a = t.ref;return na(t, i), r = Ha(e, t, n, r, a, i), null === e || Po ? (t.effectTag |= 1, Lo(e, t, r, i), t.child) : (t.updateQueue = e.updateQueue, t.effectTag &= -517, e.expirationTime <= i && (e.expirationTime = 0), Ko(e, t, i));}function Io(e, t, n, r, i, a) {if (null === e) {var o = n.type;return "function" != typeof o || wl(o) || void 0 !== o.defaultProps || null !== n.compare || void 0 !== n.defaultProps ? ((e = Ol(n.type, null, r, null, t.mode, a)).ref = t.ref, e.return = t, t.child = e) : (t.tag = 15, t.type = o, No(e, t, o, r, i, a));}return o = e.child, i < a && (i = o.memoizedProps, (n = null !== (n = n.compare) ? n : qr)(i, r) && e.ref === t.ref) ? Ko(e, t, a) : (t.effectTag |= 1, (e = Cl(o, r)).ref = t.ref, e.return = t, t.child = e);}function No(e, t, n, r, i, a) {return null !== e && qr(e.memoizedProps, r) && e.ref === t.ref && (Po = !1, i < a) ? (t.expirationTime = e.expirationTime, Ko(e, t, a)) : jo(e, t, n, r, a);}function Bo(e, t) {var n = t.ref;(null === e && null !== n || null !== e && e.ref !== n) && (t.effectTag |= 128);}function jo(e, t, n, r, i) {var a = gi(n) ? pi : di.current;return a = hi(t, a), na(t, i), n = Ha(e, t, n, r, a, i), null === e || Po ? (t.effectTag |= 1, Lo(e, t, n, i), t.child) : (t.updateQueue = e.updateQueue, t.effectTag &= -517, e.expirationTime <= i && (e.expirationTime = 0), Ko(e, t, i));}function Go(e, t, n, r, i) {if (gi(n)) {var a = !0;_i(t);} else a = !1;if (na(t, i), null === t.stateNode) null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), ba(t, n, r), _a(t, n, r, i), r = !0;else if (null === e) {var o = t.stateNode,s = t.memoizedProps;o.props = s;var l = o.context,u = n.contextType;"object" == typeof u && null !== u ? u = ra(u) : u = hi(t, u = gi(n) ? pi : di.current);var c = n.getDerivedStateFromProps,d = "function" == typeof c || "function" == typeof o.getSnapshotBeforeUpdate;d || "function" != typeof o.UNSAFE_componentWillReceiveProps && "function" != typeof o.componentWillReceiveProps || (s !== r || l !== u) && va(t, o, r, u), ia = !1;var f = t.memoizedState;o.state = f, ca(t, r, o, i), l = t.memoizedState, s !== r || f !== l || fi.current || ia ? ("function" == typeof c && (ha(t, n, c, r), l = t.memoizedState), (s = ia || ma(t, n, s, r, f, l, u)) ? (d || "function" != typeof o.UNSAFE_componentWillMount && "function" != typeof o.componentWillMount || ("function" == typeof o.componentWillMount && o.componentWillMount(), "function" == typeof o.UNSAFE_componentWillMount && o.UNSAFE_componentWillMount()), "function" == typeof o.componentDidMount && (t.effectTag |= 4)) : ("function" == typeof o.componentDidMount && (t.effectTag |= 4), t.memoizedProps = r, t.memoizedState = l), o.props = r, o.state = l, o.context = u, r = s) : ("function" == typeof o.componentDidMount && (t.effectTag |= 4), r = !1);} else o = t.stateNode, oa(e, t), s = t.memoizedProps, o.props = t.type === t.elementType ? s : Ki(t.type, s), l = o.context, "object" == typeof (u = n.contextType) && null !== u ? u = ra(u) : u = hi(t, u = gi(n) ? pi : di.current), (d = "function" == typeof (c = n.getDerivedStateFromProps) || "function" == typeof o.getSnapshotBeforeUpdate) || "function" != typeof o.UNSAFE_componentWillReceiveProps && "function" != typeof o.componentWillReceiveProps || (s !== r || l !== u) && va(t, o, r, u), ia = !1, l = t.memoizedState, o.state = l, ca(t, r, o, i), f = t.memoizedState, s !== r || l !== f || fi.current || ia ? ("function" == typeof c && (ha(t, n, c, r), f = t.memoizedState), (c = ia || ma(t, n, s, r, l, f, u)) ? (d || "function" != typeof o.UNSAFE_componentWillUpdate && "function" != typeof o.componentWillUpdate || ("function" == typeof o.componentWillUpdate && o.componentWillUpdate(r, f, u), "function" == typeof o.UNSAFE_componentWillUpdate && o.UNSAFE_componentWillUpdate(r, f, u)), "function" == typeof o.componentDidUpdate && (t.effectTag |= 4), "function" == typeof o.getSnapshotBeforeUpdate && (t.effectTag |= 256)) : ("function" != typeof o.componentDidUpdate || s === e.memoizedProps && l === e.memoizedState || (t.effectTag |= 4), "function" != typeof o.getSnapshotBeforeUpdate || s === e.memoizedProps && l === e.memoizedState || (t.effectTag |= 256), t.memoizedProps = r, t.memoizedState = f), o.props = r, o.state = f, o.context = u, r = c) : ("function" != typeof o.componentDidUpdate || s === e.memoizedProps && l === e.memoizedState || (t.effectTag |= 4), "function" != typeof o.getSnapshotBeforeUpdate || s === e.memoizedProps && l === e.memoizedState || (t.effectTag |= 256), r = !1);return Do(e, t, n, r, a, i);}function Do(e, t, n, r, i, a) {Bo(e, t);var o = 0 != (64 & t.effectTag);if (!r && !o) return i && yi(t, n, !1), Ko(e, t, a);r = t.stateNode, ko.current = t;var s = o && "function" != typeof n.getDerivedStateFromError ? null : r.render();return t.effectTag |= 1, null !== e && o ? (t.child = Ta(t, e.child, null, a), t.child = Ta(t, null, s, a)) : Lo(e, t, s, a), t.memoizedState = r.state, i && yi(t, n, !0), t.child;}function qo(e) {var t = e.stateNode;t.pendingContext ? bi(0, t.pendingContext, t.pendingContext !== t.context) : t.context && bi(0, t.context, !1), La(e, t.containerInfo);}var zo,Mo,Fo,Zo = { dehydrated: null, retryTime: 0 };function Wo(e, t, n) {var r,i = t.mode,a = t.pendingProps,o = Ba.current,s = !1;if ((r = 0 != (64 & t.effectTag)) || (r = 0 != (2 & o) && (null === e || null !== e.memoizedState)), r ? (s = !0, t.effectTag &= -65) : null !== e && null === e.memoizedState || void 0 === a.fallback || !0 === a.unstable_avoidThisFallback || (o |= 1), ui(Ba, 1 & o), null === e) {if (void 0 !== a.fallback && wo(t), s) {if (s = a.fallback, (a = Rl(null, i, 0, null)).return = t, 0 == (2 & t.mode)) for (e = null !== t.memoizedState ? t.child.child : t.child, a.child = e; null !== e;) e.return = a, e = e.sibling;return (n = Rl(s, i, n, null)).return = t, a.sibling = n, t.memoizedState = Zo, t.child = a, n;}return i = a.children, t.memoizedState = null, t.child = wa(t, null, i, n);}if (null !== e.memoizedState) {if (i = (e = e.child).sibling, s) {if (a = a.fallback, (n = Cl(e, e.pendingProps)).return = t, 0 == (2 & t.mode) && (s = null !== t.memoizedState ? t.child.child : t.child) !== e.child) for (n.child = s; null !== s;) s.return = n, s = s.sibling;return (i = Cl(i, a)).return = t, n.sibling = i, n.childExpirationTime = 0, t.memoizedState = Zo, t.child = n, i;}return n = Ta(t, e.child, a.children, n), t.memoizedState = null, t.child = n;}if (e = e.child, s) {if (s = a.fallback, (a = Rl(null, i, 0, null)).return = t, a.child = e, null !== e && (e.return = a), 0 == (2 & t.mode)) for (e = null !== t.memoizedState ? t.child.child : t.child, a.child = e; null !== e;) e.return = a, e = e.sibling;return (n = Rl(s, i, n, null)).return = t, a.sibling = n, n.effectTag |= 2, a.childExpirationTime = 0, t.memoizedState = Zo, t.child = a, n;}return t.memoizedState = null, t.child = Ta(t, e, a.children, n);}function Uo(e, t) {e.expirationTime < t && (e.expirationTime = t);var n = e.alternate;null !== n && n.expirationTime < t && (n.expirationTime = t), ta(e.return, t);}function Vo(e, t, n, r, i, a) {var o = e.memoizedState;null === o ? e.memoizedState = { isBackwards: t, rendering: null, renderingStartTime: 0, last: r, tail: n, tailExpiration: 0, tailMode: i, lastEffect: a } : (o.isBackwards = t, o.rendering = null, o.renderingStartTime = 0, o.last = r, o.tail = n, o.tailExpiration = 0, o.tailMode = i, o.lastEffect = a);}function Ho(e, t, n) {var r = t.pendingProps,i = r.revealOrder,a = r.tail;if (Lo(e, t, r.children, n), 0 != (2 & (r = Ba.current))) r = 1 & r | 2, t.effectTag |= 64;else {if (null !== e && 0 != (64 & e.effectTag)) e: for (e = t.child; null !== e;) {if (13 === e.tag) null !== e.memoizedState && Uo(e, n);else if (19 === e.tag) Uo(e, n);else if (null !== e.child) {e.child.return = e, e = e.child;continue;}if (e === t) break e;for (; null === e.sibling;) {if (null === e.return || e.return === t) break e;e = e.return;}e.sibling.return = e.return, e = e.sibling;}r &= 1;}if (ui(Ba, r), 0 == (2 & t.mode)) t.memoizedState = null;else switch (i) {case "forwards":for (n = t.child, i = null; null !== n;) null !== (e = n.alternate) && null === ja(e) && (i = n), n = n.sibling;null === (n = i) ? (i = t.child, t.child = null) : (i = n.sibling, n.sibling = null), Vo(t, !1, i, n, a, t.lastEffect);break;case "backwards":for (n = null, i = t.child, t.child = null; null !== i;) {if (null !== (e = i.alternate) && null === ja(e)) {t.child = i;break;}e = i.sibling, i.sibling = n, n = i, i = e;}Vo(t, !0, n, null, a, t.lastEffect);break;case "together":Vo(t, !1, null, null, void 0, t.lastEffect);break;default:t.memoizedState = null;}return t.child;}function Ko(e, t, n) {null !== e && (t.dependencies = e.dependencies);var r = t.expirationTime;if (0 !== r && ol(r), t.childExpirationTime < n) return null;if (null !== e && t.child !== e.child) throw Error(o(153));if (null !== t.child) {for (n = Cl(e = t.child, e.pendingProps), t.child = n, n.return = t; null !== e.sibling;) e = e.sibling, (n = n.sibling = Cl(e, e.pendingProps)).return = t;n.sibling = null;}return t.child;}function Yo(e, t) {switch (e.tailMode) {case "hidden":t = e.tail;for (var n = null; null !== t;) null !== t.alternate && (n = t), t = t.sibling;null === n ? e.tail = null : n.sibling = null;break;case "collapsed":n = e.tail;for (var r = null; null !== n;) null !== n.alternate && (r = n), n = n.sibling;null === r ? t || null === e.tail ? e.tail = null : e.tail.sibling = null : r.sibling = null;}}function Xo(e, t, n) {var r = t.pendingProps;switch (t.tag) {case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return gi(t.type) && mi(), null;case 3:return Aa(), li(fi), li(di), (n = t.stateNode).pendingContext && (n.context = n.pendingContext, n.pendingContext = null), null !== e && null !== e.child || !Oo(t) || (t.effectTag |= 4), null;case 5:Na(t), n = Pa(ka.current);var a = t.type;if (null !== e && null != t.stateNode) Mo(e, t, a, r, n), e.ref !== t.ref && (t.effectTag |= 128);else {if (!r) {if (null === t.stateNode) throw Error(o(166));return null;}if (e = Pa(Oa.current), Oo(t)) {r = t.stateNode, a = t.type;var s = t.memoizedProps;switch (r[Tn] = t, r[wn] = s, a) {case "iframe":case "object":case "embed":Ht("load", r);break;case "video":case "audio":for (e = 0; e < Xe.length; e++) Ht(Xe[e], r);break;case "source":Ht("error", r);break;case "img":case "image":case "link":Ht("error", r), Ht("load", r);break;case "form":Ht("reset", r), Ht("submit", r);break;case "details":Ht("toggle", r);break;case "input":Ee(r, s), Ht("invalid", r), ln(n, "onChange");break;case "select":r._wrapperState = { wasMultiple: !!s.multiple }, Ht("invalid", r), ln(n, "onChange");break;case "textarea":Le(r, s), Ht("invalid", r), ln(n, "onChange");}for (var l in an(a, s), e = null, s) if (s.hasOwnProperty(l)) {var u = s[l];"children" === l ? "string" == typeof u ? r.textContent !== u && (e = ["children", u]) : "number" == typeof u && r.textContent !== "" + u && (e = ["children", "" + u]) : T.hasOwnProperty(l) && null != u && ln(n, l);}switch (a) {case "input":ye(r), Ce(r, s, !0);break;case "textarea":ye(r), Ie(r);break;case "select":case "option":break;default:"function" == typeof s.onClick && (r.onclick = un);}n = e, t.updateQueue = n, null !== n && (t.effectTag |= 4);} else {switch (l = 9 === n.nodeType ? n : n.ownerDocument, e === sn && (e = je(a)), e === sn ? "script" === a ? ((e = l.createElement("div")).innerHTML = "<script><\/script>", e = e.removeChild(e.firstChild)) : "string" == typeof r.is ? e = l.createElement(a, { is: r.is }) : (e = l.createElement(a), "select" === a && (l = e, r.multiple ? l.multiple = !0 : r.size && (l.size = r.size))) : e = l.createElementNS(e, a), e[Tn] = t, e[wn] = r, zo(e, t), t.stateNode = e, l = on(a, r), a) {case "iframe":case "object":case "embed":Ht("load", e), u = r;break;case "video":case "audio":for (u = 0; u < Xe.length; u++) Ht(Xe[u], e);u = r;break;case "source":Ht("error", e), u = r;break;case "img":case "image":case "link":Ht("error", e), Ht("load", e), u = r;break;case "form":Ht("reset", e), Ht("submit", e), u = r;break;case "details":Ht("toggle", e), u = r;break;case "input":Ee(e, r), u = xe(e, r), Ht("invalid", e), ln(n, "onChange");break;case "option":u = Re(e, r);break;case "select":e._wrapperState = { wasMultiple: !!r.multiple }, u = i({}, r, { value: void 0 }), Ht("invalid", e), ln(n, "onChange");break;case "textarea":Le(e, r), u = Pe(e, r), Ht("invalid", e), ln(n, "onChange");break;default:u = r;}an(a, u);var c = u;for (s in c) if (c.hasOwnProperty(s)) {var d = c[s];"style" === s ? nn(e, d) : "dangerouslySetInnerHTML" === s ? null != (d = d ? d.__html : void 0) && qe(e, d) : "children" === s ? "string" == typeof d ? ("textarea" !== a || "" !== d) && ze(e, d) : "number" == typeof d && ze(e, "" + d) : "suppressContentEditableWarning" !== s && "suppressHydrationWarning" !== s && "autoFocus" !== s && (T.hasOwnProperty(s) ? null != d && ln(n, s) : null != d && $(e, s, d, l));}switch (a) {case "input":ye(e), Ce(e, r, !1);break;case "textarea":ye(e), Ie(e);break;case "option":null != r.value && e.setAttribute("value", "" + ve(r.value));break;case "select":e.multiple = !!r.multiple, null != (n = r.value) ? ke(e, !!r.multiple, n, !1) : null != r.defaultValue && ke(e, !!r.multiple, r.defaultValue, !0);break;default:"function" == typeof u.onClick && (e.onclick = un);}bn(a, r) && (t.effectTag |= 4);}null !== t.ref && (t.effectTag |= 128);}return null;case 6:if (e && null != t.stateNode) Fo(0, t, e.memoizedProps, r);else {if ("string" != typeof r && null === t.stateNode) throw Error(o(166));n = Pa(ka.current), Pa(Oa.current), Oo(t) ? (n = t.stateNode, r = t.memoizedProps, n[Tn] = t, n.nodeValue !== r && (t.effectTag |= 4)) : ((n = (9 === n.nodeType ? n : n.ownerDocument).createTextNode(r))[Tn] = t, t.stateNode = n);}return null;case 13:return li(Ba), r = t.memoizedState, 0 != (64 & t.effectTag) ? (t.expirationTime = n, t) : (n = null !== r, r = !1, null === e ? void 0 !== t.memoizedProps.fallback && Oo(t) : (r = null !== (a = e.memoizedState), n || null === a || null !== (a = e.child.sibling) && (null !== (s = t.firstEffect) ? (t.firstEffect = a, a.nextEffect = s) : (t.firstEffect = t.lastEffect = a, a.nextEffect = null), a.effectTag = 8)), n && !r && 0 != (2 & t.mode) && (null === e && !0 !== t.memoizedProps.unstable_avoidThisFallback || 0 != (1 & Ba.current) ? Os === ys && (Os = Ss) : (Os !== ys && Os !== Ss || (Os = xs), 0 !== As && null !== Ts && (Il(Ts, Cs), Nl(Ts, As)))), (n || r) && (t.effectTag |= 4), null);case 4:return Aa(), null;case 10:return ea(t), null;case 17:return gi(t.type) && mi(), null;case 19:if (li(Ba), null === (r = t.memoizedState)) return null;if (a = 0 != (64 & t.effectTag), null === (s = r.rendering)) {if (a) Yo(r, !1);else if (Os !== ys || null !== e && 0 != (64 & e.effectTag)) for (s = t.child; null !== s;) {if (null !== (e = ja(s))) {for (t.effectTag |= 64, Yo(r, !1), null !== (a = e.updateQueue) && (t.updateQueue = a, t.effectTag |= 4), null === r.lastEffect && (t.firstEffect = null), t.lastEffect = r.lastEffect, r = t.child; null !== r;) s = n, (a = r).effectTag &= 2, a.nextEffect = null, a.firstEffect = null, a.lastEffect = null, null === (e = a.alternate) ? (a.childExpirationTime = 0, a.expirationTime = s, a.child = null, a.memoizedProps = null, a.memoizedState = null, a.updateQueue = null, a.dependencies = null) : (a.childExpirationTime = e.childExpirationTime, a.expirationTime = e.expirationTime, a.child = e.child, a.memoizedProps = e.memoizedProps, a.memoizedState = e.memoizedState, a.updateQueue = e.updateQueue, s = e.dependencies, a.dependencies = null === s ? null : { expirationTime: s.expirationTime, firstContext: s.firstContext, responders: s.responders }), r = r.sibling;return ui(Ba, 1 & Ba.current | 2), t.child;}s = s.sibling;}} else {if (!a) if (null !== (e = ja(s))) {if (t.effectTag |= 64, a = !0, null !== (n = e.updateQueue) && (t.updateQueue = n, t.effectTag |= 4), Yo(r, !0), null === r.tail && "hidden" === r.tailMode && !s.alternate) return null !== (t = t.lastEffect = r.lastEffect) && (t.nextEffect = null), null;} else 2 * qi() - r.renderingStartTime > r.tailExpiration && 1 < n && (t.effectTag |= 64, a = !0, Yo(r, !1), t.expirationTime = t.childExpirationTime = n - 1);r.isBackwards ? (s.sibling = t.child, t.child = s) : (null !== (n = r.last) ? n.sibling = s : t.child = s, r.last = s);}return null !== r.tail ? (0 === r.tailExpiration && (r.tailExpiration = qi() + 500), n = r.tail, r.rendering = n, r.tail = n.sibling, r.lastEffect = t.lastEffect, r.renderingStartTime = qi(), n.sibling = null, t = Ba.current, ui(Ba, a ? 1 & t | 2 : 1 & t), n) : null;}throw Error(o(156, t.tag));}function $o(e) {switch (e.tag) {case 1:gi(e.type) && mi();var t = e.effectTag;return 4096 & t ? (e.effectTag = -4097 & t | 64, e) : null;case 3:if (Aa(), li(fi), li(di), 0 != (64 & (t = e.effectTag))) throw Error(o(285));return e.effectTag = -4097 & t | 64, e;case 5:return Na(e), null;case 13:return li(Ba), 4096 & (t = e.effectTag) ? (e.effectTag = -4097 & t | 64, e) : null;case 19:return li(Ba), null;case 4:return Aa(), null;case 10:return ea(e), null;default:return null;}}function Qo(e, t) {return { value: e, source: t, stack: be(t) };}zo = function (e, t) {for (var n = t.child; null !== n;) {if (5 === n.tag || 6 === n.tag) e.appendChild(n.stateNode);else if (4 !== n.tag && null !== n.child) {n.child.return = n, n = n.child;continue;}if (n === t) break;for (; null === n.sibling;) {if (null === n.return || n.return === t) return;n = n.return;}n.sibling.return = n.return, n = n.sibling;}}, Mo = function (e, t, n, r, a) {var o = e.memoizedProps;if (o !== r) {var s,l,u = t.stateNode;switch (Pa(Oa.current), e = null, n) {case "input":o = xe(u, o), r = xe(u, r), e = [];break;case "option":o = Re(u, o), r = Re(u, r), e = [];break;case "select":o = i({}, o, { value: void 0 }), r = i({}, r, { value: void 0 }), e = [];break;case "textarea":o = Pe(u, o), r = Pe(u, r), e = [];break;default:"function" != typeof o.onClick && "function" == typeof r.onClick && (u.onclick = un);}for (s in an(n, r), n = null, o) if (!r.hasOwnProperty(s) && o.hasOwnProperty(s) && null != o[s]) if ("style" === s) for (l in u = o[s]) u.hasOwnProperty(l) && (n || (n = {}), n[l] = "");else "dangerouslySetInnerHTML" !== s && "children" !== s && "suppressContentEditableWarning" !== s && "suppressHydrationWarning" !== s && "autoFocus" !== s && (T.hasOwnProperty(s) ? e || (e = []) : (e = e || []).push(s, null));for (s in r) {var c = r[s];if (u = null != o ? o[s] : void 0, r.hasOwnProperty(s) && c !== u && (null != c || null != u)) if ("style" === s) {if (u) {for (l in u) !u.hasOwnProperty(l) || c && c.hasOwnProperty(l) || (n || (n = {}), n[l] = "");for (l in c) c.hasOwnProperty(l) && u[l] !== c[l] && (n || (n = {}), n[l] = c[l]);} else n || (e || (e = []), e.push(s, n)), n = c;} else "dangerouslySetInnerHTML" === s ? (c = c ? c.__html : void 0, u = u ? u.__html : void 0, null != c && u !== c && (e = e || []).push(s, c)) : "children" === s ? u === c || "string" != typeof c && "number" != typeof c || (e = e || []).push(s, "" + c) : "suppressContentEditableWarning" !== s && "suppressHydrationWarning" !== s && (T.hasOwnProperty(s) ? (null != c && ln(a, s), e || u === c || (e = [])) : (e = e || []).push(s, c));}n && (e = e || []).push("style", n), a = e, (t.updateQueue = a) && (t.effectTag |= 4);}}, Fo = function (e, t, n, r) {n !== r && (t.effectTag |= 4);};var Jo = "function" == typeof WeakSet ? WeakSet : Set;function es(e, t) {var n = t.source,r = t.stack;null === r && null !== n && (r = be(n)), null !== n && me(n.type), t = t.value, null !== e && 1 === e.tag && me(e.type);try {console.error(t);} catch (e) {setTimeout(function () {throw e;});}}function ts(e) {var t = e.ref;if (null !== t) if ("function" == typeof t) try {t(null);} catch (t) {vl(e, t);} else t.current = null;}function ns(e, t) {switch (t.tag) {case 0:case 11:case 15:case 22:return;case 1:if (256 & t.effectTag && null !== e) {var n = e.memoizedProps,r = e.memoizedState;t = (e = t.stateNode).getSnapshotBeforeUpdate(t.elementType === t.type ? n : Ki(t.type, n), r), e.__reactInternalSnapshotBeforeUpdate = t;}return;case 3:case 5:case 6:case 4:case 17:return;}throw Error(o(163));}function rs(e, t) {if (null !== (t = null !== (t = t.updateQueue) ? t.lastEffect : null)) {var n = t = t.next;do {if ((n.tag & e) === e) {var r = n.destroy;n.destroy = void 0, void 0 !== r && r();}n = n.next;} while (n !== t);}}function is(e, t) {if (null !== (t = null !== (t = t.updateQueue) ? t.lastEffect : null)) {var n = t = t.next;do {if ((n.tag & e) === e) {var r = n.create;n.destroy = r();}n = n.next;} while (n !== t);}}function as(e, t, n) {switch (n.tag) {case 0:case 11:case 15:case 22:return void is(3, n);case 1:if (e = n.stateNode, 4 & n.effectTag) if (null === t) e.componentDidMount();else {var r = n.elementType === n.type ? t.memoizedProps : Ki(n.type, t.memoizedProps);e.componentDidUpdate(r, t.memoizedState, e.__reactInternalSnapshotBeforeUpdate);}return void (null !== (t = n.updateQueue) && da(n, t, e));case 3:if (null !== (t = n.updateQueue)) {if (e = null, null !== n.child) switch (n.child.tag) {case 5:e = n.child.stateNode;break;case 1:e = n.child.stateNode;}da(n, t, e);}return;case 5:return e = n.stateNode, void (null === t && 4 & n.effectTag && bn(n.type, n.memoizedProps) && e.focus());case 6:case 4:case 12:return;case 13:return void (null === n.memoizedState && (n = n.alternate, null !== n && (n = n.memoizedState, null !== n && (n = n.dehydrated, null !== n && jt(n)))));case 19:case 17:case 20:case 21:return;}throw Error(o(163));}function os(e, t, n) {switch ("function" == typeof xl && xl(t), t.tag) {case 0:case 11:case 14:case 15:case 22:if (null !== (e = t.updateQueue) && null !== (e = e.lastEffect)) {var r = e.next;Fi(97 < n ? 97 : n, function () {var e = r;do {var n = e.destroy;if (void 0 !== n) {var i = t;try {n();} catch (e) {vl(i, e);}}e = e.next;} while (e !== r);});}break;case 1:ts(t), "function" == typeof (n = t.stateNode).componentWillUnmount && function (e, t) {try {t.props = e.memoizedProps, t.state = e.memoizedState, t.componentWillUnmount();} catch (t) {vl(e, t);}}(t, n);break;case 5:ts(t);break;case 4:cs(e, t, n);}}function ss(e) {var t = e.alternate;e.return = null, e.child = null, e.memoizedState = null, e.updateQueue = null, e.dependencies = null, e.alternate = null, e.firstEffect = null, e.lastEffect = null, e.pendingProps = null, e.memoizedProps = null, e.stateNode = null, null !== t && ss(t);}function ls(e) {return 5 === e.tag || 3 === e.tag || 4 === e.tag;}function us(e) {e: {for (var t = e.return; null !== t;) {if (ls(t)) {var n = t;break e;}t = t.return;}throw Error(o(160));}switch (t = n.stateNode, n.tag) {case 5:var r = !1;break;case 3:case 4:t = t.containerInfo, r = !0;break;default:throw Error(o(161));}16 & n.effectTag && (ze(t, ""), n.effectTag &= -17);e: t: for (n = e;;) {for (; null === n.sibling;) {if (null === n.return || ls(n.return)) {n = null;break e;}n = n.return;}for (n.sibling.return = n.return, n = n.sibling; 5 !== n.tag && 6 !== n.tag && 18 !== n.tag;) {if (2 & n.effectTag) continue t;if (null === n.child || 4 === n.tag) continue t;n.child.return = n, n = n.child;}if (!(2 & n.effectTag)) {n = n.stateNode;break e;}}r ? function e(t, n, r) {var i = t.tag,a = 5 === i || 6 === i;if (a) t = a ? t.stateNode : t.stateNode.instance, n ? 8 === r.nodeType ? r.parentNode.insertBefore(t, n) : r.insertBefore(t, n) : (8 === r.nodeType ? (n = r.parentNode).insertBefore(t, r) : (n = r).appendChild(t), null !== (r = r._reactRootContainer) && void 0 !== r || null !== n.onclick || (n.onclick = un));else if (4 !== i && null !== (t = t.child)) for (e(t, n, r), t = t.sibling; null !== t;) e(t, n, r), t = t.sibling;}(e, n, t) : function e(t, n, r) {var i = t.tag,a = 5 === i || 6 === i;if (a) t = a ? t.stateNode : t.stateNode.instance, n ? r.insertBefore(t, n) : r.appendChild(t);else if (4 !== i && null !== (t = t.child)) for (e(t, n, r), t = t.sibling; null !== t;) e(t, n, r), t = t.sibling;}(e, n, t);}function cs(e, t, n) {for (var r, i, a = t, s = !1;;) {if (!s) {s = a.return;e: for (;;) {if (null === s) throw Error(o(160));switch (r = s.stateNode, s.tag) {case 5:i = !1;break e;case 3:case 4:r = r.containerInfo, i = !0;break e;}s = s.return;}s = !0;}if (5 === a.tag || 6 === a.tag) {e: for (var l = e, u = a, c = n, d = u;;) if (os(l, d, c), null !== d.child && 4 !== d.tag) d.child.return = d, d = d.child;else {if (d === u) break e;for (; null === d.sibling;) {if (null === d.return || d.return === u) break e;d = d.return;}d.sibling.return = d.return, d = d.sibling;}i ? (l = r, u = a.stateNode, 8 === l.nodeType ? l.parentNode.removeChild(u) : l.removeChild(u)) : r.removeChild(a.stateNode);} else if (4 === a.tag) {if (null !== a.child) {r = a.stateNode.containerInfo, i = !0, a.child.return = a, a = a.child;continue;}} else if (os(e, a, n), null !== a.child) {a.child.return = a, a = a.child;continue;}if (a === t) break;for (; null === a.sibling;) {if (null === a.return || a.return === t) return;4 === (a = a.return).tag && (s = !1);}a.sibling.return = a.return, a = a.sibling;}}function ds(e, t) {switch (t.tag) {case 0:case 11:case 14:case 15:case 22:return void rs(3, t);case 1:return;case 5:var n = t.stateNode;if (null != n) {var r = t.memoizedProps,i = null !== e ? e.memoizedProps : r;e = t.type;var a = t.updateQueue;if (t.updateQueue = null, null !== a) {for (n[wn] = r, "input" === e && "radio" === r.type && null != r.name && Te(n, r), on(e, i), t = on(e, r), i = 0; i < a.length; i += 2) {var s = a[i],l = a[i + 1];"style" === s ? nn(n, l) : "dangerouslySetInnerHTML" === s ? qe(n, l) : "children" === s ? ze(n, l) : $(n, s, l, t);}switch (e) {case "input":we(n, r);break;case "textarea":Ae(n, r);break;case "select":t = n._wrapperState.wasMultiple, n._wrapperState.wasMultiple = !!r.multiple, null != (e = r.value) ? ke(n, !!r.multiple, e, !1) : t !== !!r.multiple && (null != r.defaultValue ? ke(n, !!r.multiple, r.defaultValue, !0) : ke(n, !!r.multiple, r.multiple ? [] : "", !1));}}}return;case 6:if (null === t.stateNode) throw Error(o(162));return void (t.stateNode.nodeValue = t.memoizedProps);case 3:return void ((t = t.stateNode).hydrate && (t.hydrate = !1, jt(t.containerInfo)));case 12:return;case 13:if (n = t, null === t.memoizedState ? r = !1 : (r = !0, n = t.child, Ns = qi()), null !== n) e: for (e = n;;) {if (5 === e.tag) a = e.stateNode, r ? "function" == typeof (a = a.style).setProperty ? a.setProperty("display", "none", "important") : a.display = "none" : (a = e.stateNode, i = null != (i = e.memoizedProps.style) && i.hasOwnProperty("display") ? i.display : null, a.style.display = tn("display", i));else if (6 === e.tag) e.stateNode.nodeValue = r ? "" : e.memoizedProps;else {if (13 === e.tag && null !== e.memoizedState && null === e.memoizedState.dehydrated) {(a = e.child.sibling).return = e, e = a;continue;}if (null !== e.child) {e.child.return = e, e = e.child;continue;}}if (e === n) break;for (; null === e.sibling;) {if (null === e.return || e.return === n) break e;e = e.return;}e.sibling.return = e.return, e = e.sibling;}return void fs(t);case 19:return void fs(t);case 17:return;}throw Error(o(163));}function fs(e) {var t = e.updateQueue;if (null !== t) {e.updateQueue = null;var n = e.stateNode;null === n && (n = e.stateNode = new Jo()), t.forEach(function (t) {var r = yl.bind(null, e, t);n.has(t) || (n.add(t), t.then(r, r));});}}var ps = "function" == typeof WeakMap ? WeakMap : Map;function hs(e, t, n) {(n = sa(n, null)).tag = 3, n.payload = { element: null };var r = t.value;return n.callback = function () {js || (js = !0, Gs = r), es(e, t);}, n;}function gs(e, t, n) {(n = sa(n, null)).tag = 3;var r = e.type.getDerivedStateFromError;if ("function" == typeof r) {var i = t.value;n.payload = function () {return es(e, t), r(i);};}var a = e.stateNode;return null !== a && "function" == typeof a.componentDidCatch && (n.callback = function () {"function" != typeof r && (null === Ds ? Ds = new Set([this]) : Ds.add(this), es(e, t));var n = t.stack;this.componentDidCatch(t.value, { componentStack: null !== n ? n : "" });}), n;}var ms,bs = Math.ceil,vs = X.ReactCurrentDispatcher,_s = X.ReactCurrentOwner,ys = 0,Ss = 3,xs = 4,Es = 0,Ts = null,ws = null,Cs = 0,Os = ys,Rs = null,ks = 1073741823,Ps = 1073741823,Ls = null,As = 0,Is = !1,Ns = 0,Bs = null,js = !1,Gs = null,Ds = null,qs = !1,zs = null,Ms = 90,Fs = null,Zs = 0,Ws = null,Us = 0;function Vs() {return 0 != (48 & Es) ? 1073741821 - (qi() / 10 | 0) : 0 !== Us ? Us : Us = 1073741821 - (qi() / 10 | 0);}function Hs(e, t, n) {if (0 == (2 & (t = t.mode))) return 1073741823;var r = zi();if (0 == (4 & t)) return 99 === r ? 1073741823 : 1073741822;if (0 != (16 & Es)) return Cs;if (null !== n) e = Hi(e, 0 | n.timeoutMs || 5e3, 250);else switch (r) {case 99:e = 1073741823;break;case 98:e = Hi(e, 150, 100);break;case 97:case 96:e = Hi(e, 5e3, 250);break;case 95:e = 2;break;default:throw Error(o(326));}return null !== Ts && e === Cs && --e, e;}function Ks(e, t) {if (50 < Zs) throw Zs = 0, Ws = null, Error(o(185));if (null !== (e = Ys(e, t))) {var n = zi();1073741823 === t ? 0 != (8 & Es) && 0 == (48 & Es) ? Js(e) : ($s(e), 0 === Es && Ui()) : $s(e), 0 == (4 & Es) || 98 !== n && 99 !== n || (null === Fs ? Fs = new Map([[e, t]]) : (void 0 === (n = Fs.get(e)) || n > t) && Fs.set(e, t));}}function Ys(e, t) {e.expirationTime < t && (e.expirationTime = t);var n = e.alternate;null !== n && n.expirationTime < t && (n.expirationTime = t);var r = e.return,i = null;if (null === r && 3 === e.tag) i = e.stateNode;else for (; null !== r;) {if (n = r.alternate, r.childExpirationTime < t && (r.childExpirationTime = t), null !== n && n.childExpirationTime < t && (n.childExpirationTime = t), null === r.return && 3 === r.tag) {i = r.stateNode;break;}r = r.return;}return null !== i && (Ts === i && (ol(t), Os === xs && Il(i, Cs)), Nl(i, t)), i;}function Xs(e) {var t = e.lastExpiredTime;if (0 !== t) return t;if (!Al(e, t = e.firstPendingTime)) return t;var n = e.lastPingedTime;return 2 >= (e = n > (e = e.nextKnownPendingLevel) ? n : e) && t !== e ? 0 : e;}function $s(e) {if (0 !== e.lastExpiredTime) e.callbackExpirationTime = 1073741823, e.callbackPriority = 99, e.callbackNode = Wi(Js.bind(null, e));else {var t = Xs(e),n = e.callbackNode;if (0 === t) null !== n && (e.callbackNode = null, e.callbackExpirationTime = 0, e.callbackPriority = 90);else {var r = Vs();if (1073741823 === t ? r = 99 : 1 === t || 2 === t ? r = 95 : r = 0 >= (r = 10 * (1073741821 - t) - 10 * (1073741821 - r)) ? 99 : 250 >= r ? 98 : 5250 >= r ? 97 : 95, null !== n) {var i = e.callbackPriority;if (e.callbackExpirationTime === t && i >= r) return;n !== Ai && Ei(n);}e.callbackExpirationTime = t, e.callbackPriority = r, t = 1073741823 === t ? Wi(Js.bind(null, e)) : Zi(r, Qs.bind(null, e), { timeout: 10 * (1073741821 - t) - qi() }), e.callbackNode = t;}}}function Qs(e, t) {if (Us = 0, t) return Bl(e, t = Vs()), $s(e), null;var n = Xs(e);if (0 !== n) {if (t = e.callbackNode, 0 != (48 & Es)) throw Error(o(327));if (gl(), e === Ts && n === Cs || nl(e, n), null !== ws) {var r = Es;Es |= 16;for (var i = il();;) try {ll();break;} catch (t) {rl(e, t);}if (Ji(), Es = r, vs.current = i, 1 === Os) throw t = Rs, nl(e, n), Il(e, n), $s(e), t;if (null === ws) switch (i = e.finishedWork = e.current.alternate, e.finishedExpirationTime = n, r = Os, Ts = null, r) {case ys:case 1:throw Error(o(345));case 2:Bl(e, 2 < n ? 2 : n);break;case Ss:if (Il(e, n), n === (r = e.lastSuspendedTime) && (e.nextKnownPendingLevel = dl(i)), 1073741823 === ks && 10 < (i = Ns + 500 - qi())) {if (Is) {var a = e.lastPingedTime;if (0 === a || a >= n) {e.lastPingedTime = n, nl(e, n);break;}}if (0 !== (a = Xs(e)) && a !== n) break;if (0 !== r && r !== n) {e.lastPingedTime = r;break;}e.timeoutHandle = _n(fl.bind(null, e), i);break;}fl(e);break;case xs:if (Il(e, n), n === (r = e.lastSuspendedTime) && (e.nextKnownPendingLevel = dl(i)), Is && (0 === (i = e.lastPingedTime) || i >= n)) {e.lastPingedTime = n, nl(e, n);break;}if (0 !== (i = Xs(e)) && i !== n) break;if (0 !== r && r !== n) {e.lastPingedTime = r;break;}if (1073741823 !== Ps ? r = 10 * (1073741821 - Ps) - qi() : 1073741823 === ks ? r = 0 : (r = 10 * (1073741821 - ks) - 5e3, 0 > (r = (i = qi()) - r) && (r = 0), (n = 10 * (1073741821 - n) - i) < (r = (120 > r ? 120 : 480 > r ? 480 : 1080 > r ? 1080 : 1920 > r ? 1920 : 3e3 > r ? 3e3 : 4320 > r ? 4320 : 1960 * bs(r / 1960)) - r) && (r = n)), 10 < r) {e.timeoutHandle = _n(fl.bind(null, e), r);break;}fl(e);break;case 5:if (1073741823 !== ks && null !== Ls) {a = ks;var s = Ls;if (0 >= (r = 0 | s.busyMinDurationMs) ? r = 0 : (i = 0 | s.busyDelayMs, r = (a = qi() - (10 * (1073741821 - a) - (0 | s.timeoutMs || 5e3))) <= i ? 0 : i + r - a), 10 < r) {Il(e, n), e.timeoutHandle = _n(fl.bind(null, e), r);break;}}fl(e);break;default:throw Error(o(329));}if ($s(e), e.callbackNode === t) return Qs.bind(null, e);}}return null;}function Js(e) {var t = e.lastExpiredTime;if (t = 0 !== t ? t : 1073741823, 0 != (48 & Es)) throw Error(o(327));if (gl(), e === Ts && t === Cs || nl(e, t), null !== ws) {var n = Es;Es |= 16;for (var r = il();;) try {sl();break;} catch (t) {rl(e, t);}if (Ji(), Es = n, vs.current = r, 1 === Os) throw n = Rs, nl(e, t), Il(e, t), $s(e), n;if (null !== ws) throw Error(o(261));e.finishedWork = e.current.alternate, e.finishedExpirationTime = t, Ts = null, fl(e), $s(e);}return null;}function el(e, t) {var n = Es;Es |= 1;try {return e(t);} finally {0 === (Es = n) && Ui();}}function tl(e, t) {var n = Es;Es &= -2, Es |= 8;try {return e(t);} finally {0 === (Es = n) && Ui();}}function nl(e, t) {e.finishedWork = null, e.finishedExpirationTime = 0;var n = e.timeoutHandle;if (-1 !== n && (e.timeoutHandle = -1, yn(n)), null !== ws) for (n = ws.return; null !== n;) {var r = n;switch (r.tag) {case 1:null != (r = r.type.childContextTypes) && mi();break;case 3:Aa(), li(fi), li(di);break;case 5:Na(r);break;case 4:Aa();break;case 13:case 19:li(Ba);break;case 10:ea(r);}n = n.return;}Ts = e, ws = Cl(e.current, null), Cs = t, Os = ys, Rs = null, Ps = ks = 1073741823, Ls = null, As = 0, Is = !1;}function rl(e, t) {for (;;) {try {if (Ji(), Da.current = mo, Wa) for (var n = Ma.memoizedState; null !== n;) {var r = n.queue;null !== r && (r.pending = null), n = n.next;}if (za = 0, Za = Fa = Ma = null, Wa = !1, null === ws || null === ws.return) return Os = 1, Rs = t, ws = null;e: {var i = e,a = ws.return,o = ws,s = t;if (t = Cs, o.effectTag |= 2048, o.firstEffect = o.lastEffect = null, null !== s && "object" == typeof s && "function" == typeof s.then) {var l = s;if (0 == (2 & o.mode)) {var u = o.alternate;u ? (o.updateQueue = u.updateQueue, o.memoizedState = u.memoizedState, o.expirationTime = u.expirationTime) : (o.updateQueue = null, o.memoizedState = null);}var c = 0 != (1 & Ba.current),d = a;do {var f;if (f = 13 === d.tag) {var p = d.memoizedState;if (null !== p) f = null !== p.dehydrated;else {var h = d.memoizedProps;f = void 0 !== h.fallback && (!0 !== h.unstable_avoidThisFallback || !c);}}if (f) {var g = d.updateQueue;if (null === g) {var m = new Set();m.add(l), d.updateQueue = m;} else g.add(l);if (0 == (2 & d.mode)) {if (d.effectTag |= 64, o.effectTag &= -2981, 1 === o.tag) if (null === o.alternate) o.tag = 17;else {var b = sa(1073741823, null);b.tag = 2, la(o, b);}o.expirationTime = 1073741823;break e;}s = void 0, o = t;var v = i.pingCache;if (null === v ? (v = i.pingCache = new ps(), s = new Set(), v.set(l, s)) : void 0 === (s = v.get(l)) && (s = new Set(), v.set(l, s)), !s.has(o)) {s.add(o);var _ = _l.bind(null, i, l, o);l.then(_, _);}d.effectTag |= 4096, d.expirationTime = t;break e;}d = d.return;} while (null !== d);s = Error((me(o.type) || "A React component") + " suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display." + be(o));}5 !== Os && (Os = 2), s = Qo(s, o), d = a;do {switch (d.tag) {case 3:l = s, d.effectTag |= 4096, d.expirationTime = t, ua(d, hs(d, l, t));break e;case 1:l = s;var y = d.type,S = d.stateNode;if (0 == (64 & d.effectTag) && ("function" == typeof y.getDerivedStateFromError || null !== S && "function" == typeof S.componentDidCatch && (null === Ds || !Ds.has(S)))) {d.effectTag |= 4096, d.expirationTime = t, ua(d, gs(d, l, t));break e;}}d = d.return;} while (null !== d);}ws = cl(ws);} catch (e) {t = e;continue;}break;}}function il() {var e = vs.current;return vs.current = mo, null === e ? mo : e;}function al(e, t) {e < ks && 2 < e && (ks = e), null !== t && e < Ps && 2 < e && (Ps = e, Ls = t);}function ol(e) {e > As && (As = e);}function sl() {for (; null !== ws;) ws = ul(ws);}function ll() {for (; null !== ws && !Ii();) ws = ul(ws);}function ul(e) {var t = ms(e.alternate, e, Cs);return e.memoizedProps = e.pendingProps, null === t && (t = cl(e)), _s.current = null, t;}function cl(e) {ws = e;do {var t = ws.alternate;if (e = ws.return, 0 == (2048 & ws.effectTag)) {if (t = Xo(t, ws, Cs), 1 === Cs || 1 !== ws.childExpirationTime) {for (var n = 0, r = ws.child; null !== r;) {var i = r.expirationTime,a = r.childExpirationTime;i > n && (n = i), a > n && (n = a), r = r.sibling;}ws.childExpirationTime = n;}if (null !== t) return t;null !== e && 0 == (2048 & e.effectTag) && (null === e.firstEffect && (e.firstEffect = ws.firstEffect), null !== ws.lastEffect && (null !== e.lastEffect && (e.lastEffect.nextEffect = ws.firstEffect), e.lastEffect = ws.lastEffect), 1 < ws.effectTag && (null !== e.lastEffect ? e.lastEffect.nextEffect = ws : e.firstEffect = ws, e.lastEffect = ws));} else {if (null !== (t = $o(ws))) return t.effectTag &= 2047, t;null !== e && (e.firstEffect = e.lastEffect = null, e.effectTag |= 2048);}if (null !== (t = ws.sibling)) return t;ws = e;} while (null !== ws);return Os === ys && (Os = 5), null;}function dl(e) {var t = e.expirationTime;return t > (e = e.childExpirationTime) ? t : e;}function fl(e) {var t = zi();return Fi(99, pl.bind(null, e, t)), null;}function pl(e, t) {do {gl();} while (null !== zs);if (0 != (48 & Es)) throw Error(o(327));var n = e.finishedWork,r = e.finishedExpirationTime;if (null === n) return null;if (e.finishedWork = null, e.finishedExpirationTime = 0, n === e.current) throw Error(o(177));e.callbackNode = null, e.callbackExpirationTime = 0, e.callbackPriority = 90, e.nextKnownPendingLevel = 0;var i = dl(n);if (e.firstPendingTime = i, r <= e.lastSuspendedTime ? e.firstSuspendedTime = e.lastSuspendedTime = e.nextKnownPendingLevel = 0 : r <= e.firstSuspendedTime && (e.firstSuspendedTime = r - 1), r <= e.lastPingedTime && (e.lastPingedTime = 0), r <= e.lastExpiredTime && (e.lastExpiredTime = 0), e === Ts && (ws = Ts = null, Cs = 0), 1 < n.effectTag ? null !== n.lastEffect ? (n.lastEffect.nextEffect = n, i = n.firstEffect) : i = n : i = n.firstEffect, null !== i) {var a = Es;Es |= 32, _s.current = null, gn = Vt;var s = pn();if (hn(s)) {if ("selectionStart" in s) var l = { start: s.selectionStart, end: s.selectionEnd };else e: {var u = (l = (l = s.ownerDocument) && l.defaultView || window).getSelection && l.getSelection();if (u && 0 !== u.rangeCount) {l = u.anchorNode;var c = u.anchorOffset,d = u.focusNode;u = u.focusOffset;try {l.nodeType, d.nodeType;} catch (e) {l = null;break e;}var f = 0,p = -1,h = -1,g = 0,m = 0,b = s,v = null;t: for (;;) {for (var _; b !== l || 0 !== c && 3 !== b.nodeType || (p = f + c), b !== d || 0 !== u && 3 !== b.nodeType || (h = f + u), 3 === b.nodeType && (f += b.nodeValue.length), null !== (_ = b.firstChild);) v = b, b = _;for (;;) {if (b === s) break t;if (v === l && ++g === c && (p = f), v === d && ++m === u && (h = f), null !== (_ = b.nextSibling)) break;v = (b = v).parentNode;}b = _;}l = -1 === p || -1 === h ? null : { start: p, end: h };} else l = null;}l = l || { start: 0, end: 0 };} else l = null;mn = { activeElementDetached: null, focusedElem: s, selectionRange: l }, Vt = !1, Bs = i;do {try {hl();} catch (e) {if (null === Bs) throw Error(o(330));vl(Bs, e), Bs = Bs.nextEffect;}} while (null !== Bs);Bs = i;do {try {for (s = e, l = t; null !== Bs;) {var y = Bs.effectTag;if (16 & y && ze(Bs.stateNode, ""), 128 & y) {var S = Bs.alternate;if (null !== S) {var x = S.ref;null !== x && ("function" == typeof x ? x(null) : x.current = null);}}switch (1038 & y) {case 2:us(Bs), Bs.effectTag &= -3;break;case 6:us(Bs), Bs.effectTag &= -3, ds(Bs.alternate, Bs);break;case 1024:Bs.effectTag &= -1025;break;case 1028:Bs.effectTag &= -1025, ds(Bs.alternate, Bs);break;case 4:ds(Bs.alternate, Bs);break;case 8:cs(s, c = Bs, l), ss(c);}Bs = Bs.nextEffect;}} catch (e) {if (null === Bs) throw Error(o(330));vl(Bs, e), Bs = Bs.nextEffect;}} while (null !== Bs);if (x = mn, S = pn(), y = x.focusedElem, l = x.selectionRange, S !== y && y && y.ownerDocument && function e(t, n) {return !(!t || !n) && (t === n || (!t || 3 !== t.nodeType) && (n && 3 === n.nodeType ? e(t, n.parentNode) : "contains" in t ? t.contains(n) : !!t.compareDocumentPosition && !!(16 & t.compareDocumentPosition(n))));}(y.ownerDocument.documentElement, y)) {null !== l && hn(y) && (S = l.start, void 0 === (x = l.end) && (x = S), "selectionStart" in y ? (y.selectionStart = S, y.selectionEnd = Math.min(x, y.value.length)) : (x = (S = y.ownerDocument || document) && S.defaultView || window).getSelection && (x = x.getSelection(), c = y.textContent.length, s = Math.min(l.start, c), l = void 0 === l.end ? s : Math.min(l.end, c), !x.extend && s > l && (c = l, l = s, s = c), c = fn(y, s), d = fn(y, l), c && d && (1 !== x.rangeCount || x.anchorNode !== c.node || x.anchorOffset !== c.offset || x.focusNode !== d.node || x.focusOffset !== d.offset) && ((S = S.createRange()).setStart(c.node, c.offset), x.removeAllRanges(), s > l ? (x.addRange(S), x.extend(d.node, d.offset)) : (S.setEnd(d.node, d.offset), x.addRange(S))))), S = [];for (x = y; x = x.parentNode;) 1 === x.nodeType && S.push({ element: x, left: x.scrollLeft, top: x.scrollTop });for ("function" == typeof y.focus && y.focus(), y = 0; y < S.length; y++) (x = S[y]).element.scrollLeft = x.left, x.element.scrollTop = x.top;}Vt = !!gn, mn = gn = null, e.current = n, Bs = i;do {try {for (y = e; null !== Bs;) {var E = Bs.effectTag;if (36 & E && as(y, Bs.alternate, Bs), 128 & E) {S = void 0;var T = Bs.ref;if (null !== T) {var w = Bs.stateNode;switch (Bs.tag) {case 5:S = w;break;default:S = w;}"function" == typeof T ? T(S) : T.current = S;}}Bs = Bs.nextEffect;}} catch (e) {if (null === Bs) throw Error(o(330));vl(Bs, e), Bs = Bs.nextEffect;}} while (null !== Bs);Bs = null, Ni(), Es = a;} else e.current = n;if (qs) qs = !1, zs = e, Ms = t;else for (Bs = i; null !== Bs;) t = Bs.nextEffect, Bs.nextEffect = null, Bs = t;if (0 === (t = e.firstPendingTime) && (Ds = null), 1073741823 === t ? e === Ws ? Zs++ : (Zs = 0, Ws = e) : Zs = 0, "function" == typeof Sl && Sl(n.stateNode, r), $s(e), js) throw js = !1, e = Gs, Gs = null, e;return 0 != (8 & Es) || Ui(), null;}function hl() {for (; null !== Bs;) {var e = Bs.effectTag;0 != (256 & e) && ns(Bs.alternate, Bs), 0 == (512 & e) || qs || (qs = !0, Zi(97, function () {return gl(), null;})), Bs = Bs.nextEffect;}}function gl() {if (90 !== Ms) {var e = 97 < Ms ? 97 : Ms;return Ms = 90, Fi(e, ml);}}function ml() {if (null === zs) return !1;var e = zs;if (zs = null, 0 != (48 & Es)) throw Error(o(331));var t = Es;for (Es |= 32, e = e.current.firstEffect; null !== e;) {try {var n = e;if (0 != (512 & n.effectTag)) switch (n.tag) {case 0:case 11:case 15:case 22:rs(5, n), is(5, n);}} catch (t) {if (null === e) throw Error(o(330));vl(e, t);}n = e.nextEffect, e.nextEffect = null, e = n;}return Es = t, Ui(), !0;}function bl(e, t, n) {la(e, t = hs(e, t = Qo(n, t), 1073741823)), null !== (e = Ys(e, 1073741823)) && $s(e);}function vl(e, t) {if (3 === e.tag) bl(e, e, t);else for (var n = e.return; null !== n;) {if (3 === n.tag) {bl(n, e, t);break;}if (1 === n.tag) {var r = n.stateNode;if ("function" == typeof n.type.getDerivedStateFromError || "function" == typeof r.componentDidCatch && (null === Ds || !Ds.has(r))) {la(n, e = gs(n, e = Qo(t, e), 1073741823)), null !== (n = Ys(n, 1073741823)) && $s(n);break;}}n = n.return;}}function _l(e, t, n) {var r = e.pingCache;null !== r && r.delete(t), Ts === e && Cs === n ? Os === xs || Os === Ss && 1073741823 === ks && qi() - Ns < 500 ? nl(e, Cs) : Is = !0 : Al(e, n) && (0 !== (t = e.lastPingedTime) && t < n || (e.lastPingedTime = n, $s(e)));}function yl(e, t) {var n = e.stateNode;null !== n && n.delete(t), 0 === (t = 0) && (t = Hs(t = Vs(), e, null)), null !== (e = Ys(e, t)) && $s(e);}ms = function (e, t, n) {var r = t.expirationTime;if (null !== e) {var i = t.pendingProps;if (e.memoizedProps !== i || fi.current) Po = !0;else {if (r < n) {switch (Po = !1, t.tag) {case 3:qo(t), Ro();break;case 5:if (Ia(t), 4 & t.mode && 1 !== n && i.hidden) return t.expirationTime = t.childExpirationTime = 1, null;break;case 1:gi(t.type) && _i(t);break;case 4:La(t, t.stateNode.containerInfo);break;case 10:r = t.memoizedProps.value, i = t.type._context, ui(Yi, i._currentValue), i._currentValue = r;break;case 13:if (null !== t.memoizedState) return 0 !== (r = t.child.childExpirationTime) && r >= n ? Wo(e, t, n) : (ui(Ba, 1 & Ba.current), null !== (t = Ko(e, t, n)) ? t.sibling : null);ui(Ba, 1 & Ba.current);break;case 19:if (r = t.childExpirationTime >= n, 0 != (64 & e.effectTag)) {if (r) return Ho(e, t, n);t.effectTag |= 64;}if (null !== (i = t.memoizedState) && (i.rendering = null, i.tail = null), ui(Ba, Ba.current), !r) return null;}return Ko(e, t, n);}Po = !1;}} else Po = !1;switch (t.expirationTime = 0, t.tag) {case 2:if (r = t.type, null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), e = t.pendingProps, i = hi(t, di.current), na(t, n), i = Ha(null, t, r, e, i, n), t.effectTag |= 1, "object" == typeof i && null !== i && "function" == typeof i.render && void 0 === i.$$typeof) {if (t.tag = 1, t.memoizedState = null, t.updateQueue = null, gi(r)) {var a = !0;_i(t);} else a = !1;t.memoizedState = null !== i.state && void 0 !== i.state ? i.state : null, aa(t);var s = r.getDerivedStateFromProps;"function" == typeof s && ha(t, r, s, e), i.updater = ga, t.stateNode = i, i._reactInternalFiber = t, _a(t, r, e, n), t = Do(null, t, r, !0, a, n);} else t.tag = 0, Lo(null, t, i, n), t = t.child;return t;case 16:e: {if (i = t.elementType, null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), e = t.pendingProps, function (e) {if (-1 === e._status) {e._status = 0;var t = e._ctor;t = t(), e._result = t, t.then(function (t) {0 === e._status && (t = t.default, e._status = 1, e._result = t);}, function (t) {0 === e._status && (e._status = 2, e._result = t);});}}(i), 1 !== i._status) throw i._result;switch (i = i._result, t.type = i, a = t.tag = function (e) {if ("function" == typeof e) return wl(e) ? 1 : 0;if (null != e) {if ((e = e.$$typeof) === le) return 11;if (e === de) return 14;}return 2;}(i), e = Ki(i, e), a) {case 0:t = jo(null, t, i, e, n);break e;case 1:t = Go(null, t, i, e, n);break e;case 11:t = Ao(null, t, i, e, n);break e;case 14:t = Io(null, t, i, Ki(i.type, e), r, n);break e;}throw Error(o(306, i, ""));}return t;case 0:return r = t.type, i = t.pendingProps, jo(e, t, r, i = t.elementType === r ? i : Ki(r, i), n);case 1:return r = t.type, i = t.pendingProps, Go(e, t, r, i = t.elementType === r ? i : Ki(r, i), n);case 3:if (qo(t), r = t.updateQueue, null === e || null === r) throw Error(o(282));if (r = t.pendingProps, i = null !== (i = t.memoizedState) ? i.element : null, oa(e, t), ca(t, r, null, n), (r = t.memoizedState.element) === i) Ro(), t = Ko(e, t, n);else {if ((i = t.stateNode.hydrate) && (So = Sn(t.stateNode.containerInfo.firstChild), yo = t, i = xo = !0), i) for (n = wa(t, null, r, n), t.child = n; n;) n.effectTag = -3 & n.effectTag | 1024, n = n.sibling;else Lo(e, t, r, n), Ro();t = t.child;}return t;case 5:return Ia(t), null === e && wo(t), r = t.type, i = t.pendingProps, a = null !== e ? e.memoizedProps : null, s = i.children, vn(r, i) ? s = null : null !== a && vn(r, a) && (t.effectTag |= 16), Bo(e, t), 4 & t.mode && 1 !== n && i.hidden ? (t.expirationTime = t.childExpirationTime = 1, t = null) : (Lo(e, t, s, n), t = t.child), t;case 6:return null === e && wo(t), null;case 13:return Wo(e, t, n);case 4:return La(t, t.stateNode.containerInfo), r = t.pendingProps, null === e ? t.child = Ta(t, null, r, n) : Lo(e, t, r, n), t.child;case 11:return r = t.type, i = t.pendingProps, Ao(e, t, r, i = t.elementType === r ? i : Ki(r, i), n);case 7:return Lo(e, t, t.pendingProps, n), t.child;case 8:case 12:return Lo(e, t, t.pendingProps.children, n), t.child;case 10:e: {r = t.type._context, i = t.pendingProps, s = t.memoizedProps, a = i.value;var l = t.type._context;if (ui(Yi, l._currentValue), l._currentValue = a, null !== s) if (l = s.value, 0 === (a = Gr(l, a) ? 0 : 0 | ("function" == typeof r._calculateChangedBits ? r._calculateChangedBits(l, a) : 1073741823))) {if (s.children === i.children && !fi.current) {t = Ko(e, t, n);break e;}} else for (null !== (l = t.child) && (l.return = t); null !== l;) {var u = l.dependencies;if (null !== u) {s = l.child;for (var c = u.firstContext; null !== c;) {if (c.context === r && 0 != (c.observedBits & a)) {1 === l.tag && ((c = sa(n, null)).tag = 2, la(l, c)), l.expirationTime < n && (l.expirationTime = n), null !== (c = l.alternate) && c.expirationTime < n && (c.expirationTime = n), ta(l.return, n), u.expirationTime < n && (u.expirationTime = n);break;}c = c.next;}} else s = 10 === l.tag && l.type === t.type ? null : l.child;if (null !== s) s.return = l;else for (s = l; null !== s;) {if (s === t) {s = null;break;}if (null !== (l = s.sibling)) {l.return = s.return, s = l;break;}s = s.return;}l = s;}Lo(e, t, i.children, n), t = t.child;}return t;case 9:return i = t.type, r = (a = t.pendingProps).children, na(t, n), r = r(i = ra(i, a.unstable_observedBits)), t.effectTag |= 1, Lo(e, t, r, n), t.child;case 14:return a = Ki(i = t.type, t.pendingProps), Io(e, t, i, a = Ki(i.type, a), r, n);case 15:return No(e, t, t.type, t.pendingProps, r, n);case 17:return r = t.type, i = t.pendingProps, i = t.elementType === r ? i : Ki(r, i), null !== e && (e.alternate = null, t.alternate = null, t.effectTag |= 2), t.tag = 1, gi(r) ? (e = !0, _i(t)) : e = !1, na(t, n), ba(t, r, i), _a(t, r, i, n), Do(null, t, r, !0, e, n);case 19:return Ho(e, t, n);}throw Error(o(156, t.tag));};var Sl = null,xl = null;function El(e, t, n, r) {this.tag = e, this.key = n, this.sibling = this.child = this.return = this.stateNode = this.type = this.elementType = null, this.index = 0, this.ref = null, this.pendingProps = t, this.dependencies = this.memoizedState = this.updateQueue = this.memoizedProps = null, this.mode = r, this.effectTag = 0, this.lastEffect = this.firstEffect = this.nextEffect = null, this.childExpirationTime = this.expirationTime = 0, this.alternate = null;}function Tl(e, t, n, r) {return new El(e, t, n, r);}function wl(e) {return !(!(e = e.prototype) || !e.isReactComponent);}function Cl(e, t) {var n = e.alternate;return null === n ? ((n = Tl(e.tag, t, e.key, e.mode)).elementType = e.elementType, n.type = e.type, n.stateNode = e.stateNode, n.alternate = e, e.alternate = n) : (n.pendingProps = t, n.effectTag = 0, n.nextEffect = null, n.firstEffect = null, n.lastEffect = null), n.childExpirationTime = e.childExpirationTime, n.expirationTime = e.expirationTime, n.child = e.child, n.memoizedProps = e.memoizedProps, n.memoizedState = e.memoizedState, n.updateQueue = e.updateQueue, t = e.dependencies, n.dependencies = null === t ? null : { expirationTime: t.expirationTime, firstContext: t.firstContext, responders: t.responders }, n.sibling = e.sibling, n.index = e.index, n.ref = e.ref, n;}function Ol(e, t, n, r, i, a) {var s = 2;if (r = e, "function" == typeof e) wl(e) && (s = 1);else if ("string" == typeof e) s = 5;else e: switch (e) {case ne:return Rl(n.children, i, a, t);case se:s = 8, i |= 7;break;case re:s = 8, i |= 1;break;case ie:return (e = Tl(12, n, t, 8 | i)).elementType = ie, e.type = ie, e.expirationTime = a, e;case ue:return (e = Tl(13, n, t, i)).type = ue, e.elementType = ue, e.expirationTime = a, e;case ce:return (e = Tl(19, n, t, i)).elementType = ce, e.expirationTime = a, e;default:if ("object" == typeof e && null !== e) switch (e.$$typeof) {case ae:s = 10;break e;case oe:s = 9;break e;case le:s = 11;break e;case de:s = 14;break e;case fe:s = 16, r = null;break e;case pe:s = 22;break e;}throw Error(o(130, null == e ? e : typeof e, ""));}return (t = Tl(s, n, t, i)).elementType = e, t.type = r, t.expirationTime = a, t;}function Rl(e, t, n, r) {return (e = Tl(7, e, r, t)).expirationTime = n, e;}function kl(e, t, n) {return (e = Tl(6, e, null, t)).expirationTime = n, e;}function Pl(e, t, n) {return (t = Tl(4, null !== e.children ? e.children : [], e.key, t)).expirationTime = n, t.stateNode = { containerInfo: e.containerInfo, pendingChildren: null, implementation: e.implementation }, t;}function Ll(e, t, n) {this.tag = t, this.current = null, this.containerInfo = e, this.pingCache = this.pendingChildren = null, this.finishedExpirationTime = 0, this.finishedWork = null, this.timeoutHandle = -1, this.pendingContext = this.context = null, this.hydrate = n, this.callbackNode = null, this.callbackPriority = 90, this.lastExpiredTime = this.lastPingedTime = this.nextKnownPendingLevel = this.lastSuspendedTime = this.firstSuspendedTime = this.firstPendingTime = 0;}function Al(e, t) {var n = e.firstSuspendedTime;return e = e.lastSuspendedTime, 0 !== n && n >= t && e <= t;}function Il(e, t) {var n = e.firstSuspendedTime,r = e.lastSuspendedTime;n < t && (e.firstSuspendedTime = t), (r > t || 0 === n) && (e.lastSuspendedTime = t), t <= e.lastPingedTime && (e.lastPingedTime = 0), t <= e.lastExpiredTime && (e.lastExpiredTime = 0);}function Nl(e, t) {t > e.firstPendingTime && (e.firstPendingTime = t);var n = e.firstSuspendedTime;0 !== n && (t >= n ? e.firstSuspendedTime = e.lastSuspendedTime = e.nextKnownPendingLevel = 0 : t >= e.lastSuspendedTime && (e.lastSuspendedTime = t + 1), t > e.nextKnownPendingLevel && (e.nextKnownPendingLevel = t));}function Bl(e, t) {var n = e.lastExpiredTime;(0 === n || n > t) && (e.lastExpiredTime = t);}function jl(e, t, n, r) {var i = t.current,a = Vs(),s = fa.suspense;a = Hs(a, i, s);e: if (n) {t: {if (Je(n = n._reactInternalFiber) !== n || 1 !== n.tag) throw Error(o(170));var l = n;do {switch (l.tag) {case 3:l = l.stateNode.context;break t;case 1:if (gi(l.type)) {l = l.stateNode.__reactInternalMemoizedMergedChildContext;break t;}}l = l.return;} while (null !== l);throw Error(o(171));}if (1 === n.tag) {var u = n.type;if (gi(u)) {n = vi(n, u, l);break e;}}n = l;} else n = ci;return null === t.context ? t.context = n : t.pendingContext = n, (t = sa(a, s)).payload = { element: e }, null !== (r = void 0 === r ? null : r) && (t.callback = r), la(i, t), Ks(i, a), a;}function Gl(e) {if (!(e = e.current).child) return null;switch (e.child.tag) {case 5:default:return e.child.stateNode;}}function Dl(e, t) {null !== (e = e.memoizedState) && null !== e.dehydrated && e.retryTime < t && (e.retryTime = t);}function ql(e, t) {Dl(e, t), (e = e.alternate) && Dl(e, t);}function zl(e, t, n) {var r = new Ll(e, t, n = null != n && !0 === n.hydrate),i = Tl(3, null, null, 2 === t ? 7 : 1 === t ? 3 : 0);r.current = i, i.stateNode = r, aa(i), e[Cn] = r.current, n && 0 !== t && function (e, t) {var n = Qe(t);Ct.forEach(function (e) {ht(e, t, n);}), Ot.forEach(function (e) {ht(e, t, n);});}(0, 9 === e.nodeType ? e : e.ownerDocument), this._internalRoot = r;}function Ml(e) {return !(!e || 1 !== e.nodeType && 9 !== e.nodeType && 11 !== e.nodeType && (8 !== e.nodeType || " react-mount-point-unstable " !== e.nodeValue));}function Fl(e, t, n, r, i) {var a = n._reactRootContainer;if (a) {var o = a._internalRoot;if ("function" == typeof i) {var s = i;i = function () {var e = Gl(o);s.call(e);};}jl(t, o, e, i);} else {if (a = n._reactRootContainer = function (e, t) {if (t || (t = !(!(t = e ? 9 === e.nodeType ? e.documentElement : e.firstChild : null) || 1 !== t.nodeType || !t.hasAttribute("data-reactroot"))), !t) for (var n; n = e.lastChild;) e.removeChild(n);return new zl(e, 0, t ? { hydrate: !0 } : void 0);}(n, r), o = a._internalRoot, "function" == typeof i) {var l = i;i = function () {var e = Gl(o);l.call(e);};}tl(function () {jl(t, o, e, i);});}return Gl(o);}function Zl(e, t, n) {var r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;return { $$typeof: te, key: null == r ? null : "" + r, children: e, containerInfo: t, implementation: n };}function Wl(e, t) {var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;if (!Ml(t)) throw Error(o(200));return Zl(e, t, null, n);}zl.prototype.render = function (e) {jl(e, this._internalRoot, null, null);}, zl.prototype.unmount = function () {var e = this._internalRoot,t = e.containerInfo;jl(null, e, null, function () {t[Cn] = null;});}, gt = function (e) {if (13 === e.tag) {var t = Hi(Vs(), 150, 100);Ks(e, t), ql(e, t);}}, mt = function (e) {13 === e.tag && (Ks(e, 3), ql(e, 3));}, bt = function (e) {if (13 === e.tag) {var t = Vs();Ks(e, t = Hs(t, e, null)), ql(e, t);}}, R = function (e, t, n) {switch (t) {case "input":if (we(e, n), t = n.name, "radio" === n.type && null != t) {for (n = e; n.parentNode;) n = n.parentNode;for (n = n.querySelectorAll("input[name=" + JSON.stringify("" + t) + '][type="radio"]'), t = 0; t < n.length; t++) {var r = n[t];if (r !== e && r.form === e.form) {var i = Pn(r);if (!i) throw Error(o(90));Se(r), we(r, i);}}}break;case "textarea":Ae(e, n);break;case "select":null != (t = n.value) && ke(e, !!n.multiple, t, !1);}}, N = el, B = function (e, t, n, r, i) {var a = Es;Es |= 4;try {return Fi(98, e.bind(null, t, n, r, i));} finally {0 === (Es = a) && Ui();}}, j = function () {0 == (49 & Es) && (function () {if (null !== Fs) {var e = Fs;Fs = null, e.forEach(function (e, t) {Bl(t, e), $s(t);}), Ui();}}(), gl());}, G = function (e, t) {var n = Es;Es |= 2;try {return e(t);} finally {0 === (Es = n) && Ui();}};var Ul,Vl,Hl = { Events: [Rn, kn, Pn, C, E, Gn, function (e) {it(e, jn);}, A, I, $t, st, gl, { current: !1 }] };Vl = (Ul = { findFiberByHostInstance: On, bundleType: 0, version: "16.14.0", rendererPackageName: "react-dom" }).findFiberByHostInstance, function (e) {if ("undefined" == typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1;var t = __REACT_DEVTOOLS_GLOBAL_HOOK__;if (t.isDisabled || !t.supportsFiber) return !0;try {var n = t.inject(e);Sl = function (e) {try {t.onCommitFiberRoot(n, e, void 0, 64 == (64 & e.current.effectTag));} catch (e) {}}, xl = function (e) {try {t.onCommitFiberUnmount(n, e);} catch (e) {}};} catch (e) {}}(i({}, Ul, { overrideHookState: null, overrideProps: null, setSuspenseHandler: null, scheduleUpdate: null, currentDispatcherRef: X.ReactCurrentDispatcher, findHostInstanceByFiber: function (e) {return null === (e = nt(e)) ? null : e.stateNode;}, findFiberByHostInstance: function (e) {return Vl ? Vl(e) : null;}, findHostInstancesForRefresh: null, scheduleRefresh: null, scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null })), t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Hl, t.createPortal = Wl, t.findDOMNode = function (e) {if (null == e) return null;if (1 === e.nodeType) return e;var t = e._reactInternalFiber;if (void 0 === t) {if ("function" == typeof e.render) throw Error(o(188));throw Error(o(268, Object.keys(e)));}return e = null === (e = nt(t)) ? null : e.stateNode;}, t.flushSync = function (e, t) {if (0 != (48 & Es)) throw Error(o(187));var n = Es;Es |= 1;try {return Fi(99, e.bind(null, t));} finally {Es = n, Ui();}}, t.hydrate = function (e, t, n) {if (!Ml(t)) throw Error(o(200));return Fl(null, e, t, !0, n);}, t.render = function (e, t, n) {if (!Ml(t)) throw Error(o(200));return Fl(null, e, t, !1, n);}, t.unmountComponentAtNode = function (e) {if (!Ml(e)) throw Error(o(40));return !!e._reactRootContainer && (tl(function () {Fl(null, null, e, !1, function () {e._reactRootContainer = null, e[Cn] = null;});}), !0);}, t.unstable_batchedUpdates = el, t.unstable_createPortal = function (e, t) {return Wl(e, t, 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null);}, t.unstable_renderSubtreeIntoContainer = function (e, t, n, r) {if (!Ml(n)) throw Error(o(200));if (null == e || void 0 === e._reactInternalFiber) throw Error(o(38));return Fl(e, t, n, !1, r);}, t.version = "16.14.0";}, function (e, t, n) {"use strict";e.exports = n(140);}, function (e, t, n) {"use strict";
  /** @license React v0.19.1
   * scheduler.production.min.js
   *
   * Copyright (c) Facebook, Inc. and its affiliates.
   *
   * This source code is licensed under the MIT license found in the
   * LICENSE file in the root directory of this source tree.
   */var r, i, a, o, s;if ("undefined" == typeof window || "function" != typeof MessageChannel) {var l = null,u = null,c = function () {if (null !== l) try {var e = t.unstable_now();l(!0, e), l = null;} catch (e) {throw setTimeout(c, 0), e;}},d = Date.now();t.unstable_now = function () {return Date.now() - d;}, r = function (e) {null !== l ? setTimeout(r, 0, e) : (l = e, setTimeout(c, 0));}, i = function (e, t) {u = setTimeout(e, t);}, a = function () {clearTimeout(u);}, o = function () {return !1;}, s = t.unstable_forceFrameRate = function () {};} else {var f = window.performance,p = window.Date,h = window.setTimeout,g = window.clearTimeout;if ("undefined" != typeof console) {var m = window.cancelAnimationFrame;"function" != typeof window.requestAnimationFrame && console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"), "function" != typeof m && console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills");}if ("object" == typeof f && "function" == typeof f.now) t.unstable_now = function () {return f.now();};else {var b = p.now();t.unstable_now = function () {return p.now() - b;};}var v = !1,_ = null,y = -1,S = 5,x = 0;o = function () {return t.unstable_now() >= x;}, s = function () {}, t.unstable_forceFrameRate = function (e) {0 > e || 125 < e ? console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported") : S = 0 < e ? Math.floor(1e3 / e) : 5;};var E = new MessageChannel(),T = E.port2;E.port1.onmessage = function () {if (null !== _) {var e = t.unstable_now();x = e + S;try {_(!0, e) ? T.postMessage(null) : (v = !1, _ = null);} catch (e) {throw T.postMessage(null), e;}} else v = !1;}, r = function (e) {_ = e, v || (v = !0, T.postMessage(null));}, i = function (e, n) {y = h(function () {e(t.unstable_now());}, n);}, a = function () {g(y), y = -1;};}function w(e, t) {var n = e.length;e.push(t);e: for (;;) {var r = n - 1 >>> 1,i = e[r];if (!(void 0 !== i && 0 < R(i, t))) break e;e[r] = t, e[n] = i, n = r;}}function C(e) {return void 0 === (e = e[0]) ? null : e;}function O(e) {var t = e[0];if (void 0 !== t) {var n = e.pop();if (n !== t) {e[0] = n;e: for (var r = 0, i = e.length; r < i;) {var a = 2 * (r + 1) - 1,o = e[a],s = a + 1,l = e[s];if (void 0 !== o && 0 > R(o, n)) void 0 !== l && 0 > R(l, o) ? (e[r] = l, e[s] = n, r = s) : (e[r] = o, e[a] = n, r = a);else {if (!(void 0 !== l && 0 > R(l, n))) break e;e[r] = l, e[s] = n, r = s;}}}return t;}return null;}function R(e, t) {var n = e.sortIndex - t.sortIndex;return 0 !== n ? n : e.id - t.id;}var k = [],P = [],L = 1,A = null,I = 3,N = !1,B = !1,j = !1;function G(e) {for (var t = C(P); null !== t;) {if (null === t.callback) O(P);else {if (!(t.startTime <= e)) break;O(P), t.sortIndex = t.expirationTime, w(k, t);}t = C(P);}}function D(e) {if (j = !1, G(e), !B) if (null !== C(k)) B = !0, r(q);else {var t = C(P);null !== t && i(D, t.startTime - e);}}function q(e, n) {B = !1, j && (j = !1, a()), N = !0;var r = I;try {for (G(n), A = C(k); null !== A && (!(A.expirationTime > n) || e && !o());) {var s = A.callback;if (null !== s) {A.callback = null, I = A.priorityLevel;var l = s(A.expirationTime <= n);n = t.unstable_now(), "function" == typeof l ? A.callback = l : A === C(k) && O(k), G(n);} else O(k);A = C(k);}if (null !== A) var u = !0;else {var c = C(P);null !== c && i(D, c.startTime - n), u = !1;}return u;} finally {A = null, I = r, N = !1;}}function z(e) {switch (e) {case 1:return -1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3;}}var M = s;t.unstable_IdlePriority = 5, t.unstable_ImmediatePriority = 1, t.unstable_LowPriority = 4, t.unstable_NormalPriority = 3, t.unstable_Profiling = null, t.unstable_UserBlockingPriority = 2, t.unstable_cancelCallback = function (e) {e.callback = null;}, t.unstable_continueExecution = function () {B || N || (B = !0, r(q));}, t.unstable_getCurrentPriorityLevel = function () {return I;}, t.unstable_getFirstCallbackNode = function () {return C(k);}, t.unstable_next = function (e) {switch (I) {case 1:case 2:case 3:var t = 3;break;default:t = I;}var n = I;I = t;try {return e();} finally {I = n;}}, t.unstable_pauseExecution = function () {}, t.unstable_requestPaint = M, t.unstable_runWithPriority = function (e, t) {switch (e) {case 1:case 2:case 3:case 4:case 5:break;default:e = 3;}var n = I;I = e;try {return t();} finally {I = n;}}, t.unstable_scheduleCallback = function (e, n, o) {var s = t.unstable_now();if ("object" == typeof o && null !== o) {var l = o.delay;l = "number" == typeof l && 0 < l ? s + l : s, o = "number" == typeof o.timeout ? o.timeout : z(e);} else o = z(e), l = s;return e = { id: L++, callback: n, priorityLevel: e, startTime: l, expirationTime: o = l + o, sortIndex: -1 }, l > s ? (e.sortIndex = l, w(P, e), null === C(k) && e === C(P) && (j ? a() : j = !0, i(D, l - s))) : (e.sortIndex = o, w(k, e), B || N || (B = !0, r(q))), e;}, t.unstable_shouldYield = function () {var e = t.unstable_now();G(e);var n = C(k);return n !== A && null !== A && null !== n && null !== n.callback && n.startTime <= e && n.expirationTime < A.expirationTime || o();}, t.unstable_wrapCallback = function (e) {var t = I;return function () {var n = I;I = t;try {return e.apply(this, arguments);} finally {I = n;}};};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = w(n(0));n(142);var o = n(5),s = w(n(143)),l = function (e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}(n(144)),u = w(n(145)),c = w(n(154)),d = w(n(195)),f = w(n(196)),p = w(n(199)),h = w(n(218)),g = w(n(220)),m = w(n(221)),b = w(n(222)),v = w(n(226)),_ = w(n(233)),y = w(n(235)),S = w(n(236)),x = w(n(237)),E = w(n(241)),T = w(n(242));function w(e) {return e && e.__esModule ? e : { default: e };}var C = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return console.debug("ZuR: Die Anwendung wurde im Modus: 'production' kompiliert."), n.assets = (0, u.default)(e), n.state = (0, s.default)(n.assets), l.preserveInitialState(n.state), n.appId = e.id, n.handlePopupChange = l.handlePopupChange.bind(n), n.handleScreenChange = l.handleScreenChange.bind(n), n.handleSelectCountrySelection = l.handleSelectCountrySelection.bind(n), n.handleSelectAgeSelection = l.handleSelectAgeSelection.bind(n), n.handleSelectTransportSelection = l.handleSelectTransportSelection.bind(n), n.handleSelectCountrySearchFieldInputValueChange = l.handleSelectCountrySearchFieldInputValueChange.bind(n), n.handleSelectSpecialGoodsChange = l.handleSelectSpecialGoodsChange.bind(n), n.handleSelectGoodsRadioButtonSelection = l.handleSelectGoodsRadionButtonSelection.bind(n), n.addSelectedGoods = l.addSelectedGoods.bind(n), n.deleteSelectedGoods = l.deleteSelectedGoods.bind(n), n.handleSelectGoodsSearchFieldInputValueChange = l.handleSelectGoodsSearchFieldInputValueChange.bind(n), n.handleSelectGoodsViewSelection = l.handleSelectGoodsViewSelection.bind(n), n.handleCurrencyChange = l.handleCurrencyChange.bind(n), n.handleCurrencyAmountChange = l.handleCurrencyAmountChange.bind(n), n.handleSelectGoodsSelection = l.handleSelectGoodsSelection.bind(n), n.handleCurrencyInputFieldBlur = l.handleCurrencyInputFieldBlur.bind(n), n.handleCurrencyInputFieldFocus = l.handleCurrencyInputFieldFocus.bind(n), n.handleSelectGoodsViewGoodsSearchFiledInputValueChange = l.handleSelectGoodsViewGoodsSearchFiledInputValueChange.bind(n), n.handleSelectGoodsViewGoodsGoodSelection = l.handleSelectGoodsViewGoodsGoodSelection.bind(n), n.handleSelectGoodsViewCategoriesCategorySelection = l.handleSelectGoodsViewCategoriesCategorySelection.bind(n), n.handleSelectGoodsViewSpecialRestrictionsRestrictionSelection = l.handleSelectGoodsViewSpecialRestrictionsRestrictionSelection.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "_renderPopup", value: function () {return this.state.isPopupOpen ? this._getPopup() : null;} }, { key: "_getPopup", value: function () {var e = this.state,t = e.currentPopup,n = e.currentPopupIndex,i = e.currentScreen,s = e.data,l = null;switch (t) {case o.CALCULATOR_SELECT_SPECIAL_GOODS_TOBACCO_INFO_POPUP:var u = s.country.eu && !s.country.specialZone ? r({}, this.assets.textConfigDe.screens[i].infoPopupTobacco.eu, { closeButton: this.assets.textConfigDe.closeButton }) : r({}, this.assets.textConfigDe.screens[i].infoPopupTobacco.notEu, { closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(f.default, { functions: { handlePopupChange: this.handlePopupChange }, icons: { close: this.assets.icons.close }, navTarget: o.INFO_POPUP, texts: u });break;case o.CALCULATOR_SELECT_SPECIAL_GOODS_ALCOHOL_INFO_POPUP:var c = s.country.eu && !s.country.specialZone ? r({}, this.assets.textConfigDe.screens[i].infoPopupAlcohol.eu, { closeButton: this.assets.textConfigDe.closeButton }) : r({}, this.assets.textConfigDe.screens[i].infoPopupAlcohol.notEu, { closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(f.default, { functions: { handlePopupChange: this.handlePopupChange }, icons: { close: this.assets.icons.close }, navTarget: o.INFO_POPUP, texts: c });break;case o.CALCULATOR_SELECT_SPECIAL_GOODS_COFFEE_INFO_POPUP:var d = s.country.eu && !s.country.specialZone ? r({}, this.assets.textConfigDe.screens[i].infoPopupCoffee.eu, { closeButton: this.assets.textConfigDe.closeButton }) : r({}, this.assets.textConfigDe.screens[i].infoPopupCoffee.notEu, { closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(f.default, { functions: { handlePopupChange: this.handlePopupChange }, icons: { close: this.assets.icons.close }, navTarget: o.INFO_POPUP, texts: d });break;case o.CALCULATOR_SELECT_SPECIAL_GOODS_FUEL_INFO_POPUP:var p = s.country.eu && !s.country.specialZone ? r({}, this.assets.textConfigDe.screens[i].infoPopupFuel.eu, { closeButton: this.assets.textConfigDe.closeButton }) : r({}, this.assets.textConfigDe.screens[i].infoPopupFuel.notEu, { closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(f.default, { functions: { handlePopupChange: this.handlePopupChange }, icons: { close: this.assets.icons.close }, navTarget: o.INFO_POPUP, texts: p });break;case o.CALCULATOR_SELECT_GOODS_INFO_POPUP:var h = s.country.eu && !s.country.specialZone ? r({}, this.assets.textConfigDe.screens[i].infoPopup.eu, { closeButton: this.assets.textConfigDe.closeButton }) : r({}, this.assets.textConfigDe.screens[i].infoPopup.notEu, { closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(f.default, { texts: h, icons: { close: this.assets.icons.close }, navTarget: o.INFO_POPUP, functions: { handlePopupChange: this.handlePopupChange } });break;case o.GOODS_POPUP:var g = s.goods.selectedGoodsBar[n],m = { title: { text: this.assets.textConfigDe.popups.goodsPopup.configureGoods.title.text, iconButton: this.assets.textConfigDe.popups.goodsPopup.title.iconPopup, iconButtonAltText: this.assets.textConfigDe.popups.goodsPopup.title.iconButtonAltText }, body: this.assets.textConfigDe.popups.goodsPopup.configureGoods.body, closeButton: this.assets.textConfigDe.closeButton };g.text && (m = { title: { text: g.text, iconButton: this.assets.textConfigDe.popups.goodsPopup.title.iconPopup, iconButtonAltText: this.assets.textConfigDe.popups.goodsPopup.title.iconButtonAltText }, body: g.descriptionNonEU, alertBox: g.descriptionShort, attention: this.assets.textConfigDe.screenReader.attention, taxBox: this.assets.textConfigDe.popups.goodsPopup.taxBox, closeButton: this.assets.textConfigDe.closeButton }), l = a.default.createElement(E.default, { data: s.goods.selectedGoodsBar[n], functions: { handlePopupChange: this.handlePopupChange }, navTarget: o.GOODS_POPUP, icons: { confirm: this.assets.icons.confirm, close: this.assets.icons.close, warning: this.assets.icons.warning }, texts: m });break;case o.PERMITTED_SHOW_RESULTS_POPUP:var b = r({}, this.assets.textConfigDe.popups.popupPermittedShowResults, { taxBox: this.assets.textConfigDe.popups.goodsPopup.taxBox, attention: this.assets.textConfigDe.screenReader.attention, closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(T.default, { categories: this.assets.categories, data: r({}, this.state.data.permittedSelectGoods, { country: this.state.data.country }), functions: { handlePopupChange: this.handlePopupChange }, icons: { close: this.assets.icons.close, down: this.assets.icons.down, warning: this.assets.icons.warning }, navTarget: o.INFO_POPUP, texts: b });break;default:var v = r({}, this.assets.textConfigDe.screens[i].infoPopup, this.assets.textConfigDe.screenReader, { closeButton: this.assets.textConfigDe.closeButton });l = a.default.createElement(f.default, { functions: { handlePopupChange: this.handlePopupChange }, icons: { confirm: this.assets.icons.confirm, close: this.assets.icons.close, warning: this.assets.icons.warning }, navTarget: o.INFO_POPUP, texts: v });}return l;} }, { key: "_renderMainMenuScreen", value: function () {var e = this.assets.textConfigDe.screens.mainMenu;return a.default.createElement(c.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange }, navTargets: { calculator: o.CALCULATOR_INFO_SCREEN, permitted: o.PERMITTED_INFO_SCREEN } });} }, { key: "_renderCalculatorInfoScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorInfo, this.assets.textConfigDe.buttonBar);return a.default.createElement(d.default, { appId: this.appId, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange }, icons: { info: this.assets.icons.info, back: this.assets.icons.back }, navTargets: { infoPopup: o.CALCULATOR_INFO_INFO_POPUP, continue: o.CALCULATOR_SELECT_COUNTRY_SCREEN, back: o.MAIN_MENU_SCREEN }, texts: e });} }, { key: "_renderCalculatorSelectCountryScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorSelectCountry, this.assets.textConfigDe.buttonBar, this.assets.textConfigDe.searchBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, stepper: this.assets.textConfigDe.stepper, screenReader: this.assets.textConfigDe.screenReader });return a.default.createElement(p.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectCountrySelection: this.handleSelectCountrySelection, handleSelectCountrySearchFieldInputValueChange: this.handleSelectCountrySearchFieldInputValueChange }, icons: { back: this.assets.icons.back, info: this.assets.icons.info, dropdown: this.assets.icons.dropdown, suchlupe: this.assets.icons.suchlupe }, navTargets: { infoPopup: o.CALCULATOR_SELECT_COUNTRY_INFO_POPUP, continue: o.CALCULATOR_SELECT_AGE_SCREEN, back: o.CALCULATOR_INFO_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, data: this.state.data, activeStep: 0, countries: this.assets.countries, currencies: this.assets.currencies });} }, { key: "_renderCalculatorSelectAgeScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorSelectAge, this.assets.textConfigDe.buttonBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, stepper: this.assets.textConfigDe.stepper });return a.default.createElement(h.default, { activeStep: 1, appId: this.appId, data: this.state.data, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectAgeSelection: this.handleSelectAgeSelection }, icons: { age: this.assets.icons.age, back: this.assets.icons.back, info: this.assets.icons.info }, navTargets: { infoPopup: o.CALCULATOR_SELECT_AGE_INFO_POPUP, continue: o.CALCULATOR_SELECT_TRANSPORT_SCREEN, back: o.CALCULATOR_SELECT_COUNTRY_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, texts: e });} }, { key: "_renderCalculatorSelectTransportScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorSelectTransport, this.assets.textConfigDe.buttonBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, stepper: this.assets.textConfigDe.stepper, screenReader: this.assets.textConfigDe.screenReader }),t = { calculatorSelectSpecialGoods: o.CALCULATOR_SELECT_SPECIAL_GOODS_SCREEN, calculatorShowNonEuTransportOtherNotification: o.CALCULATOR_SHOW_NON_EU_TRANSPORT_OTHER_NOTIFICATION_SCREEN };return a.default.createElement(g.default, { activeStep: 2, appId: this.appId, data: this.state.data, icons: { back: this.assets.icons.back, info: this.assets.icons.info, transportOther: this.assets.icons.transportOther, transportOtherWhite: this.assets.icons.transportOtherWhite, transportShipPlane: this.assets.icons.transportShipPlane, transportShipPlaneWhite: this.assets.icons.transportShipPlaneWhite, transportPlane: this.assets.icons.transportPlane, transportShip: this.assets.icons.transportShip, transportCar: this.assets.icons.transportCar, transportBus: this.assets.icons.transportBus, transportTrain: this.assets.icons.transportTrain }, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectTransportSelection: this.handleSelectTransportSelection }, navTargets: { infoPopup: o.CALCULATOR_SELECT_TRANSPORT_INFO_POPUP, continue: t, back: o.CALCULATOR_SELECT_AGE_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, texts: e });} }, { key: "_renderCalculatorShowNonEuTransportOtherNotificationScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorShowNonEuTransportOtherNotification, this.assets.textConfigDe.buttonBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, stepper: this.assets.textConfigDe.stepper });return a.default.createElement(m.default, { activeStep: 2, appId: this.appId, data: this.state.data, functions: { handleScreenChange: this.handleScreenChange }, icons: { back: this.assets.icons.back }, navTargets: { continue: o.CALCULATOR_SELECT_SPECIAL_GOODS_SCREEN, back: o.CALCULATOR_SELECT_TRANSPORT_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, texts: e });} }, { key: "_renderCalculatorSelectSpecialGoodsScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorSelectSpecialGoods, this.assets.textConfigDe.buttonBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, stepper: this.assets.textConfigDe.stepper, attention: this.assets.textConfigDe.screenReader.attention });return a.default.createElement(b.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectSpecialGoodsChange: this.handleSelectSpecialGoodsChange }, icons: { back: this.assets.icons.back, confirm: this.assets.icons.confirm, info: this.assets.icons.info, warning: this.assets.icons.warning }, navTargets: { infoPopup: o.CALCULATOR_SELECT_SPECIAL_GOODS_INFO_POPUP, continue: o.CALCULATOR_SELECT_GOODS_SCREEN, back: o.CALCULATOR_SELECT_TRANSPORT_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, data: this.state.data, activeStep: 3, specialGoods: this.assets.specialGoods });} }, { key: "_renderCalculatorSelectGoodsScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorSelectGoods, this.assets.textConfigDe.buttonBar, this.assets.textConfigDe.screenReader, this.assets.textConfigDe.searchBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, currencySigns: this.assets.textConfigDe.currencySigns, stepper: this.assets.textConfigDe.stepper }),t = this.assets.categories.map(function (e) {return r({}, e, { goods: e.goods.filter(function (e) {return !e.excludeFromCalculation;}) });});return a.default.createElement(v.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectGoodsRadioButtonSelection: this.handleSelectGoodsRadioButtonSelection, addSelectedGoods: this.addSelectedGoods, deleteSelectedGoods: this.deleteSelectedGoods, handleCurrencyChange: this.handleCurrencyChange, handleCurrencyAmountChange: this.handleCurrencyAmountChange, handleCurrencyInputFieldBlur: this.handleCurrencyInputFieldBlur, handleCurrencyInputFieldFocus: this.handleCurrencyInputFieldFocus, handleSelectGoodsSearchFieldInputValueChange: this.handleSelectGoodsSearchFieldInputValueChange, handleSelectGoodsSelection: this.handleSelectGoodsSelection }, icons: { back: this.assets.icons.back, confirm: this.assets.icons.confirm, close: this.assets.icons.close, delete: this.assets.icons.delete, info: this.assets.icons.info, warning: this.assets.icons.warning, dropdown: this.assets.icons.dropdown, suchlupe: this.assets.icons.suchlupe }, navTargets: { goodsPopup: o.GOODS_POPUP, infoPopup: o.CALCULATOR_SELECT_GOODS_INFO_POPUP, popup: o.CALCULATOR_SELECT_GOODS_POPUP, continue: o.CALCULATOR_SHOW_RESULTS_SCREEN, back: o.CALCULATOR_SELECT_SPECIAL_GOODS_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, data: this.state.data, optionData: t, activeStep: 4, countries: this.assets.countries, currencies: this.assets.currencies, freeAmounts: this.assets.freeAmounts });} }, { key: "_renderCalculatorShowResultsScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.calculatorShowResults, this.assets.textConfigDe.buttonBar, { selectedCriteria: this.assets.textConfigDe.selectedCriteria, currencySigns: this.assets.textConfigDe.currencySigns, stepper: this.assets.textConfigDe.stepper, attention: this.assets.textConfigDe.screenReader.attention });return a.default.createElement(_.default, { activeStep: 5, appId: this.appId, data: this.state.data, flatTaxRate: this.assets.flatTaxRate, freeAmounts: this.assets.freeAmounts, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange }, icons: { back: this.assets.icons.back, confirm: this.assets.icons.confirm, warning: this.assets.icons.warning }, navTargets: { infoPopup: o.CALCULATOR_SHOW_RESULTS_INFO_POPUP, back: o.CALCULATOR_SELECT_GOODS_SCREEN, reset: o.CALCULATOR_INFO_SCREEN }, specialGoods: this.assets.specialGoods, texts: e });} }, { key: "_renderPermittedInfoScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.permittedInfo, this.assets.textConfigDe.buttonBar);return a.default.createElement(y.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange }, icons: { back: this.assets.icons.back, info: this.assets.icons.info }, navTargets: { infoPopup: o.PERMITTED_INFO_INFO_POPUP, continue: o.PERMITTED_SELECT_COUNTRY_SCREEN, back: o.MAIN_MENU_SCREEN } });} }, { key: "_renderPermittedSelectCountryScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.permittedSelectCountry, this.assets.textConfigDe.buttonBar, this.assets.textConfigDe.searchBar, { screenReader: this.assets.textConfigDe.screenReader });return a.default.createElement(S.default, { appId: this.appId, texts: e, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectCountrySelection: this.handleSelectCountrySelection, handleSelectCountrySearchFieldInputValueChange: this.handleSelectCountrySearchFieldInputValueChange }, icons: { back: this.assets.icons.back, info: this.assets.icons.info, dropdown: this.assets.icons.dropdown, suchlupe: this.assets.icons.suchlupe }, navTargets: { infoPopup: o.PERMITTED_SELECT_COUNTRY_INFO_POPUP, continue: o.PERMITTED_SELECT_GOODS_SCREEN, back: o.PERMITTED_INFO_SCREEN, reset: o.PERMITTED_INFO_SCREEN }, data: this.state.data, countries: this.assets.countries });} }, { key: "_renderPermittedSelectGoodsScreen", value: function () {var e = r({}, this.assets.textConfigDe.screens.permittedSelectGoods, this.assets.textConfigDe.buttonBar, this.assets.textConfigDe.searchBar, { screenReader: this.assets.textConfigDe.screenReader });return a.default.createElement(x.default, { appId: this.appId, categories: this.assets.categories, data: this.state.data, functions: { handleScreenChange: this.handleScreenChange, handlePopupChange: this.handlePopupChange, handleSelectGoodsViewSelection: this.handleSelectGoodsViewSelection, handleSelectGoodsViewGoodsSearchFiledInputValueChange: this.handleSelectGoodsViewGoodsSearchFiledInputValueChange, handleSelectGoodsViewGoodsGoodSelection: this.handleSelectGoodsViewGoodsGoodSelection, handleSelectGoodsViewCategoriesCategorySelection: this.handleSelectGoodsViewCategoriesCategorySelection, handleSelectGoodsViewSpecialRestrictionsRestrictionSelection: this.handleSelectGoodsViewSpecialRestrictionsRestrictionSelection }, icons: { back: this.assets.icons.back, info: this.assets.icons.info, dropdown: this.assets.icons.dropdown, suchlupe: this.assets.icons.suchlupe }, navTargets: { back: o.PERMITTED_SELECT_COUNTRY_SCREEN, reset: o.PERMITTED_INFO_SCREEN }, specialCategories: this.assets.specialCategories, texts: e });} }, { key: "_getScreen", value: function () {var e = void 0;switch (this.state.currentScreen) {case o.MAIN_MENU_SCREEN:e = this._renderMainMenuScreen();break;case o.CALCULATOR_INFO_SCREEN:e = this._renderCalculatorInfoScreen();break;case o.CALCULATOR_SELECT_COUNTRY_SCREEN:e = this._renderCalculatorSelectCountryScreen();break;case o.CALCULATOR_SELECT_AGE_SCREEN:e = this._renderCalculatorSelectAgeScreen();break;case o.CALCULATOR_SELECT_TRANSPORT_SCREEN:e = this._renderCalculatorSelectTransportScreen();break;case o.CALCULATOR_SHOW_NON_EU_TRANSPORT_OTHER_NOTIFICATION_SCREEN:e = this._renderCalculatorShowNonEuTransportOtherNotificationScreen();break;case o.CALCULATOR_SELECT_SPECIAL_GOODS_SCREEN:e = this._renderCalculatorSelectSpecialGoodsScreen();break;case o.CALCULATOR_SELECT_GOODS_SCREEN:e = this._renderCalculatorSelectGoodsScreen();break;case o.CALCULATOR_SHOW_RESULTS_SCREEN:e = this._renderCalculatorShowResultsScreen();break;case o.PERMITTED_INFO_SCREEN:e = this._renderPermittedInfoScreen();break;case o.PERMITTED_SELECT_COUNTRY_SCREEN:e = this._renderPermittedSelectCountryScreen();break;case o.PERMITTED_SELECT_GOODS_SCREEN:e = this._renderPermittedSelectGoodsScreen();break;default:e = this._renderMainMenuScreen();}return e;} }, { key: "render", value: function () {var e = this._getScreen(),t = this._renderPopup();return a.default.createElement("div", { className: "app", tabIndex: -1, id: this.appId + "-container" }, e, t);} }]), t;}(a.default.Component);C.propTypes = {}, C.defaultProps = {}, t.default = C;}, function (e, t, n) {"use strict";Array.prototype.find || Object.defineProperty(Array.prototype, "find", { value: function (e) {if (null == this) throw new TypeError("this is null or not defined");var t = Object(this),n = t.length >>> 0;if ("function" != typeof e) throw new TypeError("predicate must be a function");for (var r = arguments[1], i = 0; i < n;) {var a = t[i];if (e.call(r, a, i, t)) return a;i++;}} });}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return { currentScreen: i.MAIN_MENU_SCREEN, currentPopup: null, currentPopupIndex: null, isPopupOpen: !1, data: { country: { text: "", subText: "", imgSrc: "", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, searchFieldInputValue: "" }, age: { value: r.AGE_SMALLER_15, text: e.textConfigDe.screens.calculatorSelectAge.radioButton1.bottom, imgSrc: e.icons.age }, transport: { value: s.TRANSPORT_SHIP_OR_PLANE, text: e.textConfigDe.screens.calculatorSelectTransport.radioButton1.top, imgSrc: e.icons.transportShipPlane }, specialGoodsCategoriesExceedingLimit: [], specialGoodsCategoriesNotExceedingLimit: [], specialGoods: { tobacco: { value1: "0", value2: "0", value3: "0", value4: "0" }, alcohol: { value1: "0", value2: "0", value3: "0", value4: "0", value5: "0" }, fuel: { value1: "0" }, coffee: { value1: "0" } }, goods: { value: a.GOODS_MORE_THAN_FREE_AMOUNT, selectedGoodsBar: [] }, permittedSelectGoods: { searchFieldInputValue: "", selectedGood: null, selectedCategory: null, selectedSpecialRestriction: null, view: { text: e.textConfigDe.screens.permittedSelectGoods.radioButton1.top, value: o.PERMITTED_SELECT_GOODS_VIEW_GOODS } } } };};var r = n(24),i = n(5),a = n(51),o = n(84),s = n(38);}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.handleSelectGoodsViewSpecialRestrictionsRestrictionSelection = t.handleSelectGoodsViewCategoriesCategorySelection = t.handleSelectGoodsViewGoodsGoodSelection = t.handleSelectGoodsViewGoodsSearchFiledInputValueChange = t.handleSelectGoodsViewSelection = t.handleSelectGoodsSearchFieldInputValueChange = t.handleSelectGoodsSelection = t.handleCurrencyAmountChange = t.handleCurrencyInputFieldFocus = t.handleCurrencyInputFieldBlur = t.handleCurrencyChange = t.deleteSelectedGoods = t.addSelectedGoods = t.handleSelectGoodsRadionButtonSelection = t.handleSelectSpecialGoodsChange = t.handleSelectTransportSelection = t.handleSelectAgeSelection = t.handleSelectCountrySearchFieldInputValueChange = t.handleSelectCountrySelection = t.handlePopupChange = t.handleScreenChange = t.preserveInitialState = void 0;var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = s(n(52)),a = n(5),o = s(n(39));function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t, n) {return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;}var u = null,c = function (e) {e.isPopupOpen ? document.body.className = document.body.className.replace(" noScroll", "") : document.body.className = document.body.className + " noScroll";},d = function (e) {var t = r({}, e.data.specialGoods);return Object.keys(t).forEach(function (e) {return Object.keys(t[e]).forEach(function (n) {t[e][n] = "0";});}), { resetedSpecialGoods: t, specialGoodsCategoriesExceedingLimit: [], specialGoodsCategoriesNotExceedingLimit: [] };},f = function (e, t, n, r, i) {var a = [].concat(r);if (e > 0) {var o = e / i[t][n].limit * 100;a = r.concat(o);}return a;},p = function (e) {return e.reduce(function (e, t) {return e + t;}, 0);},h = function (e, t, n, r) {var i = [].concat(t),a = [].concat(n);return e > 100 && i.indexOf(r) < 0 ? i = i.concat(r) : e < 100 && 0 !== e && a.indexOf(r) < 0 && (a = a.concat(r)), { categoriesExceedingLimit: i, categoriesNotExceedingLimit: a };};t.preserveInitialState = function (e) {u = e;}, t.handleScreenChange = function (e, t) {var n = e.currentTarget.getAttribute("data-param");"true" === e.currentTarget.getAttribute("data-reset") && (n.indexOf(a.CALCULATOR) > -1 || n.indexOf(a.PERMITTED) > -1) ? this.setState(r({}, u, { currentScreen: n }), t) : this.setState({ currentScreen: n }, t);}, t.handlePopupChange = function (e, t, n) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: t || null, currentPopupIndex: n }), c(this.state);}, t.handleSelectCountrySelection = function (e, t) {var n = d(this.state),i = t.filter(function (t) {return t.iso2.toLowerCase() === e.iso2.toLowerCase();})[0];i ? (i.value = "0", i.calculationValue = 0) : i = { name: "Euro (EUR)", value: "0", calculationValue: 0, exchangeRate: "1.0", iso2: "EU" }, this.setState({ data: r({}, this.state.data, { specialGoodsCategoriesExceedingLimit: n.specialGoodsCategoriesExceedingLimit, specialGoodsCategoriesNotExceedingLimit: n.specialGoodsCategoriesNotExceedingLimit, country: r({}, this.state.data.country, { searchFieldInputValue: e.text }, e), specialGoods: r({}, n.resetedSpecialGoods), goods: r({}, this.state.data.goods, { selectedGoodsBar: [{ currency: i, selectGoods: { searchFieldInputValue: "" } }] }) }) });}, t.handleSelectCountrySearchFieldInputValueChange = function (e) {this.setState({ data: r({}, this.state.data, { country: r({}, this.state.data.country, { searchFieldInputValue: e }) }) });}, t.handleSelectAgeSelection = function (e) {var t = d(this.state);this.setState({ data: r({}, this.state.data, { specialGoodsCategoriesExceedingLimit: t.specialGoodsCategoriesExceedingLimit, specialGoodsCategoriesNotExceedingLimit: t.specialGoodsCategoriesNotExceedingLimit, age: r({}, this.state.data.age, { value: e.currentTarget.getAttribute("data-param"), text: e.currentTarget.getAttribute("data-text") }), specialGoods: r({}, t.resetedSpecialGoods) }) });}, t.handleSelectTransportSelection = function (e) {var t = d(this.state);this.setState({ data: r({}, this.state.data, { specialGoodsCategoriesExceedingLimit: t.specialGoodsCategoriesExceedingLimit, specialGoodsCategoriesNotExceedingLimit: t.specialGoodsCategoriesNotExceedingLimit, transport: { imgSrc: e.currentTarget.getAttribute("data-img"), value: e.currentTarget.getAttribute("data-param"), text: e.currentTarget.getAttribute("data-text") }, specialGoods: r({}, t.resetedSpecialGoods) }) });}, t.handleSelectSpecialGoodsChange = function (e, t, n) {var a = function (e, t) {var n = e.data,r = (0, i.default)(n.country.eu && !n.country.specialZone, t),a = [],o = [],s = [],l = [];if (Object.keys(n.specialGoods).forEach(function (e) {Object.keys(n.specialGoods[e]).forEach(function (t) {var i = n.specialGoods[e][t];"tobacco" !== e || n.country.eu && !n.country.specialZone ? "alcohol" !== e || n.country.eu && !n.country.specialZone || "value2" !== t && "value3" !== t ? r[e][t] && i > 0 && i <= r[e][t].limit && a.indexOf(e) < 0 ? a = a.concat(e) : r[e][t] && i > r[e][t].limit && o.indexOf(e) < 0 && (o = o.concat(e)) : (l = f(i, e, t, l, r), i > 0 && a.indexOf(e) < 0 && (a = a.concat(e))) : (s = f(i, e, t, s, r), i > 0 && a.indexOf(e) < 0 && (a = a.concat(e)));});}), a.length > 0 || o.length > 0) {var u = p(s),c = p(l),d = h(u, o, a, "tobacco");o = d.categoriesExceedingLimit, a = d.categoriesNotExceedingLimit;var g = h(c, o, a, "alcohol");o = g.categoriesExceedingLimit, a = g.categoriesNotExceedingLimit;}return { categoriesExceedingLimit: o, categoriesNotExceedingLimit: a };}({ data: r({}, this.state.data, { specialGoods: r({}, this.state.data.specialGoods, l({}, e, r({}, this.state.data.specialGoods[e], l({}, t, n)))) }) }, this.assets.specialGoods),o = a.categoriesExceedingLimit,s = a.categoriesNotExceedingLimit,u = this.state.data;this.setState({ data: r({}, u, { specialGoodsCategoriesExceedingLimit: o, specialGoodsCategoriesNotExceedingLimit: s, specialGoods: r({}, u.specialGoods, l({}, e, r({}, u.specialGoods[e], l({}, t, n)))) }) });}, t.handleSelectGoodsRadionButtonSelection = function (e) {this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { value: e.currentTarget.getAttribute("data-param") }) }) });}, t.addSelectedGoods = function (e, t) {var n = this,i = t.filter(function (e) {return e.iso2.toLowerCase() === n.state.data.country.iso2.toLowerCase();})[0];i || (i = { name: "Euro (EUR)", exchangeRate: "1.0", iso2: "EU" });var a = this.state.data.goods.selectedGoodsBar[0] ? r({}, this.state.data.goods.selectedGoodsBar[0].currency) : i;this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { selectedGoodsBar: this.state.data.goods.selectedGoodsBar.concat({ currency: r({}, a, { value: "0", calculationValue: 0, cursorStart: 0, cursorEnd: 0 }), selectGoods: { searchFieldInputValue: "" } }) }) }) });}, t.deleteSelectedGoods = function (e, t) {var n = this.state.data.goods.selectedGoodsBar.filter(function (e, n) {return t !== n.toString();});this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { selectedGoodsBar: n }) }) });}, t.handleCurrencyChange = function (e, t) {var n = JSON.parse(e.currentTarget.value),i = this.state.data.goods.selectedGoodsBar;i[t].currency = r({}, i[t].currency, n), this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { selectedGoodsBar: i }) }) });}, t.handleCurrencyInputFieldBlur = function (e) {var t = e.currentTarget.getAttribute("data-param"),n = e.currentTarget.value ? e.currentTarget.value : "0",i = this.state.data.goods.selectedGoodsBar,a = n.replace(/\./g, "").replace(",", ".").replace(/[^0-9.]/g, "");a = "." === a || "" === a ? 0 : a, a = parseFloat(a), i[t].currency.value = (0, o.default)(a), i[t].currency.calculationValue = a, this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { selectedGoodsBar: i }) }) });}, t.handleCurrencyInputFieldFocus = function (e) {var t = e.currentTarget.value;"0,00" !== t && "0" !== t || (e.currentTarget.value = "");}, t.handleCurrencyAmountChange = function (e) {var t = e.currentTarget.getAttribute("data-param"),n = e.currentTarget.selectionStart,i = e.currentTarget.selectionEnd,a = e.currentTarget.value.length,o = e.currentTarget.value;(o = (o = (o = o.replace(/[^0-9,.]/g, "")).replace(/,/g, function (e, t, n) {return n.indexOf(e) === t ? e : "";})).replace(/\./g, function (e, t, n) {return 0 === t || n[t] === n[t - 1] || n[t] === n[t - 2] || n[t] === n[t - 3] ? "" : e;})).slice(-1).match(/[0-9,]/) && (o.length > 3 && -1 === o.indexOf(".") || o.length > 4) && (o = o.replace(/\./g, "").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.")), a !== (o = (o = o.replace(/\./g, function (e, t, n) {return n.indexOf(",") < t && -1 !== n.indexOf(",") ? "" : e;})).replace(/./g, function (e, t, n) {return n.indexOf(",") < t - 2 && -1 !== n.indexOf(",") ? "" : e;})).length && (i = n = o.length - a + n);var s = o.replace(/\./g, "").replace(",", ".").replace(/[^0-9.]/g, "");s = "." === s || "" === s ? 0 : s, s = parseFloat(s);var l = this.state.data.goods.selectedGoodsBar,u = r({}, l);u[t].currency = r({}, l[t].currency), u[t].currency.value = o, u[t].currency.calculationValue = s, u[t].currency.cursorStart = n, u[t].currency.cursorEnd = i, this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { newSelectedGoodsBar: u }) }) });}, t.handleSelectGoodsSelection = function (e, t) {var n = this.state.data.goods.selectedGoodsBar;n[t] = r({}, n[t], e), this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { selectedGoodsBar: n }) }) });}, t.handleSelectGoodsSearchFieldInputValueChange = function (e, t) {var n = this.state.data.goods.selectedGoodsBar;n[t].selectGoods.searchFieldInputValue = e, this.setState({ data: r({}, this.state.data, { goods: r({}, this.state.data.goods, { selectedGoodsBar: n }) }) });}, t.handleSelectGoodsViewSelection = function (e) {this.setState({ data: r({}, this.state.data, { permittedSelectGoods: r({}, this.state.data.permittedSelectGoods, { view: { value: e.currentTarget.getAttribute("data-param"), text: e.currentTarget.getAttribute("data-text") } }) }) });}, t.handleSelectGoodsViewGoodsSearchFiledInputValueChange = function (e) {this.setState({ data: r({}, this.state.data, { permittedSelectGoods: r({}, this.state.data.permittedSelectGoods, { searchFieldInputValue: e }) }) });}, t.handleSelectGoodsViewGoodsGoodSelection = function (e) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: a.PERMITTED_SHOW_RESULTS_POPUP, data: r({}, this.state.data, { permittedSelectGoods: r({}, this.state.data.permittedSelectGoods, { selectedGood: e, selectedCategory: null, selectedSpecialRestriction: null }) }) }), c(this.state);}, t.handleSelectGoodsViewCategoriesCategorySelection = function (e) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: a.PERMITTED_SHOW_RESULTS_POPUP, data: r({}, this.state.data, { permittedSelectGoods: r({}, this.state.data.permittedSelectGoods, { selectedGood: null, selectedCategory: e, selectedSpecialRestriction: null }) }) }), c(this.state);}, t.handleSelectGoodsViewSpecialRestrictionsRestrictionSelection = function (e) {this.setState({ isPopupOpen: !this.state.isPopupOpen, currentPopup: a.PERMITTED_SHOW_RESULTS_POPUP, data: r({}, this.state.data, { permittedSelectGoods: r({}, this.state.data.permittedSelectGoods, { selectedGood: null, selectedCategory: null, selectedSpecialRestriction: e }) }) }), c(this.state);};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {var t = e.assets;if (t) {} else t = function (e, t, n, f, p, h) {var g = e || {};h && console.warn("ZuR: Das Laden der Daten aus dem GSB ist fehlgeschlagen. Lokale Daten werden als Ersatz genutzt.");if (t) {console.warn("ZuR: Entwicklungsmodus: Lokale Icons werden verwendet.");var m = "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/icons/";g.icons = { back: m + "back.svg", age: m + "age.svg", confirm: m + "confirm.svg", down: m + "down.svg", dropdown: m + "dropdown.svg", suchlupe: m + "suchlupe.svg", close: m + "close.svg", info: m + "info.svg", transportOther: m + "transportOther.svg", transportShipPlane: m + "transportShipPlane.svg", warning: m + "warning.svg" };}n && (console.warn("ZuR: Entwicklungsmodus: Lokale Länderdaten werden verwendet."), g.countries = i.default);p && (console.warn("ZuR: Entwicklungsmodus: Lokale Daten für: Waren, Sonderwaren, Eingeschränkte Waren,Währungen, Freibeträge, Steuersätze"), g.categories = u.default, g.currencies = c.default, g.flatTaxRate = a, g.freeAmounts = l, g.specialCategories = o.default, g.specialGoods = s);f && (console.warn("ZuR: Entwicklungsmodus: Lokale Textkonfiguration wird verwendet."), (0, d.default)(r.default), g.textConfigDe = r.default);return console.debug("ZuR: Resultierende Ressourcen:"), console.debug(g), g;}(t, !0, !0, !0, !0, !0);return t;};var r = p(n(146)),i = p(n(147)),a = f(n(148)),o = p(n(149)),s = f(n(150)),l = f(n(151)),u = p(n(152)),c = p(n(153)),d = p(n(53));function f(e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}function p(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = { closeButton: "Schließen", screenReader: { attention: "Achtung", entries: "Einträge", selected: "aktiviert", notSelected: "Nicht aktiviert", selectInputField: "Das nachfolgende Eingabefeld dient zur Filterung der möglichen Optionen", typeaheadButtonDescription: "Dieser Schalter öffnet eine Auswahlliste mit Eingabefeld zur Filterung der möglichen Optionen", oneLetterFilterButtonsDescription: "Die nachfolgende Liste aus Schaltern dient zur Filterung der möglichen Optionen nach dem Anfangsbuchstaben, es kann jeweils nur ein Anfangsbuchstabe ausgewählt werden", selectCountryOptionsDescription: "Die nachfolgende Liste aus Schaltern dient zur Auswahl eines Landes, es kann jeweils nur ein Land ausgewählt werden. Es muss ein Land ausgewählt werden, bevor sie zum nächsten Prozessschritt gelangen können", calculatorSelectGoodsOptionsDescription: "Die nachfolgende Liste aus Schaltern dient zur Auswahl einer Ware. Bei Auswahl einer Ware schließt sich das Auswahlfenster und sie gelangen zurück auf den vorhergehenden Bildschirm", permittedSelectGoodsViewGoodsOptionsDescription: "Die nachfolgende Liste aus Schaltern dient zur Auswahl einer Ware. Bei Auswahl öffnet sich ein Popup welches die entsprechenden Informationen anzeight", permittedSelectGoodsViewCategoriesOptionsDescription: "Die nachfolgende Liste aus Schaltern dient zur Auswahl einer Warenkategorie. Bei Auswahl öffnet sich ein Popup welches die entsprechenden Informationen anzeight", permittedSelectGoodsViewSpecialRestrictionsOptionsDescription: "Die nachfolgende Liste aus Schaltern dient zur Auswahl einer Kategorie mit speziellen Einschränkungen. Bei Auswahl öffnet sich ein Popup welches die entsprechenden Informationen anzeight", calculatorSelectGoodsCurrencyInput: "Dieses Eingabefeld dient zur Eingabe des Warenwertbetrags in der zuvor gewählten Währung", calculatorSelectGoodsCurrencyDropdown: "Diese Auswahlbox dient zur Auswahl der Währung in welcher sie die Ware gekauft haben", calculatorSelectGoodsCurrencyInEuro: "Dieses Feld zeigt die von ihnen eingegebenen Warenwert in Euro", calculatorSelectGoodsGoodsSelection: "Dieser Schalter öffnet ein Popup in dem sie eine Ware auswählen müssen.", calculatorSelectGoodsAddGoodsBar: "Dieser Schalter fügt eine weitere Ware mit Warenauswahl und den dazugehörigen Währungseingaben hinzu" }, currencySigns: { euro: "€" }, buttonBar: { buttons: { back: { text: "Zurück" }, continue: { text: "Weiter" }, reset: { text: "Reset" } } }, selectedCriteria: { label: "Gewählte Kriterien", younger: "Jünger als", older: "Älter als" }, searchBar: { select: { placeholder: "Suchbegriff", noResults: "Die Suche ergab keine Treffer" } }, stepper: { step1: "Einreise aus?", step2: "Ihr Alter?", step3: "Einreise mit?", step4: "Sonderwaren", step5: "Waren und Warenwert", step6: "Ergebnis" }, popups: { goodsPopup: { title: { iconButtonAltText: "Weitere Informationen schließen" }, taxBox: { euTax: "Einfuhrumsatzsteuer:", title: "Abgabensätze", zollTax: "Zollsatz:" }, configureGoods: { title: { text: "Ware konfigurieren" }, body: "<p>Bitte tragen sie die Ware und Warenwert ein.</p><p><b>Ware auswählen</b></p><p>Sie können Waren aus dem Einfuhr-Katalog auswählen und beliebog Waren hinzufügen, sowie löschen.</p><p><b>Einfuhrinformationen</b></p><p>Informieren sie sich:</p><ol><li>über mögliche Verbote und Beschränkungen, sowiegesundheitliche Hinweise zur Ihrer Warenauswahl.</li><li>Wie hoch die Abgabensätze sind, wenn die Freimenge überschritten wird.</li></ol>" } }, popupCalculatorSelectGoods: { title: { text: "Bitte wählen Sie eine Ware aus", iconButtonAltText: "Warenauswahl schließen" } }, popupPermittedShowResults: { title: { text: "Erlaubt?", iconButtonAltText: "Informationen zu Einfuhrbeschränkungen schließen" }, listItemIconAltTextOpened: "Anzeige der Informationen zur Ware schließen", listItemIconAltTextClosed: "Anzeige der Informationen zur Ware öffnen" } }, screens: { mainMenu: { title: { text: "Zoll und Reise" }, buttons: { calculator: { h: "Abgabenrechner", text: "Wieviel können Sie abgabenfrei einführen?" }, permitted: { h: "Erlaubt?", text: "Was dürfen sie einführen?" } } }, calculatorInfo: { title: { text: "Abgabenrechner", altText: "Weitere Informationen zum Abgabenrechner" }, body: "<p>Als Reisender können Sie unter bestimmten Voraussetzungen Waren abgabenfrei aus dem Ausland nach Deutschland einführen.</p><p>Um die Freimengen oder die Höhe der Abgaben zu ermitteln, benutzen sie unseren Abgabenrechner mit Assistenten</p>", infoPopup: { title: { text: "Abgabenrechner", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Mit dieser Anwendung können sie schnell und einfach Ihre persöhnlichen Reisefreimengen bestimmen. Für Waren, welche die Freimenge übershreiten, können Sie die voraussichlich anfallenden Einfuhrabgaben berechnen.</p><p>Geben Sie hierzu bitte zunächst ads Einreiseland, Ihr Alter und beider Einreise aus Nich-EU-Staaten das benutzte Beförderungsmittel an. Anschließend wählen Sie bitte aus, welche Ware(n) Sie mitbringen möchten. Auf der folgenden Seite geben Sie bitte Menge und Wert der Ware(n) ein. Das Ergebnisfeld zeigt nun an,</p><ul><li>ob Sie die Ware(n) noch abgabenfrei einführen dürfen (grünes Ergebnisfeld) oder</li><li>ob einige, eine oder alle Ware(n)die Freimengen überschreiten (rotes Ergebnisfeld).</li></ul><p>Bei einer Überschreitung werden Ihnen die voraussichlich anfallenden Einfuhrabgaben angezeigt.</p><p>Bei einem roten Ergebnisfeld melden Sie die Waren bitte beim Zoll an. An Flughäfen benutzen Sie hierzu bitten den roten Ausgang. Die Zollbeamtin oder der Zollbeamte wird dann prüfen, ob und in welcher Höhe Einfuhrabgaben anfallen. Bei Tabakwaren und alkoholischen Getränken ist eine Abgabenbeerchnung aus technischen Gründen leider nicht möglich.</p><p>Hinweis: Für Jugendliche unter 17 ist es nicht möglich Tabak- oder Alkoholprodukte aus Ländern außerhalb der EU abgabenfrei einzuführen</p>", alertBox: "<p>Bitte haben Sie Verständnis, dass diese App nur unverbindliche Berechnungen ausgibt. Der konkrete Abgabenwert wird nach Sichtung der Waren durch die Zollbeamtin und -beamten ermittelt.</p>" } }, calculatorSelectCountry: { title: { text: "Wählen sie bitte das Land, aus dem Sie nach Deutschland einreisen.", altText: "Weitere Informationen zur Auswahl des Einreiselandes" }, selectCountryContainer: { addCountry: "Einreiseland auswählen" }, infoPopup: { title: { text: "Einreise aus?", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte wählen Sie das Land, aus dem Sie nach Deutschland einreisen. Grundsätzlich gibt es frei Ländergruppen, die Einfuhrbestimmungen haben: </p><ol><li>EU-Länder</li><li>Nicht EU-Länder</li><li>Länder und Gebiete mit Sonderregelungen (z.B. Kanarische Inseln)</li></ol><p>Je nach Ländergruppe ändern sich die Vorschriften für Verbote und Beschränkungen, Freimengen und Abgabensätze.</p>" } }, calculatorSelectAge: { title: { text: "Wählen Sie bitte eine Alterkategorie", altText: "Weitere Informationen zur Auswahl der Alterskategorie" }, radioButton1: { ariaLabel: "Jünger als 15 Jahre", top: "Jünger als ", bottom: "15 Jahre" }, radioButton2: { ariaLabel: "Jünger als 17 Jahre", top: "Jünger als", bottom: "17 Jahre" }, radioButton3: { ariaLabel: "Älter als 17 Jahre", top: "Älter als", bottom: "17 Jahre" }, infoPopup: { title: { text: "Alter?", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte wählen Sie Ihr Alter. Je nach Alter können sich die Einfuhrbestimmungen ändern:</p><ol><li>Tabak / Alkoholika <br/>Personen unter 17 Jahre dürfen keine Tabakwaren, alkohol und alkoholische Getränke einführen.</li><li>Freimengen <br/>Jünger als 15 Jahre: <br/>175 € Freimenge für Einfuhrwaren, unabhängig des Reisemittels. <br/>Jünger als 17 Jahre: <br/>300€ Freimenge, bzw. 430€ bei Flug- und Seereisen sowie Freimengen für Sonderwaren (Alkohol, Tabak, etc).<br/>17 Jahre und älter:<br/>300 € Freimenge für Einfuhrwaren, bzw. 430 € bei Flug- und Seereisen sowie Freimengen für Sonderwaren (Alkohol, Tabak, etc)</li></ol><p>Sofern die mitgeführten Waren die vorstehenden Reisefreimengen überschreiten, sind hierfür Einfuhrabgaben zu entrichten. Wird bei nicht teilbaren Waren (z.B. eine Lederjacke) die Freimenge überschreitten, so werden die Einfuhrabgaben auf den Gesamtwert der Ware und nicht nur auf den die Freimenge übersteigenden Wertanteil erhoben.</p>" } }, calculatorSelectTransport: { title: { text: "Wählen Sie bitte das Verkehrsmittel, mit dem Sie nach Deutschland einreisen", altText: "Weitere Informationen zur Auswahl des Verkehrsmittels" }, radioButton2: { top: "Andere Verkehrsmittel" }, radioButton1: { top: "Mit Flugzeug oder Schiff" }, infoPopup: { title: { text: "Einreise mit?", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte wählen Sie das Verkehrsmittel, mit dem Sie nach Deutschland einreisen. Je nach Art der Einreise kann sich die Freimenge ändern:</p><p>Bei Flug- & Seereisen:<br/>Freimenge bis 430€</p><p>andereFormen der Einreise:<br/>Freimenge bis 300€</p><p>Falls die mitgeführten Waren die verstehenden Reisefreimengen überschreiten, sind Einfuhrabgaben zu entrichten.</p>", alertBox: "<p>Personen gelten nicht als Flug- oder Seereisende, wenn sie als Passagiere eines Binnenschiffs oder mit Hilfe eines privaten, nicht gewerblichen Luft- oder Wasserfahrzeugs einreisen. Ein Luft- oder Wasserfahrzeug gilt als nicht gewerblich, wenn es durch den Eigentümer oder den mieter des Luft- oder Wasserfahrzeugs genutzt wird. Reisende, die aus der Schweiz über den Bodensee einreisen, gelten ebenfalls nicht als Seereisende.</p>" } }, calculatorShowNonEuTransportOtherNotification: { title: { text: "Berechnungshinweis" }, body: "<p>Bitte beachten Sie, dass die folgenden Berechnungen nur für den Grenzverkehr aus der Schweiz gelten.Bei Einreise über einen anderen EU-Staat (z. B. Ukraine / Polen) gelten die pauschalierten Abgabensätze und die Freimengen für verbrauchsteuerpflichtige Waren des Einreiselandes (hier: $land$) Diese können ggf. abweichend sein.</p>" }, calculatorSelectSpecialGoods: { title: { text: "Bitte geben sie ihre Sonderwaren ein", altText: "Weitere Informationen zur Auswahl der Sonderwaren" }, sliderLimitExceeded: "mehr als", tobaccoSliderPanel: { label: "Tabak", altText: "Weitere Informationen zur Einfuhr von Tabak", eu: { slider1: { label: "Zigaretten", ariaLabel: "Zigaretten in Stück" }, slider2: { label: "Zigarillo", ariaLabel: "Zigarillo in Stück" }, slider3: { label: "Zigarren", ariaLabel: "Zigarren in Stück" }, slider4: { label: "Rauchtabak", ariaLabel: "Rauchtabak in Gramm" } }, notEu: { slider1: { label: "Zigaretten", ariaLabel: "Zigaretten in Stück" }, slider2: { label: "Zigarillo", ariaLabel: "Zigarillo in Stück" }, slider3: { label: "Zigarren", ariaLabel: "Zigarren in Stück" }, slider4: { label: "Rauchtabak", ariaLabel: "Rauchtabak in Gramm" } } }, alcoholSliderPanel: { label: "Alkohol", altText: "Weitere Informationen zur Einfuhr von Alkohol", eu: { slider1: { label: "Bier", ariaLabel: "Bier in Liter" }, slider2: { label: "Alkopops", ariaLabel: "Alkopops (Alkoholartige Süßgetränke) in Liter", subTitle: "(Alkoholartige Süßgetränke)" }, slider3: { label: "Schaumwein", ariaLabel: "Schaumwein in Liter" }, slider4: { label: "Zwischenerzeugnisse", ariaLabel: "Zwischenerzeugnisse (z. B. Sherry, Portwein, Marsal) in Liter", subTitle: "(z. B. Sherry, Portwein, Marsal)" }, slider5: { label: "Spirituosen", ariaLabel: "Spirituosen (z. B. Weinbrand, Whiskey, Rum, Wodka) in Liter", subTitle: "(z. B. Weinbrand, Whiskey, Rum, Wodka)" } }, notEu: { slider1: { label: "Bier", ariaLabel: "Bier in Liter" }, slider2: { label: "Alkohol &lt;= 22%", ariaLabel: "Alkohol &lt;= 22% in Liter" }, slider3: { label: "Alkohol > 22%", ariaLabel: "Alkohol > 22% in Liter" }, slider4: { label: "Nicht schäumende Weine", ariaLabel: "Nicht schäumende Weine in Liter" } } }, fuelSliderPanel: { label: "Treibstoff", altText: "Weitere Informationen zur Einfuhr von Treibstoff", eu: { slider1: { label: "Kraftstoffe", ariaLabel: "Kraftstoffe in Liter" } }, notEu: { slider1: { label: "Kraftstoffe", ariaLabel: "Kraftstoffe in Liter" } } }, coffeeSliderPanel: { label: "Kaffee", altText: "Weitere Informationen zur Einfuhr von Kaffee", eu: { slider1: { label: "Kaffee", ariaLabel: "Kaffee in kilogramm" } }, notEu: { slider1: { label: "Kaffee", ariaLabel: "Kaffee in kilogramm" } } }, noSlidersText: "<p>Keine Freimengen für Alkohol und Tabak für Personen unter 17 Jahre</p>", bottomText: { noSpecialGoods: 'Wenn sie keine Sonderwaren haben klicken sie bitte auf "Weiter"', limitNotExceededSpecialGoods1: "<p>Sie können ihre Sonderwaren (", limitNotExceededSpecialGoods2: ") abgabenfrei einführen</p>", limitExceededSpecialGoods1: "<p>Bitte melden Sie Sonderwaren (", limitExceededSpecialGoods2: ") beim Zoll an</p>" }, predictedTaxesNotice: '<p>Die voraussichtlichen Einfuhrabgaben beziehen sich nicht auf die eingegebenen "Sonderwaren" (Tabak, Alkohol, Kraftstoff oder Kaffee), sondern nur auf "Waren und Warenwert".</p>', infoPopup: { title: { text: "Sonderwareneingabe", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte geben Sie die mitgebrachten Sonderwaren ein.</p><p>Sonderwaren sind verbrauchsteuerpflichtige Waren (sog. hochsteuerbare Waren):</p><ul><li>Tabakwaren</li><li>Alkohol und alkoholhaltige Getränke</li><li>Kraftstoffe</li><li>Kaffee (Nur für EU-Länder)</li></ul>" }, infoPopupTobacco: { eu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Für Tabakerzeugnisse wurden nachstehende Richtmengen festgelegt, bis zu denen eine Verwendung zu privaten Zwecken angenommen wird und diese somit abgabenfrei nach Deutschland mitgenommen werden können: </p><p>Richtmengen innerhalb der EU gelten:</p><ul><li>Zigaretten: 800 Stück</li><li>Zigarillos: 400 Stück</li><li>Zigarren: 200 Stück</li><li>Rauchtabak: 1 Kilogramm</li></ul><p>Wichtig: Die Richtmengen gelten nur, wenn die Tabakwaren von Ihnen als Privatperson persönlich befördert werden, für Sie selbst bestimmt sind und in einem anderen EU-Mitgliedstaat bereits versteuert wurden (z. B. beim Kauf in Supermärkten).</p><p>Unabhängig von den Richtmengen für private Zwecke stellt der Erwerb oder Besitz von Tabakwaren, die vorschriftswidrig aus einem Drittland, also aus einem Land außerhalb der EU, in das Zollgebiet der Gemeinschaft verbracht wurden, eine Steuerhehlerei (§ 374 der Abgabenordnung) dar und kann entsprechend geahndet werden. Das gilt selbst dann, wenn diese Tabakwaren in einem anderen Mitgliedstaat erworben wurden. Ob die Tabakwaren vorschriftswidrig in das Zollgebiet der Gemeinschaft verbracht wurden, ist zu erkennen anhand</p><ul><li>der aufgebrachten oder insbesondere der fehlenden Steuerzeichen (Banderole),</li><li>den aufgebrachten (Sprache und Schrift) oder insbesondere den fehlenden Gesundheitshinweisen bzw. Angaben zum Nikotin- und Teergehalt,</li><li>der Umstände des Erwerbs (z.B. Preis deutlich niedriger als im Geschäft, für Tabakwaren der gleichen Marke gibt es unterschiedliche Preise, Tabakwaren werden nicht offen zum Verkauf angeboten).</li></ul>" }, notEu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Folgende Mengen an Tabakwaren können Sie für Ihren persönlichen Gebrauch steuerfrei mitbringen, wenn Sie mindestens 17 Jahre alt sind:</p><ul><li>200 Zigaretten oder</li><li>100 Zigarillos oder</li><li>50 Zigarren oder</li><li>250 Gramm Rauchtabak oder</li><li>eine anteilige Zusammenstellung dieser Waren.</li></ul><p>Beachten Sie bitte, dass Sie die Waren jedoch in Ihrem persönlichen Gepäck verbringen müssen. Beim Versenden des Gepäcks mit der Post wird keine Freimenge gewährt.</p>" } }, infoPopupAlcohol: { eu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Alkoholische Genussmittel für den privaten Verbrauch können Sie grundsätzlich steuerfrei mitbringen. Der Zoll nimmt eine Verwendung zu privaten Zwecken an, wenn folgende Richtmengen nicht überschritten sind.</p><ul><li>Spirituosen (z.B. Weinbrand, Whisky, Rum, Wodka): 10 Liter</li><li>Zwischenerzeugnisse (z.B. Sherry, Portwein und Marsala): 20 Liter</li><li>Schaumwein: 60 Liter</li><li>Bier: 110 Liter </li></ul><p>Die Richtmengen gelten nur, wenn die Waren von Ihnen als Privatperson persönlich befördert werden, für Sie selbst bestimmt sind und in einem anderen EU-Mitgliedstaat bereits versteuert wurden (z. B. beim Kauf in Supermärkten).</p>" }, notEu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Folgende Mengen an alkoholischen Getränken können Sie für Ihren persönlichen Gebrauch steuerfrei mitbringen, wenn Sie mindestens 17 Jahre alt sind:</p><ul><li>1 Liter Spirituosen mit einem Alkoholgehalt von mehr als 22 Volumenprozent</li><li>oder unvergällter Ethylalkohol mit einem Alkoholgehalt von 80 Volumenprozent oder mehr oder</li><li>2 Liter Alkohol und alkoholische Getränke mit einem Alkoholgehalt von höchstens 22 Volumenprozent oder</li><li>eine anteilige Zusammenstellung dieser Waren und</li><li>4 Liter nicht schäumende Weine und</li><li>16 Liter Bier</li></ul><p>Beachten Sie bitte, dass Sie die Waren in Ihrem persönlichen Gepäck verbringen müssen. Beim Versenden des Gepäcks mit der Post wird keine Freimenge gewährt.</p>" } }, infoPopupFuel: { eu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: '<p>Als Privatperson können Sie Energieerzeugnisse wie z.B. Benzin oder Dieselkraftstoff in einem anderen Mitgliedstaat der EU für Ihren Eigenbedarf erwerben und grundsätzlich steuerfrei nach Deutschland mitbringen. Der Kraftstoff muss dabei von Ihnen persönlich befördert werden.</p><p>Es ist erforderlich, dass der von Ihnen in das deutsche Steuergebiet mitgebrachte Kraftstoff aus dem "verbrauchsteuerrechtlich freien Verkehr" eines anderen EU-Mitgliedstaats bezogen wurde. Dies bedeutet, dass der Kraftstoff in dem betreffenden Mitgliedstaat bereits versteuert wurde und auf üblichem Wege, z.B. an einer Tankstelle, käuflich zu erwerben ist.</p><p>Kraftstoff dürfen Sie nur dann energiesteuerfrei aus einem EU-Mitgliedstaat einführen, wenn er sich im Tank Ihres Fahrzeuges oder in mitgeführten Reservebehältern befindet. Dabei wird eine Kraftstoffmenge von bis zu 20 Litern in den Reservebehältern nicht beanstandet. Es sind jedoch die einzelstaatlichen Bestimmungen über den Besitz und die Beförderung gefährlicher Stoffe einzuhalten.</p>' }, notEu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Kraftstoff, der sich in dem vom Hersteller serienmäßig eingebauten Haupttank eines Kraftfahrzeuges befindet, kann einfuhrabgabenfrei eingeführt werden. Zusätzlich sind 10 Liter im Reservekanister abgabenfrei, wenn der Kanister mit dem Pkw bzw. Kraftrad eingeführt wird. Der abgabenfrei eingeführte Kraftstoff darf nur in dem Fahrzeug verwendet werden, mit dem er eingeführt wurde. Es sind zudem die einzelstaatlichen Bestimmungen über den Besitz und die Beförderung gefährlicher Stoffe einzuhalten.</p>" } }, infoPopupCoffee: { eu: { title: { text: "Einfuhrinformationen", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Für Kaffee und kaffeehaltige Erzeugnisse ist eine Richtmenge von 10 kg festgelegt bis zu der eine Verwendung zu privaten Zwecken angenommen wird und diese somit abgabenfrei mitgebracht werden können. Die Richtmenge gilt nur, wenn die Ware von Ihnen als Privatperson persönlich befördert wird, für Sie selbst bestimmt ist und in einem anderen EU-Mitgliedstaat bereits versteuert wurde (z.B. beim Kauf in Supermärkten).</p>" } } }, calculatorSelectGoods: { title: { text: "Bitte geben Sie Ihre Waren und den Warenwert ein", altText: "Weitere Informationen zur Auswahl der Waren und des Warenwertes" }, fromEuropeTextBox: "<p>Sie brauchen keine mitgebrachten Waren und keinen Warenwert angeben.</p><p>Wer durch Länder der EU reist, reist bequem. Sofern Sie Waren nur für Ihren persönlichen Bedarf dabei haben, bleiben diese grundsätzlich abgabenfrei</p>", radioButton1: { top: "Wert bis" }, radioButton2: { top: "Wert mehr als" }, selectGoodsContainer: { title: "<p>Bitte wählen Sie eine Ware und geben Sie den Warenwert in lokaler Währung ein</p>", addGoodsBarButton: "Ware hinzufügen", selectGoodsBar: { addGoods: "Ware auswählen", deleteGoodsBarAltText: "Ware Löschen", infoGoodsBarAltText: "Weitere Informationen zur Ware", currency: { placeholder: "Währung auswählen", resultCurrency: "EUR" } } }, billingAmount: "Rechnungbetrag", bottomText: { limitNotExceededGoods1: "<p>Waren bis zu einem Wert von", limitNotExceededGoods2: "können Sie als Reisefreimenge abgabefrei einführen</p>" }, infoPopup: { eu: { title: { text: "Waren- und  Warenwerteingabe", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Sie brauchen keine mitgebrachten Waren und keinen Warenwert angeben.</p><p>Wer durch Länder der EU reist, reist bequem. Sofern Sie Waren nur für Ihren persönlichen Bedarf dabei haben, bleiben diese grundsätzlich abgabenfrei</p>" }, notEu: { title: { text: "Waren- und  Warenwerteingabe", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte geben Sie die mitgebrachten Waren ein.</p><p>Waren bis zu einem bestimmten Wert (175 €, 300 € oder 430 €) können Sie als Reisefreimenge abgabenfrei einführen.</p><p>Falls die mitgeführten Waren die vorstehenden Reisefreimengen überschreiten, sind Einfuhrabgaben zu entrichten.</p>" } } }, calculatorShowResults: { title: { text: "Ergebnis" }, predictedTaxes: "Voraussichtliche Einfuhrabgaben", taxedGoodsOverview: { tableHeadline: "<p>Ihre zu verzollenden Waren</p>", goodHead: "Ware", foreignCurrencyHead: "Fremdwährung", euroCurrencyHead: "Euro", taxToPayHead: "zu verzollender Betrag" }, textBoxSpecialGoods: { title: { text: "Ihre Sonderwaren" }, tobaccoLabel: "Tabak", alcoholLabel: "Alkohol", fuelLabel: "Treibstoff", coffeeLabel: "Kaffee", noSpecialGoodsAllowed: "<p>Keine Freimengen für Alkohol und Tabak für Personen unter 17 Jahre</p>", noSpecialGoods: "<p>Sie haben keine Sonderwaren angegeben</p>", limitNotExceededSpecialGoods1: "<p>Sie können ihre Sonderwaren (", limitNotExceededSpecialGoods2: ") abgabenfrei einführen</p>", limitExceededSpecialGoods1: "<p>Bitte melden Sie Sonderwaren (", limitExceededSpecialGoods2: ") beim Zoll an</p>" }, textBoxGoods: { title: { text: "Waren und Warenwert" }, fromEuropeTextBox: "<p>Wer durch Länder der EU reist, reist bequem. Sofern Sie Waren nur für Ihren persönlichen Bedarf dabei haben, bleiben diese grundsätzlich abgabenfrei</p>", limitNotExceededGoods1: "<p>Waren bis zu einem Wert von", limitNotExceededGoods2: "können Sie als Reisefreimenge abgabefrei einführen</p>", limitExceededGoods: "<p>Bitte melden Sie Ihre Waren beim Zoll an</p>" }, predictedTaxesNotice: '<p>Die voraussichtlichen Einfuhrabgaben beziehen sich nicht auf die eingegebenen "Sonderwaren" (Tabak, Alkohol, Kraftstoff oder Kaffee), sondern nur auf "Waren und Warenwert".</p>', maxFlatTaxAmount1: "max.", maxFlatTaxAmount2: "p.St.", flatTaxValue1: "Pauschalsteuer (", flatTaxValue2: ")", euTaxValue1: "Einfuhrumsatzsteuer (", euTaxValue2: ")", zollTaxValue1: "Zolltarif (", zollTaxValue2: ")" }, permittedInfo: { title: { text: "Erlaubt?", altText: "Weitere Informationen zu Waren und Einfuhrbeschränkungen" }, body: "<p>Prüfen Sie hier, was Sie aus dem Ausland mitbringen dürfen und wovon Sie unbedingt die Finger lassen sollten.</p>", infoPopup: { title: { text: "Erlaubt?", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Im Bereich Einfuhrwaren können Sie sich grundsäzlich informieren, welche Waren Sie nach Deutschland mitbringen dürfen, insbesondere:</p><ol><li>Welche Waren sind bei der Einreise nach Deutschland erlaubt?</li><li>Welche Waren unterliegen besonderen Einfuhrbeschränkungen und worauf müssen Sie achten?</li><li>Welche Waren sind verboten und für welche Waren benötigen Sie eine Erlaubnis?</li><ol>", alertBox: "<p>Bitte haben Sie Verständnis, dass diese App nur unverbindliche Hinweise geben kann und für die Zollbeamtinnen und -beamten nicht bindend ist. Im Zweifelsfall wenden Sie sich bitte an die Zolldienststelle vor Ort oder die Servicehotline.</p>" } }, permittedSelectCountry: { title: { text: "Wählen sie bitte das Land, aus dem Sie nach Deutschland einreisen.", altText: "Weitere Informationen zur Auswahl des Einreiselandes" }, selectCountryContainer: { addCountry: "Einreiseland auswählen" }, infoPopup: { title: { text: "Länderauswahl", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Bitte wählen Sie das Land, aus dem Sie nach Deutschland einreisen. Je nach Land ändern sich die Einfuhrbestimmungen.</p><p>Grundsätzlich gibt es drei Ländergruppen, die unterschiedliche Einfuhrbestimmungen haben:</p><ol><li>EU-Länder</li><li>Nicht EU-Länder</li><li>Länder und Gebiete mit Sonderregelungen (z.B. Kanarische Inseln)</li></ol>" } }, permittedSelectGoods: { title: { text: "Erlaubt?", altText: "Weitere Informationen zur Auswahl der Ware" }, radioButton1: { top: "Waren" }, radioButton2: { top: "Warenkategorien" }, radioButton3: { top: "Besondere Einschränkungen" }, infoPopup: { title: { text: "Erlaubt?", iconButtonAltText: "Weitere Informationen schließen" }, body: "<p>Die folgende Unterteilung erleichtert es Ihnen, die erwünschten Informationen zu finden:</p><ol><li>Waren: Hier finden Sie Einfuhrinformationen zu den Waren, die häufig eingeführt werden.</li><li>Warenkategorien: Hier finden Sie Einfuhrinformationen zu Warengruppen. Waren aus diesen Bereichen werden besonders häufig eingeführt.</li><li>Besondere Einschränkungen: Hier finden Sie Informationen zu Waren, die Verboten und/oder Beschränkungen (z.B. Bereich Bargeld, Produktpiraterie oder Kulturgüter) unterliegen können.</li></ol><p>Vermissen Sie eine bestimmte Ware? Dann helfen Sie uns bei der Weiterentwicklung dieser App und senden Ihre Hinweise an app.zoll-reise@zoll.de.</p>" } } } };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ text: "Afghanistan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/afghanistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AF" }, { text: "albania", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/albania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AL" }, { text: "algeria", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/algeria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DZ" }, { text: "andorra", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/andorra.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AD" }, { text: "angola", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/angola.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AO" }, { text: "antigua_and_barbuda", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/antigua_and_barbuda.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AG" }, { text: "argentina", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/argentina.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AR" }, { text: "armenia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/armenia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AM" }, { text: "australia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/australia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AU" }, { text: "austria", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/austria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AT" }, { text: "bahamas", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bahamas.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BS" }, { text: "bahrain", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bahrain.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BH" }, { text: "bangladesh", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bangladesh.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BD" }, { text: "barbados", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/barbados.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BB" }, { text: "belarus", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/belarus.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BY" }, { text: "Belgien", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/belgium.png", eu: 1, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BE" }, { text: "belize", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/belize.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BZ" }, { text: "benin", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/benin.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BJ" }, { text: "bhutan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bhutan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BT" }, { text: "bolivia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bolivia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BO" }, { text: "bosnia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bosnia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BA" }, { text: "botswana", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/botswana.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BW" }, { text: "brazil", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/brazil.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BR" }, { text: "brunei", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/brunei.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BN" }, { text: "bulgaria", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/bulgaria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BG" }, { text: "burkina_faso", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/burkina_faso.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BF" }, { text: "burundi", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/burundi.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "BI" }, { text: "cambodia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/cambodia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KH" }, { text: "cameroon", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/cameroon.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CM" }, { text: "canada", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/canada.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CA" }, { text: "central_african_republic", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/central_african_republic.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CF" }, { text: "chad", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/chad.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TD" }, { text: "chile", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/chile.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CL" }, { text: "china", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/china.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CN" }, { text: "colombia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/colombia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CO" }, { text: "comoros", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/comoros.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KM" }, { text: "congo_kinshasa", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/congo_kinshasa.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "cd" }, { text: "cook_islands", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/cook_islands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CK" }, { text: "costa_rica", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/costa_rica.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CR" }, { text: "Côte d'Ivoire", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/cotedlvoire.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CI" }, { text: "croatia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/croatia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HR" }, { text: "cuba", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/cuba.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CU" }, { text: "cyprus", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/cyprus.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CY" }, { text: "czech_republic", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/czech_republic.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CZ" }, { text: "Dänemark", subText: "(ohne Färöer und Grönland)", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/denmark.png", eu: 1, specialZone: 0, calcZoll: 0, calcEuTax: 0, currency: "Dänische Krone (DKK)" }, { text: "Dänemark ", subText: "(nur Färöer und Grönland)", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/denmark.png", eu: 1, specialZone: 1, calcZoll: 1, calcEuTax: 1, iso2: "DK" }, { text: "djibouti", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/djibouti.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DJ" }, { text: "dominica", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/dominica.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DM" }, { text: "dominican_republic", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/dominican_republic.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DO" }, { text: "ecuador", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/ecuador.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "EC" }, { text: "egypt", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/egypt.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "EG" }, { text: "el_salvador", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/el_salvador.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SV2" }, { text: "equatorial_guinea", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/equatorial_guinea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GQ" }, { text: "eritrea", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/eritrea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ER" }, { text: "estonia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/estonia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "EE" }, { text: "ethiopia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/ethiopia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ET" }, { text: "fiji", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/fiji.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FJ" }, { text: "Finnland", subText: "(ohne Alandinsel)", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/finland.png", eu: 1, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FI" }, { text: "Finnland", subText: "(nur Alandinsel)", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/finland.png", eu: 1, specialZone: 1, calcZoll: 0, calcEuTax: 1, iso2: "FI" }, { text: "france", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/france.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FR" }, { text: "gabon", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/gabon.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GA" }, { text: "gambia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/gambia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GM" }, { text: "georgia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/georgia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GE" }, { text: "germany", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/germany.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "DE" }, { text: "ghana", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/ghana.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GH" }, { text: "greece", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/greece.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GR" }, { text: "grenada", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/grenada.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GD" }, { text: "guatemala", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/guatemala.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GT" }, { text: "guinea", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/guinea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GN" }, { text: "guinea_bissau", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/guinea_bissau.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GW" }, { text: "guyana", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/guyana.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GY" }, { text: "haiti", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/haiti.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HT" }, { text: "honduras", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/honduras.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HN" }, { text: "hungary", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/hungary.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "HU" }, { text: "iceland", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/iceland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IS" }, { text: "india", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/india.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IN" }, { text: "indonesia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/indonesia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ID" }, { text: "iran", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/iran.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IR" }, { text: "iraq", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/iraq.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IQ" }, { text: "ireland", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/ireland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IE" }, { text: "israel", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/israel.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IL" }, { text: "italy", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/italy.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "IT" }, { text: "jamaica", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/jamaica.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "JM" }, { text: "japan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/japan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "jp" }, { text: "jordan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/jordan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "JO" }, { text: "kap_verde", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kap_verde.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CV" }, { text: "kazakhstan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kazakhstan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KZ" }, { text: "kenya", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kenya.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KE" }, { text: "kiribati", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kiribati.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KI" }, { text: "kosovo", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kosovo.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "XK" }, { text: "kuwait", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kuwait.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KW" }, { text: "kyrgyzstan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/kyrgyzstan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KG" }, { text: "laos", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/laos.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LA" }, { text: "latvia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/latvia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LV" }, { text: "lebanon", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/lebanon.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LB" }, { text: "lesotho", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/lesotho.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ls" }, { text: "liberia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/liberia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LR" }, { text: "libya", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/libya.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LY" }, { text: "liechtenstein", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/liechtenstein.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LI" }, { text: "lithuania", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/lithuania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LT" }, { text: "luxembourg", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/luxembourg.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "U" }, { text: "macedonia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/macedonia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MK" }, { text: "madagascar", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/madagascar.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MG" }, { text: "malawi", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/malawi.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MW" }, { text: "malaysia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/malaysia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MY" }, { text: "maldives", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/maldives.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MV" }, { text: "mali", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/mali.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ML" }, { text: "malta", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/malta.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MT" }, { text: "marshall_islands", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/marshall_islands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MH" }, { text: "mauritania", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/mauritania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MR" }, { text: "mauritius", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/mauritius.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MU" }, { text: "mexico", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/mexico.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MX" }, { text: "micronesia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/micronesia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "FM" }, { text: "moldova", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/moldova.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MD" }, { text: "monaco", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/monaco.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MC" }, { text: "mongolia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/mongolia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MN" }, { text: "montenegro", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/montenegro.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ME" }, { text: "morocco", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/morocco.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MA" }, { text: "mozambique", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/mozambique.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MZ" }, { text: "myanmar", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/myanmar.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "MM" }, { text: "namibia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/namibia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "A" }, { text: "nauru", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/nauru.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NR" }, { text: "nepal", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/nepal.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "np" }, { text: "netherlands", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/netherlands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NL" }, { text: "new_zealand", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/new_zealand.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NZ" }, { text: "nicaragua", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/nicaragua.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NI" }, { text: "niger", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/niger.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NE" }, { text: "nigeria", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/nigeria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NG" }, { text: "niue", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/niue.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NU" }, { text: "north_korea", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/north_korea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KP" }, { text: "norway", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/norway.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "NO" }, { text: "oman", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/oman.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "OM" }, { text: "pakistan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/pakistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PK" }, { text: "palau", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/palau.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PW" }, { text: "palestine", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/palestine.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PS" }, { text: "panama", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/panama.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PA" }, { text: "papua_new_guinea", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/papua_new_guinea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PG" }, { text: "paraguay", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/paraguay.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PY" }, { text: "peru", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/peru.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PE" }, { text: "philippines", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/philippines.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PH" }, { text: "poland", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/poland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PL" }, { text: "portugal", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/portugal.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "PT" }, { text: "qatar", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/qatar.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "QA" }, { text: "republic_of_the_congo", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/republic_of_the_congo.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CD" }, { text: "romania", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/romania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RO" }, { text: "russian_federation", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/russian_federation.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RU" }, { text: "rwanda", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/rwanda.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RW" }, { text: "saint_kitts_and_nevis", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/saint_kitts_and_nevis.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KN" }, { text: "saint_lucia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/saint_lucia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LC" }, { text: "saint_vicent_and_the_grenadines", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/saint_vicent_and_the_grenadines.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VC" }, { text: "samoa", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/samoa.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "WS" }, { text: "san_marino", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/san_marino.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SM" }, { text: "sao_tome_and_principe", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/sao_tome_and_principe.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ST" }, { text: "saudi_arabia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/saudi_arabia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SA" }, { text: "senegal", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/senegal.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SN" }, { text: "serbia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/serbia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "RS" }, { text: "seychelles", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/seychelles.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SC" }, { text: "sierra_leone", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/sierra_leone.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SL" }, { text: "singapore", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/singapore.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SG" }, { text: "slovakia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/slovakia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SK" }, { text: "slovenia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/slovenia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "I" }, { text: "soloman_islands", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/soloman_islands.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SB" }, { text: "somalia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/somalia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SO" }, { text: "south_africa", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/south_africa.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZA" }, { text: "south_korea", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/south_korea.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "KR" }, { text: "spain", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/spain.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ES" }, { text: "sri_lanka", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/sri_lanka.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "LK" }, { text: "sudan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/sudan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SD" }, { text: "suedsudan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/suedsudan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SS" }, { text: "suriname", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/suriname.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SR" }, { text: "swaziland", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/swaziland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SZ" }, { text: "sweden", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/sweden.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SE" }, { text: "switzerland", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/switzerland.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "CH" }, { text: "syria", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/syria.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "SY" }, { text: "tajikistan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/tajikistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TJ" }, { text: "tanzania", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/tanzania.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TZ" }, { text: "thailand", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/thailand.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TH" }, { text: "timor_leste", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/timor_leste.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TL" }, { text: "togo", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/togo.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TG" }, { text: "tonga", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/tonga.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TO" }, { text: "trinidad_and_tobago", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/trinidad_and_tobago.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TT" }, { text: "tunesia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/tunesia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TN" }, { text: "turkey", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/turkey.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TR" }, { text: "turkmenistan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/turkmenistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TM" }, { text: "tuvalu", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/tuvalu.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "TV" }, { text: "uae", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/uae.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "AE" }, { text: "uganda", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/uganda.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UG" }, { text: "ukraine", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/ukraine.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UA" }, { text: "united_kingdom", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/united_kingdom.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "GB" }, { text: "united_states_of_america", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/united_states_of_america.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "US" }, { text: "uruguay", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/uruguay.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UY" }, { text: "uzbekistan", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/uzbekistan.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "UZ" }, { text: "vanuatu", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/vanuatu.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VU" }, { text: "vatican_city", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/vatican_city.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VA" }, { text: "venezuela", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/venezuela.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VE" }, { text: "vietnam", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/vietnam.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "VN" }, { text: "yemen", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/yemen.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "YE" }, { text: "zambia", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/zambia.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZM" }, { text: "zimbabwe", subText: "", imgSrc: "/ZOLLWeb_frontend/javascripts/modules/gsb_zoll_und_reise/dist/assets/flags/zimbabwe.png", eu: 0, specialZone: 0, calcZoll: 0, calcEuTax: 0, iso2: "ZW" }];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.flatTaxRate = "17.5", t.flatTaxRateLimit = 700;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ text: "Artenschutz", imgSrc: "artenschutz.jpg", description: "Der illegale Handel mit exotischen Tier- und Pflanzenarten ist ein einträgliches Geschäft, allerdings mit dramatischen Folgen. Viele frei lebende Tier- und Pflanzenarten sind in ihrem Bestand gefährdet oder vom Aussterben bedroht. Daher unterliegen sie strengen Einfuhrbestimmungen. Hiermit soll weltweit ein Aussterben von seltenen Tierarten verhindert werden. Der Zoll wirkt bei der Überwachung der Einhaltung der gesetzlichen Regelungen zum Schutz der Artenvielfalt im internationalen Warenverkehr mit. Der Zoll beschlagnahmt geschützte Arten oder Erzeugnisse daraus, die verbotenerweise bzw. ohne die erforderlichen Dokumente eingeführt werden. Dies betrifft z.B. auch Schuhe, Bekleidung oder andere Waren mit dem Leder oder Fell geschützter Tiere sowie Lebensmittel, Arzneimittel oder Nahrungsergänzungsmittel, die aus geschützten Arten hergestellt wurden." }, { text: "Arzneimittel", imgSrc: "arzneimittel.jpg", description: "Der Verkehr mit Arzneimitteln und Betäubungsmitteln unterliegt in Deutschland zum Schutz der  Bevölkerung vor gesundheitlichen Schäden und zur Bekämpfung des illegalen Handels mit Drogen strengen Vorschriften.<br><br>Bei der Einreise oder Wiedereinreise nach Deutschland dürfen Arzneimittel in Mengen, die dem üblichen persönlichen Bedarf von Reisenden  entsprechen, eingeführt werden. Als üblicher persönlicher Bedarf werden Mengen von bis zu 3-Monats-Rationen angesehen.<br><br> Es gibt jedoch auch Arzneimittel, die selbst für den eigenen Bedarf von Reisenden nicht nach Deutschland verbracht werden dürfen. Hierunter fallen:<br><ul><li>gefälschte Arzneimittel oder</li><li>besonders gefährliche und häufig im Doping verwendete Stoffe, die in der Anlage zum Anti-Doping-Gesetz (z.B. Testosteron, Nandrolon, Clenbuterol) aufgelistet sind.</li></ul>Besondere Bestimmungen sind für Arzneimittel zu beachten, die unter das Betäubungsmittelgesetz fallen (z.B. Morphin) und damit einer besonderen Verschreibung nach dem Betäubungsmittelrecht durch den behandelnden Arzt bedürfen. Die aufgrund dieser ärztlichen Verschreibung für den eigenen Bedarf erworbenen Betäubungsmittel darf ein Reisender in der für die Dauer der Reise angemessenen Menge aus Deutschland ausführen oder nach Deutschland einführen. Bitte beachten Sie, dass in diesen Fällen eine vom behandelnden Arzt ausgefüllte Bescheinigung mitgeführt wird." }, { text: "Lebens- und Futtermittel", imgScr: "lebens_und_futtermittel.jpg", description: 'Die hygienischen Standards für Herstellung und Verkehr von Lebensmitteln sind weltweit höchst unterschiedlich. Viele Produkte können gesundheitsgefährdend sein.<br><br>Die Einfuhr bestimmter Produkte nach Deutschland kann daher  aufgrund spezieller Regelungen beschränkt oder sogar generell verboten sein. Dies sind zum Beispiel:<br><br><b>Wildpilze</b><br> Speisepilze bis zu einer Menge von zwei Kilogramm, die zum privaten Verbrauch bestimmt sind, können ohne Einschränkungen eingeführt werden. <br><br><b>Kartoffeln</b><br> Die Einfuhr von Kartoffeln, auch in geringen Mengen, ist im Reiseverkehr wegen der Gefahr der Verbreitung der bakteriellen Ringfäule grundsätzlich verboten.<br><br><b>Kaviar vom Stör</b> <br> Für die Ein- oder Ausfuhr von Kaviar zum persönlichen Gebrauch wird eine Freimenge von 125 Gramm je Person in einzeln gekennzeichneten Behältern gewährt. <br><br><b>Nahrungsergänzungsmittel</b> <br> Bestimmte Nahrungsergänzungsmittel oder Vitaminpräparate können in Deutschland als Arzneimittel gelten und unterliegen damit dem Arzneimittelgesetz. <br><br><b>Lebens- und Futtermittel tierischer Herkunft</b><br>  Für diese Waren bestehen insbesondere aus tierseuchenrechtlichen Gründen weitere Einschränkungen. Zu diesen Waren gehören zum Beispiel Fleisch und Fleischerzeugnisse, Wild, Milch und Milcherzeugnisse sowie Eier.<br><br>Die Einfuhr von Lebens- und Futtermitteln, die zum eigenen Gebrauch oder Verbrauch des Empfängers bestimmt sind, ist grundsätzlich zulässig. Werden jedoch zulässige Höchstmengen überschritten, so ist deren Einfuhr nur mit den jeweils vorgeschriebenen Bescheinigungen zulässig.<br><br> Bitte informieren Sie sich rechtzeitig vor Ihrer Reise über die rechtlichen Bestimmungen auf www.zoll.de oder beim Informations- und Wissensmanagement des Zolls (mehr unter Kontakt im Bereich ""Zoll & App"").' }, { text: "Produktpiraterie", imgSrc: "produktpiraterie.jpg", description: "Oft wird Ihnen durch nachgeahmte oder gefälschte Markenzeichen eine vermeintliche hohe Qualität vorgetäuscht. Die Fälscher erzielen dabei durch minderwertige Produkte hohe Gewinne - auf Ihr Risiko! Marken- und Produktpiraterie schädigt zudem die heimische Wirtschaft, die hohe Beträge in Entwicklung und Forschung steckt. Gefälschte Produkte können auch Ihre Gesundheit gefährden: Durch fehlende Kontrollen bei der Herstellung der Fälschungen, besteht keine Garantie auf Produktsicherheit. Seien Sie daher misstrauisch bei unverhältnismäßig günstigen Markenprodukten oder offensichtlichen Fehlern in der Produktbezeichnung. Informieren Sie sich schon vor dem Kauf beim Hersteller über Echtheitsmerkmale, wie z.B. Wasserzeichen." }, { text: "Verbrauchsteuerpflichtige Ware", imgSrc: "verbrauchsteuerpflichtige_ware.jpg", description: '"Günstigen Kaffee, Alkohol oder Tabak aus dem Ausland mitbringen? Innerhalb der Freimengen ist das kein Problem. Nutzen Sie hierfür unseren Freimengenrechner oder informieren Sie sich vor Ihrer Reise auf www.zoll.de oder beim Informations- und Wissensmanagement des Zolls (mehr unter Kontakt im Bereich ""Zoll & App"").<br><br>Hinweis: Aus den EU-Ländern Bulgarien, Kroatien, Lettland, Litauen, Ungarn oder Rumänien dürfen Sie bis zum 31. Dezember 2017 nur 300 Stück Zigaretten mitbringen."' }, { text: "Verfassungswidrige / jugendgefährdende Schriften/Medien", imgSrc: "verfassungswidrige_jugendgefaehrdende_schriften.jpg", description: '"In Deutschland ist die Meinungsfreiheit ein hohes Gut. Dennoch überwacht der Zoll zum Schutz der öffentlichen Ordnung und Sittlichkeit Einfuhren von Schriften oder Medien mit jugendgefährdenden oder verfassungswidrigen Inhalten nach Deutschland.<br><br>Dazu zählen Veröffentlichungen mit unsittlichem oder zu Gewalttätigkeit, Verbrechen oder Rassenhass aufstachelndem Inhalt und Schriften, die somit gegen geschützte Rechtsgüter verstoßen. Verboten sind beispielsweise Propagandamittel wie Filme, die aggressiv gegen die freiheitliche demokratische Grundordnung oder den Gedanken der Völkerverständigung wirken."' }, { text: "Waffen und Munition", imgSrc: "waffen_munition.jpg", description: '"Zum Schutz der öffentlichen Sicherheit und Ordnung sind die Einfuhr und der Umgang mit Waffen oder Munition streng geregelt. Die meisten Waffen und Munition dürfen grundsätzlich nicht ohne Berechtigungen, wie beispielsweise eine Waffenbesitzkarte, mitgeführt werden. Die Mitnahme oder das Verbringen von Waffen und Munition bedarf daher in der Regel einer Erlaubnis.<br><br>Bedenken Sie bitte, dass manche im Ausland frei verkäufliche, tragbare Gegenstände (z.B. Soft-Air-Waffen, Schlagringe, Butterflymesser, Nunchakus) nach dem deutschen Waffengesetz verboten sind. Bitte informieren Sie sich rechtzeitig bei den waffenrechtlich zuständigen Behörden. Eine Übersicht finden Sie hier: <a href="https://www.zoll.de/SharedDocs/Boxen/DE/Fragen/0049_waffenrechtlich_zustaendige_verwaltungsbehoerden.html?nn=17772">https://www.zoll.de/SharedDocs/Boxen/DE/Fragen/0049_waffenrechtlich_zustaendige_verwaltungsbehoerden.html?nn=17772</a> ' }];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.eu = { tobacco: { cigarettes: { limit: 800, step: 10, unit: "Stück" }, cigarillo: { limit: 400, step: 10, unit: "Stück" }, cigars: { limit: 200, step: 1, unit: "Stück" }, smokeTobacco: { limit: 1, step: .01, unit: "kg" } }, alcohol: { beer: { limit: 110, step: 1, unit: "l" }, alcopops: { limit: 10, step: 1, unit: "l" }, foamingWines: { limit: 60, step: 1, unit: "l" }, provisionalProducts: { limit: 20, step: 1, unit: "l" }, spirits: { limit: 16, step: 1, unit: "l" } }, fuel: { fuel: { limit: 20, step: 1, unit: "l" } }, coffee: { coffee: { limit: 10, step: 1, unit: "kg" } } }, t.notEU = { tobacco: { cigarettes: { limit: 200, step: 10, unit: "Stück" }, cigarillo: { limit: 100, step: 10, unit: "Stück" }, cigars: { limit: 50, step: 1, unit: "Stück" }, smokeTobacco: { limit: 250, step: 10, unit: "g" } }, alcohol: { beer: { limit: 16, step: 1, unit: "l" }, lessEqualsXPercent: { limit: 2, step: .25, unit: "l" }, moreThanXPercent: { limit: 1, step: .25, unit: "l" }, nonFoamingWines: { limit: 4, step: 1, unit: "l" } }, fuel: { fuel: { limit: 10, step: 1, unit: "l" } }, coffee: { coffee: { limit: 10, step: 1, unit: "l" } } };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.FREE_AMOUNT_AGE_SMALLER_15 = 175, t.FREE_AMOUNT_AGE_GREATER_15_SHIP_OR_PLANE = 430, t.FREE_AMOUNT_AGE_GREATER_15_OTHER_TRANSPORT = 300;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = [{ text: "Alkohol", imgSrc: "alkohol.jpg", description: "<p>Alkohol gehört zu den hochsteuerbaren Waren. Daher können bei der Einfuhr können hohe Abgaben erhoben werden, wenn die Freimengen überschritten sind.</p>", goods: [{ text: "Alkohol", productGroup: "Alkohol", productTags: ["Wein", "Bier", "Likör", "Blue Curacao", "Whisky", "Armagnac", "Brandy", "Grappa", "Whiskey", "Schnaps", "Wodka", "Cherry"], productType: "Abbruch VSt - Sonderware", zollTax: "0", euTax: "0", excludeFromCalculation: !1, maxFlatTaxAmount: "0.0", descriptionShort: "<p>Achtung! Bei der Einfuhr von Alkohol entstehen ggf. zusätzliche Abgaben. Alkohol wird nur im Rahmen der Freimenge berücksichtigt.</p>", descriptionNonEU: "<p>Folgende Mengen an alkoholischen Getränken können Sie für Ihren persönlichen Gebrauch steuerfrei mitbringen, wenn der Einführer mindestens 17 Jahre alt ist:</p> <ol><li>1 Liter Spirituosen mit einem Alkoholgehalt von mehr als 22 Volumenprozent oder</li><li>unvergällter Ethylalkohol mit einem Alkoholgehalt von 80 Volumenprozent oder mehr oder</li><li>2 Liter Alkohol und alkoholische Getränke mit einem Alkoholgehalt von höchstens 22 Volumenprozent oder</li><li>eine anteilige Zusammenstellung dieser Waren und</li><li>4 Liter nicht schäumende Weine und</li><li>16 Liter Bier</li></ol><p>Beachten Sie bitte, dass Sie die Waren in Ihrem persönlichen Gepäck verbringen müssen. Beim Versenden des Gepäcks mit der Post wird keine Freimenge gewährt.</p>", descriptionEU: "<p>Alkoholische Genussmittel für den privaten Verbrauch können Sie grundsätzlich steuerfrei mitbringen. Der Zoll nimmt eine Verwendung zu privaten Zwecken an, wenn folgende Richtmengen nicht überschritten sind.</p><ol><li>Spirituosen (z.B. Weinbrand, Whisky, Rum, Wodka): 10 Liter</li><li>Zwischenerzeugnisse (z.B. Sherry, Portwein und Marsala): 20 Liter</li><li>Schaumwein: 60 Liter</li><li>Bier: 110 Liter</li></ol><p>Die Richtmengen gelten nur, wenn die Waren von Ihnen als Privatperson persönlich befördert werden, für Sie selbst bestimmt sind und in einem anderen EU-Mitgliedstaat bereits versteuert wurden (z. B. beim Kauf in Supermärkten).</p>" }] }, { text: "Bargeld / Barmittel", imgSrc: "bargeld.jpg", description: "<p>Bei der Einreise in die EU müssen mitgeführte Barmittel im Gesamtwert von 10.000 Euro oder mehr bei der zuständigen Zollstelle angemeldet werden.</p>", goods: [{ text: "Bargeld / Barmittel", productGroup: "Andere Waren", productTags: ["Geldscheine"], productType: "keine besondere Einschränkung", zollTax: "0.00", euTax: "0.00", excludeFromCalculation: !1, maxFlatTaxAmount: "0.0", descriptionShort: "<p>Achtung! Bei der Einreise in die EU müssen mitgeführte Barmittel im Gesamtwert von 10.000 Euro oder mehr bei der zuständigen Zollstelle angemeldet werden.</p>", descriptionNonEU: '<p>Bei der Einreise in die EU müssen mitgeführte Barmittel im Gesamtwert von 10.000 Euro oder mehr bei der zuständigen Zollstelle unaufgefordert schriftlich angemeldet werden.</p><p>Als Bargeld gelten z.B.</p><ol><li>Banknoten und Münzen, die gültige Zahlungsmittel sind, oder</li><li>Banknoten und Münzen, die keine gültigen Zahlungsmittel sind, aber noch in eine Währung umgetauscht werden können, die gültiges Zahlungsmittel ist (z.B. Deutsche Mark, Österreichische Schilling - Umtausch in Euro ist noch möglich).</li></ol><p>Als Wertpapiere gelten z.B.</p><ol><li>Sparbriefe,</li><li>Schecks/Reiseschecks,</li><li>Aktien und</li><li>Wechsel.</li></ol> <p>Für die Berechnung des Wertes von Sammler- und Anlagemünzen (z.B. ""Maple Leaf"", ""Eagle"", ""Wiener Philharmoniker"") wird nicht der Nennwert, der auf der Münze angegeben ist, sondern der tatsächliche Wert zugrunde gelegt. Edelmetalle und Edelsteine gelten nicht als Barmittel, sondern sind zwingend als Ware anzumelden.</p>', descriptionEU: '<p>Bei der Einreise nach Deutschland aus einem Mitgliedstaat der EU und bei Ausreise aus Deutschland in einen Mitgliedstaat der EU müssen mitgeführtes Bargeld und dem Bargeld gleichgestellte Zahlungsmittel im Gesamtwert von 10.000 Euro oder mehr den Kontrolleinheiten des Zolls auf Befragen mündlich angezeigt werden.</p><p>Als Bargeld gelten z.B.</p><ol><li>Banknoten und Münzen, die gültige Zahlungsmittel sind, oder<li>Banknoten und Münzen, die keine gültigen Zahlungsmittel sind, aber noch in eine Währung umgetauscht werden können, die gültiges Zahlungsmittel ist (z.B. Deutsche Mark, Österreichische Schilling - Umtausch in Euro ist noch möglich).</ol><p>Als dem Bargeld gleichgestellte Zahlungsmittel gelten Wertpapiere, Edelmetalle, Edelsteine (roh oder geschliffen) und elektronisches Geld, z.B.</p><ol><li>Sparbücher,</li><li>Sparbriefe,</li><li>Schecks/Reiseschecks,</li><li>Aktien,</li><li>Wechsel,</li><li>Platin, Gold oder Silber oder</li><li>Diamanten, Rubine, Saphire oder Smaragde.</li></ol><p>Für die Berechnung des Wertes von Sammler- und Anlagemünzen (z.B. ""Maple Leaf"", ""Eagle"", ""Wiener Philharmoniker"") wird nicht der Nominalwert, der auf der Münze angegeben ist, sondern der tatsächliche Wert zugrunde gelegt</p>' }] }, { text: "Ziergegenstände", imgSrc: "ziergegenstände.jpg", description: "<p>Bei der Einfuhr von Ziergegenständen aus Holz, wie Statuen und Schnitzereien, achtet der Zoll insbesondere darauf, ob Hölzer geschützter Arten verwendet wurden. Bei der Mitnahme von artengeschützten Pflanzen oder daraus hergestellten Gegenständen droht nicht nur die Beschlagnahme, sondern auch die Verhängung einer Geldstrafe.</p>", goods: [{ text: "Ziergegenstände aus Glas oder Keramik", productGroup: "Andere Waren", productTags: [], productType: "keine besondere Einschränkung", zollTax: "0.06", euTax: "0.19", excludeFromCalculation: !1, maxFlatTaxAmount: "0.0", descriptionShort: "<p>Bei der Einfuhr von Kunst- und Ziergegenständen müssen keine besonderen Einfuhrvorschriften beachtet werden.</p>", descriptionNonEU: "<p>Seien Sie jedoch misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit.</p>", descriptionEU: "<p>Der Handel mit Waren in der EU ist frei. Sie können Ziergegnstände und Dekorationsartikel daher ohne Beschränkungen aus Ihrem Reiseland mitbringen.</p><p>Seien Sie jedoch misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit.</p>" }, { text: "Ziergegenstände aus Kunststoff", productGroup: "Andere Waren", productTags: [], productType: "keine besondere Einschränkung", zollTax: "0.065", euTax: "0.19", descriptionShort: "<p>Bei der Einfuhr von Kunst- und Ziergegenständen müssen keine besonderen Einfuhrvorschriften beachtet werden.</p>", descriptionNonEU: "<p>Seien Sie jedoch misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit.</p>", descriptionEU: "<p>Der Handel mit Waren in der EU ist frei. Sie können Ziergegnstände und Dekorationsartikel daher ohne Beschränkungen aus Ihrem Reiseland mitbringen.</p><p>Seien Sie jedoch misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit.</p>" }, { descriptionEU: "<p>Der Handel mit Waren in der EU ist frei. Sie können Schmuckwaren daher ohne Beschränkungen aus Ihrem Reiseland mitbringen. <br/>Seien Sie jedoch misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Gute Qualität und Garantie für Ihren Einkauf bietet Ihnen nur das Original.</p>", descriptionNonEU: "<p>Viele frei lebende Tier- und Pflanzenarten sind in ihrem Bestand gefährdet oder vom Aussterben bedroht. Daher unterliegen sie strengen Einfuhrbestimmungen. Dies betrifft z. B. Uhrenarmbänder aus dem Leder oder Fell geschützter Tiere.<br/><br/>Seien Sie außerdem misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Gute Qualität und Garantie für Ihren Einkauf bietet Ihnen nur das Original. </p>", descriptionShort: "<p>Achtung! Achten Sie darauf, dass kein Leder geschützter Tiere verwendet wurde.</p>", euTax: "0.19", excludeFromCalculation: !1, maxFlatTaxAmount: "0.8", productGroup: "Andere Waren", productTags: [""], productType: "keine besondere Einschränkung", productUnit: "EUR", specialCategory: 1, text: "Armbanduhren", zollTax: "0.045" }] }, { text: "Bekleidung", imgSrc: "bekleidung.jpg", description: "<p>Achten Sie beim Kauf von Bekleidung auf die verwendeten Herstellungsstoffe. Bestimmte Tierarten, z.B. von Krokodilen und Schlangen, sind vom Aussterben bedroht und deshalb geschützt.</p>", goods: [{ text: "Bekleidung aus Leder", productGroup: "Andere Waren", productTags: ["Hose", "Jacke", "Weste", "Shirt", "Schuhe", "Handschuhe", "Kappe", "Mütze", "Kopfbedeckung", "Hut", "StiefelPumps", "Gürtel"], productType: "keine besondere Einschränkung", zollTax: "0.04", euTax: "0.19", excludeFromCalculation: !1, maxFlatTaxAmount: "0.0", descriptionShort: "<p>Achtung! Kaufen Sie keine Kleidung aus dem Leder geschützter Tiere.</p>", descriptionNonEU: "<p>Viele frei lebende Tier- und Pflanzenarten sind in ihrem Bestand gefährdet oder vom Aussterben bedroht. Daher unterliegen sie strengen Einfuhrbestimmungen. Dies betrifft z. B. auch Bekleidung aus dem Leder oder Fell geschützter Tiere. Seien Sie außerdem misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit.</p>", descriptionEU: "<p>Der Handel mit Waren in der EU ist frei. Sie können Bekleidung daher ohne Beschränkungen aus Ihrem Reiseland mitbringen. Achten Sie jedoch bitte darauf, dass Sie keine Bekleidung aus dem Leder oder Fell geschützter Tiere erwerben. Seien Sie außerdem misstrauisch bei unverhältnismäßig günstigen Markenprodukten. Nachgeahmte oder gefälschte Markenware schädigt die heimische Wirtschaft und kann Ihre Gesundheit als Verbraucher gefährden: Durch fehlende Kontrollen bei der Herstellung besteht keine Garantie auf Produktsicherheit.</p>" }] }];}, function (e) {e.exports = JSON.parse('[{"exchangeRate":"1.56840","name":"Australischer Dollar (AUD)","iso2":"AU"},{"exchangeRate":"1.0","name":"Euro (EUR)","iso2":"EU"},{"exchangeRate":"1.95580","name":"Lew (BGN)","iso2":"BG"},{"exchangeRate":"4.00800","name":"Brasilianischer Real (BRL)","iso2":"BR"},{"exchangeRate":"1.56010","name":"Kanadischer Dollar (CAD)","iso2":"CA"},{"exchangeRate":"1.15510","name":"Schweizer Franken (CHF)","iso2":"CH"},{"exchangeRate":"7.81120","name":"Renminbi Yuan (CNY)","iso2":"CN"},{"exchangeRate":"25.3610","name":"Tschechische Krone (CZK)","iso2":"CZ"},{"exchangeRate":"7.44650","name":"Dänische Krone (DKK)","iso2":"DK"},{"exchangeRate":"0.884630","name":"Pfund Sterling (GBP)","iso2":"GB"},{"exchangeRate":"9.63410","name":"Hongkong-Dollar (HKD)","iso2":"HK"},{"exchangeRate":"7.44150","name":"Kuna (HRK)","iso2":"HR"},{"exchangeRate":"312.150","name":"Forint (HUF)","iso2":"HU"},{"exchangeRate":"16757.86","name":"Indonesische Rupiah (IDR)","iso2":"ID"},{"exchangeRate":"4.30720","name":"Neuer Schekel (ILS)","iso2":"IL"},{"exchangeRate":"79.7295","name":"Indische Rupie (INR)","iso2":"IN"},{"exchangeRate":"123.900","name":"Isländische Krone (ISK)","iso2":"IS"},{"exchangeRate":"132.410","name":"Yen (JPY)","iso2":"JP"},{"exchangeRate":"1322.02","name":"Südkoreanischer Won (KRW)","iso2":"KR"},{"exchangeRate":"23.0516","name":"Mexikanischer Peso (MXN)","iso2":"MX"},{"exchangeRate":"4.81740","name":"Malaysischer Ringit (MYR)","iso2":"MY"},{"exchangeRate":"9.64200","name":"Norwegische Krone (NOK)","iso2":"NO"},{"exchangeRate":"1.67540","name":"Neuseeland-Dollar (NZD)","iso2":"NZ"},{"exchangeRate":"64.2290","name":"Philippinischer Peso (PHP)","iso2":"PH"},{"exchangeRate":"4.15890","name":"Zloty (PLN)","iso2":"PL"},{"exchangeRate":"4.66150","name":"Leu (RON)","iso2":"RO"},{"exchangeRate":"69.6656","name":"Rubel (RUB)","iso2":"RU"},{"exchangeRate":"9.96480","name":"Schwedische Krone (SEK)","iso2":"SE"},{"exchangeRate":"1.62670","name":"Singapur-Dollar (SGD)","iso2":"SG"},{"exchangeRate":"38.7830","name":"Baht (THB)","iso2":"TH"},{"exchangeRate":"4.66500","name":"Türkische Lira (TRY)","iso2":"TR"},{"exchangeRate":"1.23120","name":"US-Dollar (USD)","iso2":"US"},{"exchangeRate":"14.3373","name":"Rand (ZAR)","iso2":"ZA"},{"exchangeRate":"21.98525","name":"Ägyptisches Pfund (EGP)","iso2":"EG"},{"exchangeRate":"133.44","name":"Lek (ALL)","iso2":"AL"},{"exchangeRate":"141.1977","name":"Algerischer Dinar (DZD)","iso2":"DZ"},{"exchangeRate":"24.33055","name":"Argentinischer Peso (ARS)","iso2":"AR"},{"exchangeRate":"598.95","name":"Dram (AMD)","iso2":"AM"},{"exchangeRate":"2.1116","name":"Aserbaidschan-Manat (AZN)","iso2":"AZ"},{"exchangeRate":"0.46944","name":"Bahrain-Dinar (BHD)","iso2":"BH"},{"exchangeRate":"102.9701","name":"Taka (BDT)","iso2":"BD"},{"exchangeRate":"8.6078","name":"Boliviano (BOB)","iso2":"BO"},{"exchangeRate":"655.957","name":"CFA-Franc (XOF)","iso2":"BF"},{"exchangeRate":"749.62","name":"Chilenischer Peso (CLP)","iso2":"CL"},{"exchangeRate":"3.1016","name":"Lari (GEL)","iso2":"GE"},{"exchangeRate":"5.51305","name":"Ghana-Cedi (GHS)","iso2":"GH"},{"exchangeRate":"1539.065","name":"Irak-Dinar (IQD)","iso2":"IQ"},{"exchangeRate":"45906.00","name":"Rial (IRR)","iso2":"IR"},{"exchangeRate":"0.881255","name":"Jordan-Dinar (JOD)","iso2":"JO"},{"exchangeRate":"655.957","name":"CFA-Franc (XAF)","iso2":"CM"},{"exchangeRate":"399.81","name":"Tenge (KZT)","iso2":"KZ"},{"exchangeRate":"4.53435","name":"Katar-Riyal (QAR)","iso2":"QA"},{"exchangeRate":"127.23915","name":"Kenia-Schilling (KES)","iso2":"KE"},{"exchangeRate":"84.6908","name":"Kirgisistan-Som (KGS)","iso2":"KG"},{"exchangeRate":"3542.945","name":"Kolumbianischer Peso (COP)","iso2":"CO"},{"exchangeRate":"1996.3552","name":"Kongo-Franc (CDF)","iso2":"CD"},{"exchangeRate":"127.85","name":"Nordkoreanischer Won (KPW)","iso2":"KP"},{"exchangeRate":"0.373624","name":"Kuwait-Dinar (KWD)","iso2":"KW"},{"exchangeRate":"1877.89","name":"Libanesisches Pfund (LBP)","iso2":"LB"},{"exchangeRate":"1.6504","name":"Libyscher Dinar (LYD)","iso2":"LY"},{"exchangeRate":"901.41625","name":"Malawi-Kwacha (MWK)","iso2":"MW"},{"exchangeRate":"11.3385","name":"Marokkanischer Dirham (MAD)","iso2":"MA"},{"exchangeRate":"40.47355","name":"Mauritius-Rupie (MUR)","iso2":"MU"},{"exchangeRate":"20.7906","name":"Moldau-Leu (MDL)","iso2":"MD"},{"exchangeRate":"14.8558","name":"Namibia-Dollar (NAD)","iso2":"NA"},{"exchangeRate":"126.545","name":"Nepalesische Rupie (NPR)","iso2":"NP"},{"exchangeRate":"380.24865","name":"Naira (NGN)","iso2":"NG"},{"exchangeRate":"137.365","name":"Pakistanische Rupie (PKR)","iso2":"PK"},{"exchangeRate":"4.0275","name":"Neuer Sol (PEN)","iso2":"PE"},{"exchangeRate":"4.65695","name":"Saudi Riyal (SAR)","iso2":"SA"},{"exchangeRate":"118.7428","name":"Serbischer Dinar (RSD)","iso2":"XS"},{"exchangeRate":"190.26","name":"Sri-Lanka-Rupie (LKR)","iso2":"LK"},{"exchangeRate":"14.8485","name":"Lilangeni (SZL)","iso2":"SZ"},{"exchangeRate":"542.30","name":"Syrisches Pfund (SYP)","iso2":"SY"},{"exchangeRate":"10.9653","name":"Somoni (TJS)","iso2":"TJ"},{"exchangeRate":"36.24","name":"Neuer Taiwan-Dollar (TWD)","iso2":"TW"},{"exchangeRate":"2.9452","name":"Tunesischer Dinar (TND)","iso2":"TN"},{"exchangeRate":"4.3337","name":"Turkmenistan-Manat (TMT)","iso2":"TM"},{"exchangeRate":"4480.575","name":"Uganda-Schilling (UGX)","iso2":"UG"},{"exchangeRate":"34.789719","name":"Griwna (UAH)","iso2":"UA"},{"exchangeRate":"10146.13","name":"Usbekistan-Sum (UZS)","iso2":"UZ"},{"exchangeRate":"4.574833","name":"VAE-Dirham (AED)","iso2":"AE"},{"exchangeRate":"28252.875","name":"Dong (VND)","iso2":"VN"},{"exchangeRate":"2.4514","name":"Belarus-Rubel (BYN)","iso2":"BY"}]');}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = d(n(0)),a = d(n(1)),o = d(n(8)),s = n(7),l = d(n(6)),u = d(n(27)),c = n(2);function d(e) {return e && e.__esModule ? e : { default: e };}function f(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function p(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var h = function (e) {function t() {return f(this, t), p(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, o.default)(this.props.appId + "-container");} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.navTargets,a = e.texts;return i.default.createElement("div", { className: "mainMenu" }, i.default.createElement(l.default, { preventFocus: !0, texts: a.title, htmlTextWrapping: s.TITLE_TEXT_WRAPPING_H1 }), i.default.createElement("div", { className: "buttonWrapper" }, i.default.createElement(u.default, { appId: t, className: "c-button", dataParam: r.calculator, functions: { handleScreenChange: n.handleScreenChange }, texts: a.buttons.calculator }), i.default.createElement(u.default, { appId: t, className: "c-button", texts: a.buttons.permitted, functions: { handleScreenChange: n.handleScreenChange }, dataParam: r.permitted })));} }]), t;}(i.default.Component);h.propTypes = { functions: a.default.shape({ handleScreenChange: a.default.func.isRequired }).isRequired, navTargets: a.default.shape({ calculator: a.default.string.isRequired, permitted: a.default.string.isRequired }).isRequired, texts: a.default.shape({ buttons: a.default.shape({ calculator: a.default.shape({ h: a.default.string.isRequired, text: a.default.string.isRequired }).isRequired, permitted: a.default.shape({ h: a.default.string.isRequired, text: a.default.string.isRequired }).isRequired }).isRequired, title: c.titleTextsType.isRequired }).isRequired }, t.default = h;}, function (e, t, n) {"use strict";var r = n(156);function i() {}function a() {}a.resetWarningCache = i, e.exports = function () {function e(e, t, n, i, a, o) {if (o !== r) {var s = new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name = "Invariant Violation", s;}}function t() {return e;}e.isRequired = e;var n = { array: e, bigint: e, bool: e, func: e, number: e, object: e, string: e, symbol: e, any: e, arrayOf: t, element: e, elementType: e, instanceOf: t, node: e, objectOf: t, oneOf: t, oneOfType: t, shape: t, exact: t, checkPropTypes: a, resetWarningCache: i };return n.PropTypes = n, n;};}, function (e, t, n) {"use strict";e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";}, function (e, t) {e.exports = function (e) {return e.webpackPolyfill || (e.deprecate = function () {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { enumerable: !0, get: function () {return e.l;} }), Object.defineProperty(e, "id", { enumerable: !0, get: function () {return e.i;} }), e.webpackPolyfill = 1), e;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return "text" === e.type && /\r?\n/.test(e.data) && "" === e.data.trim();};}, function (e, t, n) {"use strict";var r;Object.defineProperty(t, "__esModule", { value: !0 });var i = n(25),a = u(n(183)),o = u(n(184)),s = u(n(190)),l = u(n(191));function u(e) {return e && e.__esModule ? e : { default: e };}function c(e, t, n) {return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;}t.default = (c(r = {}, i.ElementType.Text, a.default), c(r, i.ElementType.Tag, o.default), c(r, i.ElementType.Style, s.default), c(r, i.ElementType.Directive, l.default), c(r, i.ElementType.Comment, l.default), c(r, i.ElementType.Script, l.default), c(r, i.ElementType.CDATA, l.default), c(r, i.ElementType.Doctype, l.default), r);}, function (e) {e.exports = JSON.parse('{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}');}, function (e, t, n) {"use strict";var r,i = "object" == typeof Reflect ? Reflect : null,a = i && "function" == typeof i.apply ? i.apply : function (e, t, n) {return Function.prototype.apply.call(e, t, n);};r = i && "function" == typeof i.ownKeys ? i.ownKeys : Object.getOwnPropertySymbols ? function (e) {return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));} : function (e) {return Object.getOwnPropertyNames(e);};var o = Number.isNaN || function (e) {return e != e;};function s() {s.init.call(this);}e.exports = s, e.exports.once = function (e, t) {return new Promise(function (n, r) {function i(n) {e.removeListener(t, a), r(n);}function a() {"function" == typeof e.removeListener && e.removeListener("error", i), n([].slice.call(arguments));}b(e, t, a, { once: !0 }), "error" !== t && function (e, t, n) {"function" == typeof e.on && b(e, "error", t, n);}(e, i, { once: !0 });});}, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0;var l = 10;function u(e) {if ("function" != typeof e) throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof e);}function c(e) {return void 0 === e._maxListeners ? s.defaultMaxListeners : e._maxListeners;}function d(e, t, n, r) {var i, a, o, s;if (u(n), void 0 === (a = e._events) ? (a = e._events = Object.create(null), e._eventsCount = 0) : (void 0 !== a.newListener && (e.emit("newListener", t, n.listener ? n.listener : n), a = e._events), o = a[t]), void 0 === o) o = a[t] = n, ++e._eventsCount;else if ("function" == typeof o ? o = a[t] = r ? [n, o] : [o, n] : r ? o.unshift(n) : o.push(n), (i = c(e)) > 0 && o.length > i && !o.warned) {o.warned = !0;var l = new Error("Possible EventEmitter memory leak detected. " + o.length + " " + String(t) + " listeners added. Use emitter.setMaxListeners() to increase limit");l.name = "MaxListenersExceededWarning", l.emitter = e, l.type = t, l.count = o.length, s = l, console && console.warn && console.warn(s);}return e;}function f() {if (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, 0 === arguments.length ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);}function p(e, t, n) {var r = { fired: !1, wrapFn: void 0, target: e, type: t, listener: n },i = f.bind(r);return i.listener = n, r.wrapFn = i, i;}function h(e, t, n) {var r = e._events;if (void 0 === r) return [];var i = r[t];return void 0 === i ? [] : "function" == typeof i ? n ? [i.listener || i] : [i] : n ? function (e) {for (var t = new Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n];return t;}(i) : m(i, i.length);}function g(e) {var t = this._events;if (void 0 !== t) {var n = t[e];if ("function" == typeof n) return 1;if (void 0 !== n) return n.length;}return 0;}function m(e, t) {for (var n = new Array(t), r = 0; r < t; ++r) n[r] = e[r];return n;}function b(e, t, n, r) {if ("function" == typeof e.on) r.once ? e.once(t, n) : e.on(t, n);else {if ("function" != typeof e.addEventListener) throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof e);e.addEventListener(t, function i(a) {r.once && e.removeEventListener(t, i), n(a);});}}Object.defineProperty(s, "defaultMaxListeners", { enumerable: !0, get: function () {return l;}, set: function (e) {if ("number" != typeof e || e < 0 || o(e)) throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + e + ".");l = e;} }), s.init = function () {void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;}, s.prototype.setMaxListeners = function (e) {if ("number" != typeof e || e < 0 || o(e)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + e + ".");return this._maxListeners = e, this;}, s.prototype.getMaxListeners = function () {return c(this);}, s.prototype.emit = function (e) {for (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);var r = "error" === e,i = this._events;if (void 0 !== i) r = r && void 0 === i.error;else if (!r) return !1;if (r) {var o;if (t.length > 0 && (o = t[0]), o instanceof Error) throw o;var s = new Error("Unhandled error." + (o ? " (" + o.message + ")" : ""));throw s.context = o, s;}var l = i[e];if (void 0 === l) return !1;if ("function" == typeof l) a(l, this, t);else {var u = l.length,c = m(l, u);for (n = 0; n < u; ++n) a(c[n], this, t);}return !0;}, s.prototype.addListener = function (e, t) {return d(this, e, t, !1);}, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function (e, t) {return d(this, e, t, !0);}, s.prototype.once = function (e, t) {return u(t), this.on(e, p(this, e, t)), this;}, s.prototype.prependOnceListener = function (e, t) {return u(t), this.prependListener(e, p(this, e, t)), this;}, s.prototype.removeListener = function (e, t) {var n, r, i, a, o;if (u(t), void 0 === (r = this._events)) return this;if (void 0 === (n = r[e])) return this;if (n === t || n.listener === t) 0 == --this._eventsCount ? this._events = Object.create(null) : (delete r[e], r.removeListener && this.emit("removeListener", e, n.listener || t));else if ("function" != typeof n) {for (i = -1, a = n.length - 1; a >= 0; a--) if (n[a] === t || n[a].listener === t) {o = n[a].listener, i = a;break;}if (i < 0) return this;0 === i ? n.shift() : function (e, t) {for (; t + 1 < e.length; t++) e[t] = e[t + 1];e.pop();}(n, i), 1 === n.length && (r[e] = n[0]), void 0 !== r.removeListener && this.emit("removeListener", e, o || t);}return this;}, s.prototype.off = s.prototype.removeListener, s.prototype.removeAllListeners = function (e) {var t, n, r;if (void 0 === (n = this._events)) return this;if (void 0 === n.removeListener) return 0 === arguments.length ? (this._events = Object.create(null), this._eventsCount = 0) : void 0 !== n[e] && (0 == --this._eventsCount ? this._events = Object.create(null) : delete n[e]), this;if (0 === arguments.length) {var i,a = Object.keys(n);for (r = 0; r < a.length; ++r) "removeListener" !== (i = a[r]) && this.removeAllListeners(i);return this.removeAllListeners("removeListener"), this._events = Object.create(null), this._eventsCount = 0, this;}if ("function" == typeof (t = n[e])) this.removeListener(e, t);else if (void 0 !== t) for (r = t.length - 1; r >= 0; r--) this.removeListener(e, t[r]);return this;}, s.prototype.listeners = function (e) {return h(this, e, !0);}, s.prototype.rawListeners = function (e) {return h(this, e, !1);}, s.listenerCount = function (e, t) {return "function" == typeof e.listenerCount ? e.listenerCount(t) : g.call(e, t);}, s.prototype.listenerCount = g, s.prototype.eventNames = function () {return this._eventsCount > 0 ? r(this._events) : [];};}, function (e, t, n) {var r = n(93),i = e.exports = Object.create(r),a = { tagName: "name" };Object.keys(a).forEach(function (e) {var t = a[e];Object.defineProperty(i, e, { get: function () {return this[t] || null;}, set: function (e) {return this[t] = e, e;} });});}, function (e, t, n) {var r = n(92),i = n(94);function a(e, t) {this.init(e, t);}function o(e, t) {return i.getElementsByTagName(e, t, !0);}function s(e, t) {return i.getElementsByTagName(e, t, !0, 1)[0];}function l(e, t, n) {return i.getText(i.getElementsByTagName(e, t, n, 1)).trim();}function u(e, t, n, r, i) {var a = l(n, r, i);a && (e[t] = a);}n(40)(a, r), a.prototype.init = r;var c = function (e) {return "rss" === e || "feed" === e || "rdf:RDF" === e;};a.prototype.onend = function () {var e,t,n = {},i = s(c, this.dom);i && ("feed" === i.name ? (t = i.children, n.type = "atom", u(n, "id", "id", t), u(n, "title", "title", t), (e = s("link", t)) && (e = e.attribs) && (e = e.href) && (n.link = e), u(n, "description", "subtitle", t), (e = l("updated", t)) && (n.updated = new Date(e)), u(n, "author", "email", t, !0), n.items = o("entry", t).map(function (e) {var t,n = {};return u(n, "id", "id", e = e.children), u(n, "title", "title", e), (t = s("link", e)) && (t = t.attribs) && (t = t.href) && (n.link = t), (t = l("summary", e) || l("content", e)) && (n.description = t), (t = l("updated", e)) && (n.pubDate = new Date(t)), n;})) : (t = s("channel", i.children).children, n.type = i.name.substr(0, 3), n.id = "", u(n, "title", "title", t), u(n, "link", "link", t), u(n, "description", "description", t), (e = l("lastBuildDate", t)) && (n.updated = new Date(e)), u(n, "author", "managingEditor", t, !0), n.items = o("item", i.children).map(function (e) {var t,n = {};return u(n, "id", "guid", e = e.children), u(n, "title", "title", e), u(n, "link", "link", e), u(n, "description", "description", e), (t = l("pubDate", e)) && (n.pubDate = new Date(t)), n;}))), this.dom = n, r.prototype._handleCallback.call(this, i ? null : Error("couldn't find root of feed"));}, e.exports = a;}, function (e, t, n) {var r = n(26),i = n(165),a = r.isTag;e.exports = { getInnerHTML: function (e, t) {return e.children ? e.children.map(function (e) {return i(e, t);}).join("") : "";}, getOuterHTML: i, getText: function e(t) {return Array.isArray(t) ? t.map(e).join("") : a(t) || t.type === r.CDATA ? e(t.children) : t.type === r.Text ? t.data : "";} };}, function (e, t, n) {var r = n(26),i = n(166),a = { __proto__: null, style: !0, script: !0, xmp: !0, iframe: !0, noembed: !0, noframes: !0, plaintext: !0, noscript: !0 };var o = { __proto__: null, area: !0, base: !0, basefont: !0, br: !0, col: !0, command: !0, embed: !0, frame: !0, hr: !0, img: !0, input: !0, isindex: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 },s = e.exports = function (e, t) {Array.isArray(e) || e.cheerio || (e = [e]), t = t || {};for (var n = "", i = 0; i < e.length; i++) {var a = e[i];"root" === a.type ? n += s(a.children, t) : r.isTag(a) ? n += l(a, t) : a.type === r.Directive ? n += u(a) : a.type === r.Comment ? n += f(a) : a.type === r.CDATA ? n += d(a) : n += c(a, t);}return n;};function l(e, t) {"svg" === e.name && (t = { decodeEntities: t.decodeEntities, xmlMode: !0 });var n = "<" + e.name,r = function (e, t) {if (e) {var n,r = "";for (var a in e) r && (r += " "), r += a, (null !== (n = e[a]) && "" !== n || t.xmlMode) && (r += '="' + (t.decodeEntities ? i.encodeXML(n) : n) + '"');return r;}}(e.attribs, t);return r && (n += " " + r), !t.xmlMode || e.children && 0 !== e.children.length ? (n += ">", e.children && (n += s(e.children, t)), o[e.name] && !t.xmlMode || (n += "</" + e.name + ">")) : n += "/>", n;}function u(e) {return "<" + e.data + ">";}function c(e, t) {var n = e.data || "";return !t.decodeEntities || e.parent && e.parent.name in a || (n = i.encodeXML(n)), n;}function d(e) {return "<![CDATA[" + e.children[0].data + "]]>";}function f(e) {return "\x3c!--" + e.data + "--\x3e";}}, function (e, t, n) {var r = n(167),i = n(168);t.decode = function (e, t) {return (!t || t <= 0 ? i.XML : i.HTML)(e);}, t.decodeStrict = function (e, t) {return (!t || t <= 0 ? i.XML : i.HTMLStrict)(e);}, t.encode = function (e, t) {return (!t || t <= 0 ? r.XML : r.HTML)(e);}, t.encodeXML = r.XML, t.encodeHTML4 = t.encodeHTML5 = t.encodeHTML = r.HTML, t.decodeXML = t.decodeXMLStrict = i.XML, t.decodeHTML4 = t.decodeHTML5 = t.decodeHTML = i.HTML, t.decodeHTML4Strict = t.decodeHTML5Strict = t.decodeHTMLStrict = i.HTMLStrict, t.escape = r.escape;}, function (e, t, n) {var r = s(n(56)),i = l(r);t.XML = p(r, i);var a = s(n(55)),o = l(a);function s(e) {return Object.keys(e).sort().reduce(function (t, n) {return t[e[n]] = "&" + n + ";", t;}, {});}function l(e) {var t = [],n = [];return Object.keys(e).forEach(function (e) {1 === e.length ? t.push("\\" + e) : n.push(e);}), n.unshift("[" + t.join("") + "]"), new RegExp(n.join("|"), "g");}t.HTML = p(a, o);var u = /[^\0-\x7F]/g,c = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function d(e) {return "&#x" + e.charCodeAt(0).toString(16).toUpperCase() + ";";}function f(e) {return "&#x" + (1024 * (e.charCodeAt(0) - 55296) + e.charCodeAt(1) - 56320 + 65536).toString(16).toUpperCase() + ";";}function p(e, t) {function n(t) {return e[t];}return function (e) {return e.replace(t, n).replace(c, f).replace(u, d);};}var h = l(r);t.escape = function (e) {return e.replace(h, d).replace(c, f).replace(u, d);};}, function (e, t, n) {var r = n(55),i = n(91),a = n(56),o = n(90),s = u(a),l = u(r);function u(e) {var t = Object.keys(e).join("|"),n = f(e),r = new RegExp("&(?:" + (t += "|#[xX][\\da-fA-F]+|#\\d+") + ");", "g");return function (e) {return String(e).replace(r, n);};}var c = function () {for (var e = Object.keys(i).sort(d), t = Object.keys(r).sort(d), n = 0, a = 0; n < t.length; n++) e[a] === t[n] ? (t[n] += ";?", a++) : t[n] += ";";var o = new RegExp("&(?:" + t.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),s = f(r);function l(e) {return ";" !== e.substr(-1) && (e += ";"), s(e);}return function (e) {return String(e).replace(o, l);};}();function d(e, t) {return e < t ? 1 : -1;}function f(e) {return function (t) {return "#" === t.charAt(1) ? "X" === t.charAt(2) || "x" === t.charAt(2) ? o(parseInt(t.substr(3), 16)) : o(parseInt(t.substr(2), 10)) : e[t.slice(1, -1)];};}e.exports = { XML: s, HTML: c, HTMLStrict: l };}, function (e, t) {var n = t.getChildren = function (e) {return e.children;},r = t.getParent = function (e) {return e.parent;};t.getSiblings = function (e) {var t = r(e);return t ? n(t) : [e];}, t.getAttributeValue = function (e, t) {return e.attribs && e.attribs[t];}, t.hasAttrib = function (e, t) {return !!e.attribs && hasOwnProperty.call(e.attribs, t);}, t.getName = function (e) {return e.name;};}, function (e, t) {t.removeElement = function (e) {if (e.prev && (e.prev.next = e.next), e.next && (e.next.prev = e.prev), e.parent) {var t = e.parent.children;t.splice(t.lastIndexOf(e), 1);}}, t.replaceElement = function (e, t) {var n = t.prev = e.prev;n && (n.next = t);var r = t.next = e.next;r && (r.prev = t);var i = t.parent = e.parent;if (i) {var a = i.children;a[a.lastIndexOf(e)] = t;}}, t.appendChild = function (e, t) {if (t.parent = e, 1 !== e.children.push(t)) {var n = e.children[e.children.length - 2];n.next = t, t.prev = n, t.next = null;}}, t.append = function (e, t) {var n = e.parent,r = e.next;if (t.next = r, t.prev = e, e.next = t, t.parent = n, r) {if (r.prev = t, n) {var i = n.children;i.splice(i.lastIndexOf(r), 0, t);}} else n && n.children.push(t);}, t.prepend = function (e, t) {var n = e.parent;if (n) {var r = n.children;r.splice(r.lastIndexOf(e), 0, t);}e.prev && (e.prev.next = t), t.parent = n, t.prev = e.prev, t.next = e, e.prev = t;};}, function (e, t, n) {var r = n(26).isTag;function i(e, t, n, r) {for (var a, o = [], s = 0, l = t.length; s < l && !(e(t[s]) && (o.push(t[s]), --r <= 0)) && (a = t[s].children, !(n && a && a.length > 0 && (a = i(e, a, n, r), o = o.concat(a), (r -= a.length) <= 0))); s++);return o;}e.exports = { filter: function (e, t, n, r) {Array.isArray(t) || (t = [t]);"number" == typeof r && isFinite(r) || (r = 1 / 0);return i(e, t, !1 !== n, r);}, find: i, findOneChild: function (e, t) {for (var n = 0, r = t.length; n < r; n++) if (e(t[n])) return t[n];return null;}, findOne: function e(t, n) {for (var i = null, a = 0, o = n.length; a < o && !i; a++) r(n[a]) && (t(n[a]) ? i = n[a] : n[a].children.length > 0 && (i = e(t, n[a].children)));return i;}, existsOne: function e(t, n) {for (var i = 0, a = n.length; i < a; i++) if (r(n[i]) && (t(n[i]) || n[i].children.length > 0 && e(t, n[i].children))) return !0;return !1;}, findAll: function e(t, n) {for (var i = [], a = 0, o = n.length; a < o; a++) r(n[a]) && (t(n[a]) && i.push(n[a]), n[a].children.length > 0 && (i = i.concat(e(t, n[a].children))));return i;} };}, function (e, t, n) {var r = n(26),i = t.isTag = r.isTag;t.testElement = function (e, t) {for (var n in e) if (e.hasOwnProperty(n)) {if ("tag_name" === n) {if (!i(t) || !e.tag_name(t.name)) return !1;} else if ("tag_type" === n) {if (!e.tag_type(t.type)) return !1;} else if ("tag_contains" === n) {if (i(t) || !e.tag_contains(t.data)) return !1;} else if (!t.attribs || !e[n](t.attribs[n])) return !1;} else ;return !0;};var a = { tag_name: function (e) {return "function" == typeof e ? function (t) {return i(t) && e(t.name);} : "*" === e ? i : function (t) {return i(t) && t.name === e;};}, tag_type: function (e) {return "function" == typeof e ? function (t) {return e(t.type);} : function (t) {return t.type === e;};}, tag_contains: function (e) {return "function" == typeof e ? function (t) {return !i(t) && e(t.data);} : function (t) {return !i(t) && t.data === e;};} };function o(e, t) {return "function" == typeof t ? function (n) {return n.attribs && t(n.attribs[e]);} : function (n) {return n.attribs && n.attribs[e] === t;};}function s(e, t) {return function (n) {return e(n) || t(n);};}t.getElements = function (e, t, n, r) {var i = Object.keys(e).map(function (t) {var n = e[t];return t in a ? a[t](n) : o(t, n);});return 0 === i.length ? [] : this.filter(i.reduce(s), t, n, r);}, t.getElementById = function (e, t, n) {return Array.isArray(t) || (t = [t]), this.findOne(o("id", e), t, !1 !== n);}, t.getElementsByTagName = function (e, t, n, r) {return this.filter(a.tag_name(e), t, n, r);}, t.getElementsByTagType = function (e, t, n, r) {return this.filter(a.tag_type(e), t, n, r);};}, function (e, t) {t.removeSubsets = function (e) {for (var t, n, r, i = e.length; --i > -1;) {for (t = n = e[i], e[i] = null, r = !0; n;) {if (e.indexOf(n) > -1) {r = !1, e.splice(i, 1);break;}n = n.parent;}r && (e[i] = t);}return e;};var n = 1,r = 2,i = 4,a = 8,o = 16,s = t.compareDocumentPosition = function (e, t) {var s,l,u,c,d,f,p = [],h = [];if (e === t) return 0;for (s = e; s;) p.unshift(s), s = s.parent;for (s = t; s;) h.unshift(s), s = s.parent;for (f = 0; p[f] === h[f];) f++;return 0 === f ? n : (u = (l = p[f - 1]).children, c = p[f], d = h[f], u.indexOf(c) > u.indexOf(d) ? l === t ? i | o : i : l === e ? r | a : r);};t.uniqueSort = function (e) {var t,n,a = e.length;for (e = e.slice(); --a > -1;) t = e[a], (n = e.indexOf(t)) > -1 && n < a && e.splice(a, 1);return e.sort(function (e, t) {var n = s(e, t);return n & r ? -1 : n & i ? 1 : 0;}), e;};}, function (e, t, n) {e.exports = i;var r = n(95);function i(e) {r.call(this, new a(this), e);}function a(e) {this.scope = e;}n(40)(i, r), i.prototype.readable = !0;var o = n(25).EVENTS;Object.keys(o).forEach(function (e) {if (0 === o[e]) a.prototype["on" + e] = function () {this.scope.emit(e);};else if (1 === o[e]) a.prototype["on" + e] = function (t) {this.scope.emit(e, t);};else {if (2 !== o[e]) throw Error("wrong number of arguments!");a.prototype["on" + e] = function (t, n) {this.scope.emit(e, t, n);};}});}, function (e, t) {}, function (e, t, n) {"use strict";var r = n(177).Buffer,i = r.isEncoding || function (e) {switch ((e = "" + e) && e.toLowerCase()) {case "hex":case "utf8":case "utf-8":case "ascii":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":case "raw":return !0;default:return !1;}};function a(e) {var t;switch (this.encoding = function (e) {var t = function (e) {if (!e) return "utf8";for (var t;;) switch (e) {case "utf8":case "utf-8":return "utf8";case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return "utf16le";case "latin1":case "binary":return "latin1";case "base64":case "ascii":case "hex":return e;default:if (t) return;e = ("" + e).toLowerCase(), t = !0;}}(e);if ("string" != typeof t && (r.isEncoding === i || !i(e))) throw new Error("Unknown encoding: " + e);return t || e;}(e), this.encoding) {case "utf16le":this.text = l, this.end = u, t = 4;break;case "utf8":this.fillLast = s, t = 4;break;case "base64":this.text = c, this.end = d, t = 3;break;default:return this.write = f, void (this.end = p);}this.lastNeed = 0, this.lastTotal = 0, this.lastChar = r.allocUnsafe(t);}function o(e) {return e <= 127 ? 0 : e >> 5 == 6 ? 2 : e >> 4 == 14 ? 3 : e >> 3 == 30 ? 4 : e >> 6 == 2 ? -1 : -2;}function s(e) {var t = this.lastTotal - this.lastNeed,n = function (e, t, n) {if (128 != (192 & t[0])) return e.lastNeed = 0, "�";if (e.lastNeed > 1 && t.length > 1) {if (128 != (192 & t[1])) return e.lastNeed = 1, "�";if (e.lastNeed > 2 && t.length > 2 && 128 != (192 & t[2])) return e.lastNeed = 2, "�";}}(this, e);return void 0 !== n ? n : this.lastNeed <= e.length ? (e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal)) : (e.copy(this.lastChar, t, 0, e.length), void (this.lastNeed -= e.length));}function l(e, t) {if ((e.length - t) % 2 == 0) {var n = e.toString("utf16le", t);if (n) {var r = n.charCodeAt(n.length - 1);if (r >= 55296 && r <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1], n.slice(0, -1);}return n;}return this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = e[e.length - 1], e.toString("utf16le", t, e.length - 1);}function u(e) {var t = e && e.length ? this.write(e) : "";if (this.lastNeed) {var n = this.lastTotal - this.lastNeed;return t + this.lastChar.toString("utf16le", 0, n);}return t;}function c(e, t) {var n = (e.length - t) % 3;return 0 === n ? e.toString("base64", t) : (this.lastNeed = 3 - n, this.lastTotal = 3, 1 === n ? this.lastChar[0] = e[e.length - 1] : (this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1]), e.toString("base64", t, e.length - n));}function d(e) {var t = e && e.length ? this.write(e) : "";return this.lastNeed ? t + this.lastChar.toString("base64", 0, 3 - this.lastNeed) : t;}function f(e) {return e.toString(this.encoding);}function p(e) {return e && e.length ? this.write(e) : "";}t.StringDecoder = a, a.prototype.write = function (e) {if (0 === e.length) return "";var t, n;if (this.lastNeed) {if (void 0 === (t = this.fillLast(e))) return "";n = this.lastNeed, this.lastNeed = 0;} else n = 0;return n < e.length ? t ? t + this.text(e, n) : this.text(e, n) : t || "";}, a.prototype.end = function (e) {var t = e && e.length ? this.write(e) : "";return this.lastNeed ? t + "�" : t;}, a.prototype.text = function (e, t) {var n = function (e, t, n) {var r = t.length - 1;if (r < n) return 0;var i = o(t[r]);if (i >= 0) return i > 0 && (e.lastNeed = i - 1), i;if (--r < n || -2 === i) return 0;if ((i = o(t[r])) >= 0) return i > 0 && (e.lastNeed = i - 2), i;if (--r < n || -2 === i) return 0;if ((i = o(t[r])) >= 0) return i > 0 && (2 === i ? i = 0 : e.lastNeed = i - 3), i;return 0;}(this, e, t);if (!this.lastNeed) return e.toString("utf8", t);this.lastTotal = n;var r = e.length - (n - this.lastNeed);return e.copy(this.lastChar, 0, r), e.toString("utf8", t, r);}, a.prototype.fillLast = function (e) {if (this.lastNeed <= e.length) return e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), this.lastNeed -= e.length;};}, function (e, t, n) {var r = n(96),i = r.Buffer;function a(e, t) {for (var n in e) t[n] = e[n];}function o(e, t, n) {return i(e, t, n);}i.from && i.alloc && i.allocUnsafe && i.allocUnsafeSlow ? e.exports = r : (a(r, t), t.Buffer = o), a(i, o), o.from = function (e, t, n) {if ("number" == typeof e) throw new TypeError("Argument must not be a number");return i(e, t, n);}, o.alloc = function (e, t, n) {if ("number" != typeof e) throw new TypeError("Argument must be a number");var r = i(e);return void 0 !== t ? "string" == typeof n ? r.fill(t, n) : r.fill(t) : r.fill(0), r;}, o.allocUnsafe = function (e) {if ("number" != typeof e) throw new TypeError("Argument must be a number");return i(e);}, o.allocUnsafeSlow = function (e) {if ("number" != typeof e) throw new TypeError("Argument must be a number");return r.SlowBuffer(e);};}, function (e, t, n) {"use strict";t.byteLength = function (e) {var t = u(e),n = t[0],r = t[1];return 3 * (n + r) / 4 - r;}, t.toByteArray = function (e) {var t,n,r = u(e),o = r[0],s = r[1],l = new a(function (e, t, n) {return 3 * (t + n) / 4 - n;}(0, o, s)),c = 0,d = s > 0 ? o - 4 : o;for (n = 0; n < d; n += 4) t = i[e.charCodeAt(n)] << 18 | i[e.charCodeAt(n + 1)] << 12 | i[e.charCodeAt(n + 2)] << 6 | i[e.charCodeAt(n + 3)], l[c++] = t >> 16 & 255, l[c++] = t >> 8 & 255, l[c++] = 255 & t;2 === s && (t = i[e.charCodeAt(n)] << 2 | i[e.charCodeAt(n + 1)] >> 4, l[c++] = 255 & t);1 === s && (t = i[e.charCodeAt(n)] << 10 | i[e.charCodeAt(n + 1)] << 4 | i[e.charCodeAt(n + 2)] >> 2, l[c++] = t >> 8 & 255, l[c++] = 255 & t);return l;}, t.fromByteArray = function (e) {for (var t, n = e.length, i = n % 3, a = [], o = 0, s = n - i; o < s; o += 16383) a.push(c(e, o, o + 16383 > s ? s : o + 16383));1 === i ? (t = e[n - 1], a.push(r[t >> 2] + r[t << 4 & 63] + "==")) : 2 === i && (t = (e[n - 2] << 8) + e[n - 1], a.push(r[t >> 10] + r[t >> 4 & 63] + r[t << 2 & 63] + "="));return a.join("");};for (var r = [], i = [], a = "undefined" != typeof Uint8Array ? Uint8Array : Array, o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", s = 0, l = o.length; s < l; ++s) r[s] = o[s], i[o.charCodeAt(s)] = s;function u(e) {var t = e.length;if (t % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");var n = e.indexOf("=");return -1 === n && (n = t), [n, n === t ? 0 : 4 - n % 4];}function c(e, t, n) {for (var i, a, o = [], s = t; s < n; s += 3) i = (e[s] << 16 & 16711680) + (e[s + 1] << 8 & 65280) + (255 & e[s + 2]), o.push(r[(a = i) >> 18 & 63] + r[a >> 12 & 63] + r[a >> 6 & 63] + r[63 & a]);return o.join("");}i["-".charCodeAt(0)] = 62, i["_".charCodeAt(0)] = 63;}, function (e, t) {
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
  t.read = function (e, t, n, r, i) {var a,o,s = 8 * i - r - 1,l = (1 << s) - 1,u = l >> 1,c = -7,d = n ? i - 1 : 0,f = n ? -1 : 1,p = e[t + d];for (d += f, a = p & (1 << -c) - 1, p >>= -c, c += s; c > 0; a = 256 * a + e[t + d], d += f, c -= 8);for (o = a & (1 << -c) - 1, a >>= -c, c += r; c > 0; o = 256 * o + e[t + d], d += f, c -= 8);if (0 === a) a = 1 - u;else {if (a === l) return o ? NaN : 1 / 0 * (p ? -1 : 1);o += Math.pow(2, r), a -= u;}return (p ? -1 : 1) * o * Math.pow(2, a - r);}, t.write = function (e, t, n, r, i, a) {var o,s,l,u = 8 * a - i - 1,c = (1 << u) - 1,d = c >> 1,f = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,p = r ? 0 : a - 1,h = r ? 1 : -1,g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, o = c) : (o = Math.floor(Math.log(t) / Math.LN2), t * (l = Math.pow(2, -o)) < 1 && (o--, l *= 2), (t += o + d >= 1 ? f / l : f * Math.pow(2, 1 - d)) * l >= 2 && (o++, l /= 2), o + d >= c ? (s = 0, o = c) : o + d >= 1 ? (s = (t * l - 1) * Math.pow(2, i), o += d) : (s = t * Math.pow(2, d - 1) * Math.pow(2, i), o = 0)); i >= 8; e[n + p] = 255 & s, p += h, s /= 256, i -= 8);for (o = o << i | s, u += i; u > 0; e[n + p] = 255 & o, p += h, o /= 256, u -= 8);e[n + p - h] |= 128 * g;};}, function (e, t) {var n = {}.toString;e.exports = Array.isArray || function (e) {return "[object Array]" == n.call(e);};}, function (e, t, n) {function r(e) {this._cbs = e || {};}e.exports = r;var i = n(25).EVENTS;Object.keys(i).forEach(function (e) {if (0 === i[e]) e = "on" + e, r.prototype[e] = function () {this._cbs[e] && this._cbs[e]();};else if (1 === i[e]) e = "on" + e, r.prototype[e] = function (t) {this._cbs[e] && this._cbs[e](t);};else {if (2 !== i[e]) throw Error("wrong number of arguments");e = "on" + e, r.prototype[e] = function (t, n) {this._cbs[e] && this._cbs[e](t, n);};}});}, function (e, t, n) {function r(e) {this._cbs = e || {}, this.events = [];}e.exports = r;var i = n(25).EVENTS;Object.keys(i).forEach(function (e) {if (0 === i[e]) e = "on" + e, r.prototype[e] = function () {this.events.push([e]), this._cbs[e] && this._cbs[e]();};else if (1 === i[e]) e = "on" + e, r.prototype[e] = function (t) {this.events.push([e, t]), this._cbs[e] && this._cbs[e](t);};else {if (2 !== i[e]) throw Error("wrong number of arguments");e = "on" + e, r.prototype[e] = function (t, n) {this.events.push([e, t, n]), this._cbs[e] && this._cbs[e](t, n);};}}), r.prototype.onreset = function () {this.events = [], this._cbs.onreset && this._cbs.onreset();}, r.prototype.restart = function () {this._cbs.onreset && this._cbs.onreset();for (var e = 0, t = this.events.length; e < t; e++) if (this._cbs[this.events[e][0]]) {var n = this.events[e].length;1 === n ? this._cbs[this.events[e][0]]() : 2 === n ? this._cbs[this.events[e][0]](this.events[e][1]) : this._cbs[this.events[e][0]](this.events[e][1], this.events[e][2]);}};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return e.data;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t, n) {var l = e.name;if (!(0, s.default)(l)) return null;var u = (0, a.default)(e.attribs, t),c = null;-1 === o.default.indexOf(l) && (c = (0, i.default)(e.children, n));return r.default.createElement(l, u, c);};var r = l(n(0)),i = l(n(54)),a = l(n(97)),o = l(n(189)),s = l(n(98));function l(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {return Object.keys(e).filter(function (e) {return (0, a.default)(e);}).reduce(function (t, n) {var a = n.toLowerCase(),o = i.default[a] || a;return t[o] = function (e, t) {r.default.map(function (e) {return e.toLowerCase();}).indexOf(e.toLowerCase()) >= 0 && (t = e);return t;}(o, e[n]), t;}, {});};var r = o(n(186)),i = o(n(187)),a = o(n(98));function o(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = ["allowfullScreen", "async", "autoplay", "capture", "checked", "controls", "default", "defer", "disabled", "formnovalidate", "hidden", "loop", "multiple", "muted", "novalidate", "open", "playsinline", "readonly", "required", "reversed", "scoped", "seamless", "selected", "itemscope"];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = { accept: "accept", "accept-charset": "acceptCharset", accesskey: "accessKey", action: "action", allowfullscreen: "allowFullScreen", allowtransparency: "allowTransparency", alt: "alt", as: "as", async: "async", autocomplete: "autoComplete", autoplay: "autoPlay", capture: "capture", cellpadding: "cellPadding", cellspacing: "cellSpacing", charset: "charSet", challenge: "challenge", checked: "checked", cite: "cite", classid: "classID", class: "className", cols: "cols", colspan: "colSpan", content: "content", contenteditable: "contentEditable", contextmenu: "contextMenu", controls: "controls", controlsList: "controlsList", coords: "coords", crossorigin: "crossOrigin", data: "data", datetime: "dateTime", default: "default", defer: "defer", dir: "dir", disabled: "disabled", download: "download", draggable: "draggable", enctype: "encType", form: "form", formaction: "formAction", formenctype: "formEncType", formmethod: "formMethod", formnovalidate: "formNoValidate", formtarget: "formTarget", frameborder: "frameBorder", headers: "headers", height: "height", hidden: "hidden", high: "high", href: "href", hreflang: "hrefLang", for: "htmlFor", "http-equiv": "httpEquiv", icon: "icon", id: "id", inputmode: "inputMode", integrity: "integrity", is: "is", keyparams: "keyParams", keytype: "keyType", kind: "kind", label: "label", lang: "lang", list: "list", loop: "loop", low: "low", manifest: "manifest", marginheight: "marginHeight", marginwidth: "marginWidth", max: "max", maxlength: "maxLength", media: "media", mediagroup: "mediaGroup", method: "method", min: "min", minlength: "minLength", multiple: "multiple", muted: "muted", name: "name", nonce: "nonce", novalidate: "noValidate", open: "open", optimum: "optimum", pattern: "pattern", placeholder: "placeholder", playsinline: "playsInline", poster: "poster", preload: "preload", profile: "profile", radiogroup: "radioGroup", readonly: "readOnly", referrerpolicy: "referrerPolicy", rel: "rel", required: "required", reversed: "reversed", role: "role", rows: "rows", rowspan: "rowSpan", sandbox: "sandbox", scope: "scope", scoped: "scoped", scrolling: "scrolling", seamless: "seamless", selected: "selected", shape: "shape", size: "size", sizes: "sizes", slot: "slot", span: "span", spellcheck: "spellCheck", src: "src", srcdoc: "srcDoc", srclang: "srcLang", srcset: "srcSet", start: "start", step: "step", style: "style", summary: "summary", tabindex: "tabIndex", target: "target", title: "title", type: "type", usemap: "useMap", value: "value", width: "width", wmode: "wmode", wrap: "wrap", about: "about", datatype: "datatype", inlist: "inlist", prefix: "prefix", property: "property", resource: "resource", typeof: "typeof", vocab: "vocab", autocapitalize: "autoCapitalize", autocorrect: "autoCorrect", autosave: "autoSave", color: "color", itemprop: "itemProp", itemscope: "itemScope", itemtype: "itemType", itemid: "itemID", itemref: "itemRef", results: "results", security: "security", unselectable: "unselectable" };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, s = e[Symbol.iterator](); !(r = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && s.return && s.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");};t.default = function () {var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";if ("" === e) return {};return e.split(";").reduce(function (e, t) {var n = t.split(/^([^:]+):/).filter(function (e, t) {return t > 0;}).map(function (e) {return e.trim().toLowerCase();}),i = r(n, 2),a = i[0],o = i[1];return void 0 === o || (e[a = a.replace(/^-ms-/, "ms-").replace(/-(.)/g, function (e, t) {return t.toUpperCase();})] = o), e;}, {});};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"];}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e, t) {var n = void 0;e.children.length > 0 && (n = e.children[0].data);var a = (0, i.default)(e.attribs, t);return r.default.createElement("style", a, n);};var r = a(n(0)),i = a(n(97));function a(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function () {return null;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.default = function (e) {var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},n = t.decodeEntities,a = void 0 === n || n,o = t.transform,s = t.preprocessNodes,l = void 0 === s ? function (e) {return e;} : s,u = l(r.default.parseDOM(e, { decodeEntities: a }));return (0, i.default)(u, o);};var r = a(n(25)),i = a(n(54));function a(e) {return e && e.__esModule ? e : { default: e };}}, function (e, t) {function n(t, r) {return e.exports = n = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {return e.__proto__ = t, e;}, e.exports.__esModule = !0, e.exports.default = e.exports, n(t, r);}e.exports = n, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.BACK = "back", t.CLOSE = "close", t.RESET = "reset";var r = t.INFO_POPUP = "infoPopup",i = (t.POPUP = "popup", t.CATEGORY_POPUP = "categoryPopup", t.SPECIAL_POPUP = "specialPopup");t.CALCULATOR_SCREEN = "calculator", t.CALCULATOR_INFO_POPUP = r + "Calculator", t.CALCULATOR_SELECT_CURRENCY_INFO_POPUP = r + "CalculatorSelectCurrency", t.CALCULATOR_SELECT_PRODUCT_SPECIAL_POPUP = i + "CalculatorSelectProduct", t.CALCULATOR_TOGGLE_GIFT_INFO_POPUP = r + "CalculatorToggleGift", t.CALCULATOR_SELECT_COUNTRY_EU_POPUP = "euPopupCalculatorSelectCountry", t.CATALOG_SCREEN = "catalog", t.CATALOG_SCREEN_VIEW_CATEGORIES = "categories", t.CATALOG_SCREEN_VIEW_PRODUCTS = "products", t.CATALOG_SCREEN_VIEW_SPECIAL_CATEGORIES = "specialCategories", t.MAIN_MENU_SCREEN = "mainMenu";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = f(n(0)),a = f(n(1)),o = f(n(8)),s = f(n(6)),l = f(n(12)),u = f(n(13)),c = n(2),d = n(7);function f(e) {return e && e.__esModule ? e : { default: e };}function p(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function h(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var g = function (e) {function t() {return p(this, t), h(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, o.default)(this.props.appId + "-container");} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.icons,a = e.navTargets,o = e.texts;return i.default.createElement("div", { className: "calculatorInfo" }, i.default.createElement(s.default, { appId: t, preventFocus: !0, texts: { title: o.title, back: o.buttons.back }, imgSrc: r.info, navTargets: { infoPopup: a.infoPopup, back: a.back }, functions: { handlePopupChange: n.handlePopupChange, handleScreenChange: n.handleScreenChange }, htmlTextWrapping: d.TITLE_TEXT_WRAPPING_H1 }), i.default.createElement(l.default, { text: o.body }), i.default.createElement(u.default, { appId: t, continueButtonDisabled: !1, texts: o.buttons, functions: { handleScreenChange: n.handleScreenChange }, navTargets: a }));} }]), t;}(i.default.Component);g.propTypes = { appId: a.default.string.isRequired, functions: a.default.shape({ handleScreenChange: a.default.func.isRequired, handlePopupChange: a.default.func.isRequired }).isRequired, icons: a.default.shape({ back: a.default.string.isRequired, info: a.default.string.isRequired }).isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired, continue: a.default.string.isRequired, infoPopup: a.default.string.isRequired }).isRequired, texts: a.default.shape({ body: a.default.string.isRequired, buttons: c.buttonBarTextsType.isRequired, infoPopup: c.infoPopupTextsType.isRequired, title: c.titleTextsType.isRequired }).isRequired }, t.default = g;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = h(n(0)),a = h(n(1)),o = h(n(61)),s = n(2),l = n(5),u = n(7),c = h(n(6)),d = h(n(12)),f = h(n(28)),p = h(n(27));function h(e) {return e && e.__esModule ? e : { default: e };}var g = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.popupRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderTextBox", value: function () {var e = this.props,t = e.icons,n = e.texts;return n.alertBox ? i.default.createElement(f.default, { icons: { confirm: t.confirm, warning: t.warning }, type: l.WARN, texts: { alertBox: n.alertBox, attention: n.attention } }) : null;} }, { key: "render", value: function () {var e = this,t = this.props,n = t.functions,r = t.icons,a = t.navTarget,s = t.texts,l = this._renderTextBox();return i.default.createElement(o.default, { returnFocus: !0 }, i.default.createElement("div", { className: "popup", role: "dialog", "aria-labelledby": "dialog" }, i.default.createElement("div", { className: "container" }, i.default.createElement(c.default, { functions: { handlePopupChange: n.handlePopupChange }, htmlTextWrapping: u.TITLE_TEXT_WRAPPING_H1, id: "dialog", imgSrc: r.close, preventFocus: !0, preventAlert: !0, ref: function (t) {e.popupRef = t;}, texts: { text: s.title.text, altText: s.title.iconButtonAltText } }), i.default.createElement("div", { className: "content" }, i.default.createElement(d.default, { text: s.body }), l, i.default.createElement("div", { className: "centerButtonContainer" }, i.default.createElement(p.default, { className: "c-button", dataParam: JSON.stringify({ popup: a }), functions: { handlePopupChange: n.handlePopupChange }, texts: { text: s.closeButton, ariaLabel: s.title.iconButtonAltText } }))))));} }]), t;}(i.default.Component);g.propTypes = { functions: a.default.shape({ handlePopupChange: a.default.func.isRequired }).isRequired, icons: a.default.shape({ close: a.default.string.isRequired, confirm: a.default.string, warning: a.default.string }).isRequired, navTarget: a.default.string.isRequired, texts: a.default.shape({ alertBox: a.default.string, attention: a.default.string, body: a.default.string.isRequired, closeButton: a.default.string.isRequired, title: s.titleTextsType.isRequired }).isRequired }, g.defaultProps = {}, t.default = g;}, function (e, t, n) {var r = n(100).default,i = n(198);e.exports = function (e) {var t = i(e, "string");return "symbol" == r(t) ? t : t + "";}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {var r = n(100).default;e.exports = function (e, t) {if ("object" != r(e) || !e) return e;var n = e[Symbol.toPrimitive];if (void 0 !== n) {var i = n.call(e, t || "default");if ("object" != r(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === t ? String : Number)(e);}, e.exports.__esModule = !0, e.exports.default = e.exports;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(8)),s = c(n(101)),l = n(2),u = n(7);function c(e) {return e && e.__esModule ? e : { default: e };}var d = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.state = { continueButtonDisabled: !e.data.country.text }, n.onCountrySelection = n.onCountrySelection.bind(n), n.disableContinueButton = n.disableContinueButton.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, o.default)(this.props.appId + "-container");} }, { key: "onCountrySelection", value: function (e) {this.props.functions.handleSelectCountrySelection(e, this.props.currencies);} }, { key: "disableContinueButton", value: function (e) {this.setState({ continueButtonDisabled: e });} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.data,a = e.functions,o = e.icons,l = e.navTargets,c = e.texts;return i.default.createElement("div", { className: "calculatorSelectCountry" }, i.default.createElement(s.default, { activeStep: t, appId: n, continueButtonDisabled: this.state.continueButtonDisabled, countries: this.props.countries, data: r.country, functions: { handleScreenChange: a.handleScreenChange, handlePopupChange: a.handlePopupChange, handleSelectCountrySelection: this.onCountrySelection, disableContinueButton: this.disableContinueButton, handleInputValueChange: a.handleSelectCountrySearchFieldInputValueChange }, icons: o, navTargets: l, texts: c, titleHtmlTextWrapping: u.TITLE_TEXT_WRAPPING_H1, wide: !0 }));} }]), t;}(i.default.Component);d.propTypes = { appId: a.default.string.isRequired, data: l.fullDataObjectType.isRequired, countries: l.selectCountryAssetsType.isRequired, currencies: a.default.arrayOf(l.currencyType.isRequired).isRequired, activeStep: a.default.number.isRequired, functions: a.default.shape({ handleScreenChange: a.default.func.isRequired, handlePopupChange: a.default.func.isRequired, handleSelectCountrySelection: a.default.func.isRequired }).isRequired, icons: a.default.shape({ back: a.default.string.isRequired, info: a.default.string.isRequired, dropdown: a.default.string.isRequired, suchlupe: a.default.string.isRequired }).isRequired, navTargets: a.default.objectOf(a.default.string).isRequired, texts: a.default.shape({ buttons: l.buttonBarTextsType, infoPopup: l.infoPopupTextsType, select: l.selectTextsType, selectedCriteria: l.selectedCriteriaTextsType, title: l.titleTextsType }).isRequired }, d.defaultProps = {}, t.default = d;}, function (e, t, n) {"use strict";e.exports = n(201).default;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = d(a),s = d(n(1)),l = d(n(202)),u = d(n(203)),c = n(211);function d(e) {return e && e.__esModule ? e : { default: e };}var f = function () {return !0;},p = function (e) {function t(e) {var n = e.alwaysRenderSuggestions;!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var r = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return h.call(r), r.state = { isFocused: !1, isCollapsed: !n, highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: null }, r.justPressedUpDown = !1, r.justMouseEntered = !1, r.pressedSuggestion = null, r;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidMount", value: function () {document.addEventListener("mousedown", this.onDocumentMouseDown), document.addEventListener("mouseup", this.onDocumentMouseUp), this.input = this.autowhatever.input, this.suggestionsContainer = this.autowhatever.itemsContainer;} }, { key: "componentWillReceiveProps", value: function (e) {(0, l.default)(e.suggestions, this.props.suggestions) ? e.highlightFirstSuggestion && e.suggestions.length > 0 && !1 === this.justPressedUpDown && !1 === this.justMouseEntered && this.highlightFirstSuggestion() : this.willRenderSuggestions(e) ? this.state.isCollapsed && !this.justSelectedSuggestion && this.revealSuggestions() : this.resetHighlightedSuggestion();} }, { key: "componentDidUpdate", value: function (e, t) {var n = this.props,r = n.suggestions,i = n.onSuggestionHighlighted,a = n.highlightFirstSuggestion;if (!(0, l.default)(r, e.suggestions) && r.length > 0 && a) this.highlightFirstSuggestion();else if (i) {var o = this.getHighlightedSuggestion();o != t.highlightedSuggestion && i({ suggestion: o });}} }, { key: "componentWillUnmount", value: function () {document.removeEventListener("mousedown", this.onDocumentMouseDown), document.removeEventListener("mouseup", this.onDocumentMouseUp);} }, { key: "updateHighlightedSuggestion", value: function (e, t, n) {var r = this;this.setState(function (i) {var a = i.valueBeforeUpDown;return null === t ? a = null : null === a && void 0 !== n && (a = n), { highlightedSectionIndex: e, highlightedSuggestionIndex: t, highlightedSuggestion: null === t ? null : r.getSuggestion(e, t), valueBeforeUpDown: a };});} }, { key: "resetHighlightedSuggestion", value: function () {var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];this.setState(function (t) {var n = t.valueBeforeUpDown;return { highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: e ? null : n };});} }, { key: "revealSuggestions", value: function () {this.setState({ isCollapsed: !1 });} }, { key: "closeSuggestions", value: function () {this.setState({ highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: null, isCollapsed: !0 });} }, { key: "getSuggestion", value: function (e, t) {var n = this.props,r = n.suggestions,i = n.multiSection,a = n.getSectionSuggestions;return i ? a(r[e])[t] : r[t];} }, { key: "getHighlightedSuggestion", value: function () {var e = this.state,t = e.highlightedSectionIndex,n = e.highlightedSuggestionIndex;return null === n ? null : this.getSuggestion(t, n);} }, { key: "getSuggestionValueByIndex", value: function (e, t) {return (0, this.props.getSuggestionValue)(this.getSuggestion(e, t));} }, { key: "getSuggestionIndices", value: function (e) {var t = e.getAttribute("data-section-index"),n = e.getAttribute("data-suggestion-index");return { sectionIndex: "string" == typeof t ? parseInt(t, 10) : null, suggestionIndex: parseInt(n, 10) };} }, { key: "findSuggestionElement", value: function (e) {var t = e;do {if (null !== t.getAttribute("data-suggestion-index")) return t;t = t.parentNode;} while (null !== t);throw console.error("Clicked element:", e), new Error("Couldn't find suggestion element");} }, { key: "maybeCallOnChange", value: function (e, t, n) {var r = this.props.inputProps,i = r.value,a = r.onChange;t !== i && a(e, { newValue: t, method: n });} }, { key: "willRenderSuggestions", value: function (e) {var t = e.suggestions,n = e.inputProps,r = e.shouldRenderSuggestions,i = n.value;return t.length > 0 && r(i);} }, { key: "getQuery", value: function () {var e = this.props.inputProps.value,t = this.state.valueBeforeUpDown;return (null === t ? e : t).trim();} }, { key: "render", value: function () {var e = this,t = this.props,n = t.suggestions,i = t.renderInputComponent,a = t.onSuggestionsFetchRequested,s = t.renderSuggestion,l = t.inputProps,d = t.multiSection,p = t.renderSectionTitle,h = t.id,g = t.getSectionSuggestions,m = t.theme,b = t.getSuggestionValue,v = t.alwaysRenderSuggestions,_ = t.highlightFirstSuggestion,y = this.state,S = y.isFocused,x = y.isCollapsed,E = y.highlightedSectionIndex,T = y.highlightedSuggestionIndex,w = y.valueBeforeUpDown,C = v ? f : this.props.shouldRenderSuggestions,O = l.value,R = l.onFocus,k = l.onKeyDown,P = this.willRenderSuggestions(this.props),L = v || S && !x && P,A = L ? n : [],I = r({}, l, { onFocus: function (t) {if (!e.justSelectedSuggestion && !e.justClickedOnSuggestionsContainer) {var n = C(O);e.setState({ isFocused: !0, isCollapsed: !n }), R && R(t), n && a({ value: O, reason: "input-focused" });}}, onBlur: function (t) {e.justClickedOnSuggestionsContainer ? e.input.focus() : (e.blurEvent = t, e.justSelectedSuggestion || (e.onBlur(), e.onSuggestionsClearRequested()));}, onChange: function (t) {var n = t.target.value,i = C(n);e.maybeCallOnChange(t, n, "type"), e.suggestionsContainer && (e.suggestionsContainer.scrollTop = 0), e.setState(r({}, _ ? {} : { highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null }, { valueBeforeUpDown: null, isCollapsed: !i })), i ? a({ value: n, reason: "input-changed" }) : e.onSuggestionsClearRequested();}, onKeyDown: function (t, r) {var i = t.keyCode;switch (i) {case 40:case 38:if (x) C(O) && (a({ value: O, reason: "suggestions-revealed" }), e.revealSuggestions());else if (n.length > 0) {var o = r.newHighlightedSectionIndex,s = r.newHighlightedItemIndex,l = void 0;l = null === s ? null === w ? O : w : e.getSuggestionValueByIndex(o, s), e.updateHighlightedSuggestion(o, s, O), e.maybeCallOnChange(t, l, 40 === i ? "down" : "up");}t.preventDefault(), e.justPressedUpDown = !0, setTimeout(function () {e.justPressedUpDown = !1;});break;case 13:if (229 === t.keyCode) break;var u = e.getHighlightedSuggestion();if (L && !v && e.closeSuggestions(), null != u) {var c = b(u);e.maybeCallOnChange(t, c, "enter"), e.onSuggestionSelected(t, { suggestion: u, suggestionValue: c, suggestionIndex: T, sectionIndex: E, method: "enter" }), e.justSelectedSuggestion = !0, setTimeout(function () {e.justSelectedSuggestion = !1;});}break;case 27:L && t.preventDefault();var d = L && !v;if (null === w) {if (!d) {e.maybeCallOnChange(t, "", "escape"), C("") ? a({ value: "", reason: "escape-pressed" }) : e.onSuggestionsClearRequested();}} else e.maybeCallOnChange(t, w, "escape");d ? (e.onSuggestionsClearRequested(), e.closeSuggestions()) : e.resetHighlightedSuggestion();}k && k(t);} }),N = { query: this.getQuery() };return o.default.createElement(u.default, { multiSection: d, items: A, renderInputComponent: i, renderItemsContainer: this.renderSuggestionsContainer, renderItem: s, renderItemData: N, renderSectionTitle: p, getSectionItems: g, highlightedSectionIndex: E, highlightedItemIndex: T, inputProps: I, itemProps: this.itemProps, theme: (0, c.mapToAutowhateverTheme)(m), id: h, ref: this.storeAutowhateverRef });} }]), t;}(a.Component);p.propTypes = { suggestions: s.default.array.isRequired, onSuggestionsFetchRequested: function (e, t) {var n = e[t];if ("function" != typeof n) throw new Error("'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp");}, onSuggestionsClearRequested: function (e, t) {var n = e[t];if (!1 === e.alwaysRenderSuggestions && "function" != typeof n) throw new Error("'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp");}, onSuggestionSelected: s.default.func, onSuggestionHighlighted: s.default.func, renderInputComponent: s.default.func, renderSuggestionsContainer: s.default.func, getSuggestionValue: s.default.func.isRequired, renderSuggestion: s.default.func.isRequired, inputProps: function (e, t) {var n = e[t];if (!n.hasOwnProperty("value")) throw new Error("'inputProps' must have 'value'.");if (!n.hasOwnProperty("onChange")) throw new Error("'inputProps' must have 'onChange'.");}, shouldRenderSuggestions: s.default.func, alwaysRenderSuggestions: s.default.bool, multiSection: s.default.bool, renderSectionTitle: function (e, t) {var n = e[t];if (!0 === e.multiSection && "function" != typeof n) throw new Error("'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp");}, getSectionSuggestions: function (e, t) {var n = e[t];if (!0 === e.multiSection && "function" != typeof n) throw new Error("'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp");}, focusInputOnSuggestionClick: s.default.bool, highlightFirstSuggestion: s.default.bool, theme: s.default.object, id: s.default.string }, p.defaultProps = { renderSuggestionsContainer: function (e) {var t = e.containerProps,n = e.children;return o.default.createElement("div", t, n);}, shouldRenderSuggestions: function (e) {return e.trim().length > 0;}, alwaysRenderSuggestions: !1, multiSection: !1, focusInputOnSuggestionClick: !0, highlightFirstSuggestion: !1, theme: c.defaultTheme, id: "1" };var h = function () {var e = this;this.onDocumentMouseDown = function (t) {e.justClickedOnSuggestionsContainer = !1;for (var n = t.detail && t.detail.target || t.target; null !== n && n !== document;) {if (null !== n.getAttribute("data-suggestion-index")) return;if (n === e.suggestionsContainer) return void (e.justClickedOnSuggestionsContainer = !0);n = n.parentNode;}}, this.storeAutowhateverRef = function (t) {null !== t && (e.autowhatever = t);}, this.onSuggestionMouseEnter = function (t, n) {var r = n.sectionIndex,i = n.itemIndex;e.updateHighlightedSuggestion(r, i), t.target === e.pressedSuggestion && (e.justSelectedSuggestion = !0), e.justMouseEntered = !0, setTimeout(function () {e.justMouseEntered = !1;});}, this.highlightFirstSuggestion = function () {e.updateHighlightedSuggestion(e.props.multiSection ? 0 : null, 0);}, this.onDocumentMouseUp = function () {e.pressedSuggestion && !e.justSelectedSuggestion && e.input.focus(), e.pressedSuggestion = null;}, this.onSuggestionMouseDown = function (t) {e.justSelectedSuggestion || (e.justSelectedSuggestion = !0, e.pressedSuggestion = t.target);}, this.onSuggestionsClearRequested = function () {var t = e.props.onSuggestionsClearRequested;t && t();}, this.onSuggestionSelected = function (t, n) {var r = e.props,i = r.alwaysRenderSuggestions,a = r.onSuggestionSelected,o = r.onSuggestionsFetchRequested;a && a(t, n), i ? o({ value: n.suggestionValue, reason: "suggestion-selected" }) : e.onSuggestionsClearRequested(), e.resetHighlightedSuggestion();}, this.onSuggestionClick = function (t) {var n = e.props,r = n.alwaysRenderSuggestions,i = n.focusInputOnSuggestionClick,a = e.getSuggestionIndices(e.findSuggestionElement(t.target)),o = a.sectionIndex,s = a.suggestionIndex,l = e.getSuggestion(o, s),u = e.props.getSuggestionValue(l);e.maybeCallOnChange(t, u, "click"), e.onSuggestionSelected(t, { suggestion: l, suggestionValue: u, suggestionIndex: s, sectionIndex: o, method: "click" }), r || e.closeSuggestions(), !0 === i ? e.input.focus() : e.onBlur(), setTimeout(function () {e.justSelectedSuggestion = !1;});}, this.onBlur = function () {var t = e.props,n = t.inputProps,r = t.shouldRenderSuggestions,i = n.value,a = n.onBlur,o = e.getHighlightedSuggestion(),s = r(i);e.setState({ isFocused: !1, highlightedSectionIndex: null, highlightedSuggestionIndex: null, highlightedSuggestion: null, valueBeforeUpDown: null, isCollapsed: !s }), a && a(e.blurEvent, { highlightedSuggestion: o });}, this.onSuggestionMouseLeave = function (t) {e.resetHighlightedSuggestion(!1), e.justSelectedSuggestion && t.target === e.pressedSuggestion && (e.justSelectedSuggestion = !1);}, this.onSuggestionTouchStart = function () {e.justSelectedSuggestion = !0;}, this.onSuggestionTouchMove = function () {e.justSelectedSuggestion = !1, e.pressedSuggestion = null, e.input.focus();}, this.itemProps = function (t) {return { "data-section-index": t.sectionIndex, "data-suggestion-index": t.itemIndex, onMouseEnter: e.onSuggestionMouseEnter, onMouseLeave: e.onSuggestionMouseLeave, onMouseDown: e.onSuggestionMouseDown, onTouchStart: e.onSuggestionTouchStart, onTouchMove: e.onSuggestionTouchMove, onClick: e.onSuggestionClick };}, this.renderSuggestionsContainer = function (t) {var n = t.containerProps,r = t.children;return (0, e.props.renderSuggestionsContainer)({ containerProps: n, children: r, query: e.getQuery() });};};t.default = p;}, function (e, t, n) {"use strict";e.exports = function (e, t) {if (e === t) return !0;if (!e || !t) return !1;var n = e.length;if (t.length !== n) return !1;for (var r = 0; r < n; r++) if (e[r] !== t[r]) return !1;return !0;};}, function (e, t, n) {"use strict";e.exports = n(204).default;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, s = e[Symbol.iterator](); !(r = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && s.return && s.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");},a = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),o = n(0),s = p(o),l = p(n(1)),u = p(n(205)),c = p(n(206)),d = p(n(208)),f = p(n(209));function p(e) {return e && e.__esModule ? e : { default: e };}var h = {},g = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.storeInputReference = function (e) {null !== e && (n.input = e);}, n.storeItemsContainerReference = function (e) {null !== e && (n.itemsContainer = e);}, n.onHighlightedItemChange = function (e) {n.highlightedItem = e;}, n.getItemId = function (e, t) {return null === t ? null : "react-autowhatever-" + n.props.id + "-" + (null === e ? "" : "section-" + e) + "-item-" + t;}, n.onFocus = function (e) {var t = n.props.inputProps;n.setState({ isInputFocused: !0 }), t.onFocus && t.onFocus(e);}, n.onBlur = function (e) {var t = n.props.inputProps;n.setState({ isInputFocused: !1 }), t.onBlur && t.onBlur(e);}, n.onKeyDown = function (e) {var t = n.props,r = t.inputProps,a = t.highlightedSectionIndex,o = t.highlightedItemIndex;switch (e.key) {case "ArrowDown":case "ArrowUp":var s = "ArrowDown" === e.key ? "next" : "prev",l = n.sectionIterator[s]([a, o]),u = i(l, 2),c = u[0],d = u[1];r.onKeyDown(e, { newHighlightedSectionIndex: c, newHighlightedItemIndex: d });break;default:r.onKeyDown(e, { highlightedSectionIndex: a, highlightedItemIndex: o });}}, n.highlightedItem = null, n.state = { isInputFocused: !1 }, n.setSectionsItems(e), n.setSectionIterator(e), n.setTheme(e), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), a(t, [{ key: "componentDidMount", value: function () {this.ensureHighlightedItemIsVisible();} }, { key: "UNSAFE_componentWillReceiveProps", value: function (e) {e.items !== this.props.items && this.setSectionsItems(e), e.items === this.props.items && e.multiSection === this.props.multiSection || this.setSectionIterator(e), e.theme !== this.props.theme && this.setTheme(e);} }, { key: "componentDidUpdate", value: function () {this.ensureHighlightedItemIsVisible();} }, { key: "setSectionsItems", value: function (e) {e.multiSection && (this.sectionsItems = e.items.map(function (t) {return e.getSectionItems(t);}), this.sectionsLengths = this.sectionsItems.map(function (e) {return e.length;}), this.allSectionsAreEmpty = this.sectionsLengths.every(function (e) {return 0 === e;}));} }, { key: "setSectionIterator", value: function (e) {this.sectionIterator = (0, u.default)({ multiSection: e.multiSection, data: e.multiSection ? this.sectionsLengths : e.items.length });} }, { key: "setTheme", value: function (e) {this.theme = (0, c.default)(e.theme);} }, { key: "renderSections", value: function () {var e = this;if (this.allSectionsAreEmpty) return null;var t = this.theme,n = this.props,r = n.id,i = n.items,a = n.renderItem,o = n.renderItemData,l = n.renderSectionTitle,u = n.highlightedSectionIndex,c = n.highlightedItemIndex,p = n.itemProps;return i.map(function (n, i) {var h = "react-autowhatever-" + r + "-",g = h + "section-" + i + "-",m = 0 === i;return s.default.createElement("div", t(g + "container", "sectionContainer", m && "sectionContainerFirst"), s.default.createElement(d.default, { section: n, renderSectionTitle: l, theme: t, sectionKeyPrefix: g }), s.default.createElement(f.default, { items: e.sectionsItems[i], itemProps: p, renderItem: a, renderItemData: o, sectionIndex: i, highlightedItemIndex: u === i ? c : null, onHighlightedItemChange: e.onHighlightedItemChange, getItemId: e.getItemId, theme: t, keyPrefix: h, ref: e.storeItemsListReference }));});} }, { key: "renderItems", value: function () {var e = this.props.items;if (0 === e.length) return null;var t = this.theme,n = this.props,r = n.id,i = n.renderItem,a = n.renderItemData,o = n.highlightedSectionIndex,l = n.highlightedItemIndex,u = n.itemProps;return s.default.createElement(f.default, { items: e, itemProps: u, renderItem: i, renderItemData: a, highlightedItemIndex: null === o ? l : null, onHighlightedItemChange: this.onHighlightedItemChange, getItemId: this.getItemId, theme: t, keyPrefix: "react-autowhatever-" + r + "-" });} }, { key: "ensureHighlightedItemIsVisible", value: function () {var e = this.highlightedItem;if (e) {var t = this.itemsContainer,n = e.offsetParent === t ? e.offsetTop : e.offsetTop - t.offsetTop,r = t.scrollTop;n < r ? r = n : n + e.offsetHeight > r + t.offsetHeight && (r = n + e.offsetHeight - t.offsetHeight), r !== t.scrollTop && (t.scrollTop = r);}} }, { key: "render", value: function () {var e = this.theme,t = this.props,n = t.id,i = t.multiSection,a = t.renderInputComponent,o = t.renderItemsContainer,l = t.highlightedSectionIndex,u = t.highlightedItemIndex,c = this.state.isInputFocused,d = i ? this.renderSections() : this.renderItems(),f = null !== d,p = this.getItemId(l, u),h = "react-autowhatever-" + n,g = r({ role: "combobox", "aria-haspopup": "listbox", "aria-owns": h, "aria-expanded": f }, e("react-autowhatever-" + n + "-container", "container", f && "containerOpen"), this.props.containerProps),m = a(r({ type: "text", value: "", autoComplete: "off", "aria-autocomplete": "list", "aria-controls": h, "aria-activedescendant": p }, e("react-autowhatever-" + n + "-input", "input", f && "inputOpen", c && "inputFocused"), this.props.inputProps, { onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.props.inputProps.onKeyDown && this.onKeyDown, ref: this.storeInputReference })),b = o({ containerProps: r({ id: h, role: "listbox" }, e("react-autowhatever-" + n + "-items-container", "itemsContainer", f && "itemsContainerOpen"), { ref: this.storeItemsContainerReference }), children: d });return s.default.createElement("div", g, m, b);} }]), t;}(o.Component);g.propTypes = { id: l.default.string, multiSection: l.default.bool, renderInputComponent: l.default.func, renderItemsContainer: l.default.func, items: l.default.array.isRequired, renderItem: l.default.func, renderItemData: l.default.object, renderSectionTitle: l.default.func, getSectionItems: l.default.func, containerProps: l.default.object, inputProps: l.default.object, itemProps: l.default.oneOfType([l.default.object, l.default.func]), highlightedSectionIndex: l.default.number, highlightedItemIndex: l.default.number, theme: l.default.oneOfType([l.default.object, l.default.array]) }, g.defaultProps = { id: "1", multiSection: !1, renderInputComponent: function (e) {return s.default.createElement("input", e);}, renderItemsContainer: function (e) {var t = e.containerProps,n = e.children;return s.default.createElement("div", t, n);}, renderItem: function () {throw new Error("`renderItem` must be provided");}, renderItemData: h, renderSectionTitle: function () {throw new Error("`renderSectionTitle` must be provided");}, getSectionItems: function () {throw new Error("`getSectionItems` must be provided");}, containerProps: h, inputProps: h, itemProps: h, highlightedSectionIndex: null, highlightedItemIndex: null, theme: { container: "react-autowhatever__container", containerOpen: "react-autowhatever__container--open", input: "react-autowhatever__input", inputOpen: "react-autowhatever__input--open", inputFocused: "react-autowhatever__input--focused", itemsContainer: "react-autowhatever__items-container", itemsContainerOpen: "react-autowhatever__items-container--open", itemsList: "react-autowhatever__items-list", item: "react-autowhatever__item", itemFirst: "react-autowhatever__item--first", itemHighlighted: "react-autowhatever__item--highlighted", sectionContainer: "react-autowhatever__section-container", sectionContainerFirst: "react-autowhatever__section-container--first", sectionTitle: "react-autowhatever__section-title" } }, t.default = g;}, function (e, t, n) {"use strict";var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, s = e[Symbol.iterator](); !(r = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && s.return && s.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");};e.exports = function (e) {var t = e.data,n = e.multiSection;function i(e) {var i = r(e, 2),a = i[0],o = i[1];return n ? null === o || o === t[a] - 1 ? null === (a = function (e) {for (null === e ? e = 0 : e++; e < t.length && 0 === t[e];) e++;return e === t.length ? null : e;}(a)) ? [null, null] : [a, 0] : [a, o + 1] : 0 === t || o === t - 1 ? [null, null] : null === o ? [null, 0] : [null, o + 1];}return { next: i, prev: function (e) {var i = r(e, 2),a = i[0],o = i[1];return n ? null === o || 0 === o ? null === (a = function (e) {for (null === e ? e = t.length - 1 : e--; e >= 0 && 0 === t[e];) e--;return -1 === e ? null : e;}(a)) ? [null, null] : [a, t[a] - 1] : [a, o - 1] : 0 === t || 0 === o ? [null, null] : null === o ? [null, t - 1] : [null, o - 1];}, isLast: function (e) {return null === i(e)[1];} };};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, s = e[Symbol.iterator](); !(r = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && s.return && s.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");};function i(e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}var a,o = n(207),s = (a = o) && a.__esModule ? a : { default: a },l = function (e) {return e;};t.default = function (e) {var t = Array.isArray(e) && 2 === e.length ? e : [e, null],n = r(t, 2),a = n[0],o = n[1];return function (e) {for (var t = arguments.length, n = Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) n[r - 1] = arguments[r];var u = n.map(function (e) {return a[e];}).filter(l);return "string" == typeof u[0] || "function" == typeof o ? { key: e, className: o ? o.apply(void 0, i(u)) : u.join(" ") } : { key: e, style: s.default.apply(void 0, [{}].concat(i(u))) };};}, e.exports = t.default;}, function (e, t, n) {"use strict";var r = Object.prototype.propertyIsEnumerable;function i(e) {if (null == e) throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e);}function a(e) {var t = Object.getOwnPropertyNames(e);return Object.getOwnPropertySymbols && (t = t.concat(Object.getOwnPropertySymbols(e))), t.filter(function (t) {return r.call(e, t);});}e.exports = Object.assign || function (e, t) {for (var n, r, o = i(e), s = 1; s < arguments.length; s++) {n = arguments[s], r = a(Object(n));for (var l = 0; l < r.length; l++) o[r[l]] = n[r[l]];}return o;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = n(0),a = l(i),o = l(n(1)),s = l(n(58));function l(e) {return e && e.__esModule ? e : { default: e };}function u(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function c(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var d = function (e) {function t() {return u(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "shouldComponentUpdate", value: function (e) {return (0, s.default)(e, this.props);} }, { key: "render", value: function () {var e = this.props,t = e.section,n = e.renderSectionTitle,r = e.theme,i = e.sectionKeyPrefix,o = n(t);return o ? a.default.createElement("div", r(i + "title", "sectionTitle"), o) : null;} }]), t;}(i.Component);d.propTypes = { section: o.default.any.isRequired, renderSectionTitle: o.default.func.isRequired, theme: o.default.func.isRequired, sectionKeyPrefix: o.default.string.isRequired }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = c(a),s = c(n(1)),l = c(n(210)),u = c(n(58));function c(e) {return e && e.__esModule ? e : { default: e };}function d(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function f(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var p = function (e) {function t() {var e, n, r;d(this, t);for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) a[o] = arguments[o];return n = r = f(this, (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply(e, [this].concat(a))), r.storeHighlightedItemReference = function (e) {r.props.onHighlightedItemChange(null === e ? null : e.item);}, f(r, n);}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "shouldComponentUpdate", value: function (e) {return (0, u.default)(e, this.props, ["itemProps"]);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.items,i = t.itemProps,a = t.renderItem,s = t.renderItemData,u = t.sectionIndex,c = t.highlightedItemIndex,d = t.getItemId,f = t.theme,p = t.keyPrefix,h = null === u ? p : p + "section-" + u + "-",g = "function" == typeof i;return o.default.createElement("ul", r({ role: "listbox" }, f(h + "items-list", "itemsList")), n.map(function (t, n) {var p = 0 === n,m = n === c,b = h + "item-" + n,v = g ? i({ sectionIndex: u, itemIndex: n }) : i,_ = r({ id: d(u, n), "aria-selected": m }, f(b, "item", p && "itemFirst", m && "itemHighlighted"), v);return m && (_.ref = e.storeHighlightedItemReference), o.default.createElement(l.default, r({}, _, { sectionIndex: u, isHighlighted: m, itemIndex: n, item: t, renderItem: a, renderItemData: s }));}));} }]), t;}(a.Component);p.propTypes = { items: s.default.array.isRequired, itemProps: s.default.oneOfType([s.default.object, s.default.func]), renderItem: s.default.func.isRequired, renderItemData: s.default.object.isRequired, sectionIndex: s.default.number, highlightedItemIndex: s.default.number, onHighlightedItemChange: s.default.func.isRequired, getItemId: s.default.func.isRequired, theme: s.default.func.isRequired, keyPrefix: s.default.string.isRequired }, p.defaultProps = { sectionIndex: null }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = n(0),o = u(a),s = u(n(1)),l = u(n(58));function u(e) {return e && e.__esModule ? e : { default: e };}function c(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function d(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var f = function (e) {function t() {var e, n, r;c(this, t);for (var i = arguments.length, a = Array(i), o = 0; o < i; o++) a[o] = arguments[o];return n = r = d(this, (e = t.__proto__ || Object.getPrototypeOf(t)).call.apply(e, [this].concat(a))), r.storeItemReference = function (e) {null !== e && (r.item = e);}, r.onMouseEnter = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onMouseEnter(e, { sectionIndex: n, itemIndex: i });}, r.onMouseLeave = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onMouseLeave(e, { sectionIndex: n, itemIndex: i });}, r.onMouseDown = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onMouseDown(e, { sectionIndex: n, itemIndex: i });}, r.onClick = function (e) {var t = r.props,n = t.sectionIndex,i = t.itemIndex;r.props.onClick(e, { sectionIndex: n, itemIndex: i });}, d(r, n);}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "shouldComponentUpdate", value: function (e) {return (0, l.default)(e, this.props, ["renderItemData"]);} }, { key: "render", value: function () {var e = this.props,t = e.isHighlighted,n = e.item,i = e.renderItem,a = e.renderItemData,s = function (e, t) {var n = {};for (var r in e) t.indexOf(r) >= 0 || Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]);return n;}(e, ["isHighlighted", "item", "renderItem", "renderItemData"]);return delete s.sectionIndex, delete s.itemIndex, "function" == typeof s.onMouseEnter && (s.onMouseEnter = this.onMouseEnter), "function" == typeof s.onMouseLeave && (s.onMouseLeave = this.onMouseLeave), "function" == typeof s.onMouseDown && (s.onMouseDown = this.onMouseDown), "function" == typeof s.onClick && (s.onClick = this.onClick), o.default.createElement("li", r({ role: "option" }, s, { ref: this.storeItemReference }), i(n, r({ isHighlighted: t }, a)));} }]), t;}(a.Component);f.propTypes = { sectionIndex: s.default.number, isHighlighted: s.default.bool.isRequired, itemIndex: s.default.number.isRequired, item: s.default.any.isRequired, renderItem: s.default.func.isRequired, renderItemData: s.default.object.isRequired, onMouseEnter: s.default.func, onMouseLeave: s.default.func, onMouseDown: s.default.func, onClick: s.default.func }, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.defaultTheme = { container: "react-autosuggest__container", containerOpen: "react-autosuggest__container--open", input: "react-autosuggest__input", inputOpen: "react-autosuggest__input--open", inputFocused: "react-autosuggest__input--focused", suggestionsContainer: "react-autosuggest__suggestions-container", suggestionsContainerOpen: "react-autosuggest__suggestions-container--open", suggestionsList: "react-autosuggest__suggestions-list", suggestion: "react-autosuggest__suggestion", suggestionFirst: "react-autosuggest__suggestion--first", suggestionHighlighted: "react-autosuggest__suggestion--highlighted", sectionContainer: "react-autosuggest__section-container", sectionContainerFirst: "react-autosuggest__section-container--first", sectionTitle: "react-autosuggest__section-title" }, t.mapToAutowhateverTheme = function (e) {var t = {};for (var n in e) switch (n) {case "suggestionsContainer":t.itemsContainer = e[n];break;case "suggestionsContainerOpen":t.itemsContainerOpen = e[n];break;case "suggestion":t.item = e[n];break;case "suggestionFirst":t.itemFirst = e[n];break;case "suggestionHighlighted":t.itemHighlighted = e[n];break;case "suggestionsList":t.itemsList = e[n];break;default:t[n] = e[n];}return t;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = u(n(0)),a = u(n(1)),o = u(n(4)),s = u(n(213)),l = u(n(215));function u(e) {return e && e.__esModule ? e : { default: e };}function c(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function d(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var f = function (e) {function t() {return c(this, t), d(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.marked,n = e.option,r = e.searchFieldInputValue,a = e.texts,u = e.useContainsFilter,c = t ? "suggestion marked" : "suggestion",d = t ? a.selected : a.notSelected,f = n.subText && "." !== n.subText ? " " + (0, o.default)(n.subText) : "",p = { insideWords: u, findAllOccurrences: !0, requireMatchAll: !0 },h = (0, s.default)(n.text, r, p),g = (0, l.default)(n.text, h);return i.default.createElement("div", { className: c, value: JSON.stringify(n) }, i.default.createElement("span", { className: "suggenstionContent" }, g.map(function (e, t) {var n = e.highlight ? "highlight" : null;return i.default.createElement("span", { className: n, key: "highlight-" + t }, e.text);}), f), i.default.createElement("span", { className: "aural" }, d));} }]), t;}(i.default.Component);f.propTypes = { option: a.default.shape({ subText: a.default.string, text: a.default.string.isRequired }).isRequired, marked: a.default.bool.isRequired, texts: a.default.shape({ selected: a.default.string.isRequired, notSelected: a.default.string.isRequired }).isRequired, searchFieldInputValue: a.default.string, useContainsFilter: a.default.bool }, f.defaultProps = { searchFieldInputValue: "", useContainsFilter: !1 }, t.default = f;}, function (e, t, n) {var r = n(214).clean,i = /[.*+?^${}()|[\]\\]/g,a = /[a-z0-9_]/i,o = /\s+/;e.exports = function (e, t, n) {var s, l;return l = { insideWords: !1, findAllOccurrences: !1, requireMatchAll: !1 }, s = (s = n) || {}, Object.keys(s).forEach(function (e) {l[e] = !!s[e];}), n = l, e = r(e), (t = r(t)).trim().split(o).filter(function (e) {return e.length > 0;}).reduce(function (t, r) {var o,s,l = r.length,u = !n.insideWords && a.test(r[0]) ? "\\b" : "",c = new RegExp(u + r.replace(i, "\\$&"), "i");if (o = c.exec(e), n.requireMatchAll && null === o) return e = "", [];for (; o && (s = o.index, t.push([s, s + l]), e = e.slice(0, s) + new Array(l + 1).join(" ") + e.slice(s + l), n.findAllOccurrences);) o = c.exec(e);return t;}, []).sort(function (e, t) {return e[0] - t[0];});};}, function (e, t, n) {var r, i, a;
  // @license MIT
  a = function () {for (var e = { map: {} }, t = [{ base: " ", letters: " " }, { base: "A", letters: "AⒶＡÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ" }, { base: "AA", letters: "Ꜳ" }, { base: "AE", letters: "ÆǼǢ" }, { base: "AO", letters: "Ꜵ" }, { base: "AU", letters: "Ꜷ" }, { base: "AV", letters: "ꜸꜺ" }, { base: "AY", letters: "Ꜽ" }, { base: "B", letters: "BⒷＢḂḄḆɃƂƁ" }, { base: "C", letters: "CⒸＣĆĈĊČÇḈƇȻꜾ" }, { base: "D", letters: "DⒹＤḊĎḌḐḒḎĐƋƊƉꝹ" }, { base: "DZ", letters: "ǱǄ" }, { base: "Dz", letters: "ǲǅ" }, { base: "E", letters: "EⒺＥÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ" }, { base: "F", letters: "FⒻＦḞƑꝻ" }, { base: "G", letters: "GⒼＧǴĜḠĞĠǦĢǤƓꞠꝽꝾ" }, { base: "H", letters: "HⒽＨĤḢḦȞḤḨḪĦⱧⱵꞍ" }, { base: "I", letters: "IⒾＩÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ" }, { base: "J", letters: "JⒿＪĴɈ" }, { base: "K", letters: "KⓀＫḰǨḲĶḴƘⱩꝀꝂꝄꞢ" }, { base: "L", letters: "LⓁＬĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ" }, { base: "LJ", letters: "Ǉ" }, { base: "Lj", letters: "ǈ" }, { base: "M", letters: "MⓂＭḾṀṂⱮƜ" }, { base: "N", letters: "NⓃＮǸŃÑṄŇṆŅṊṈȠƝꞐꞤ" }, { base: "NJ", letters: "Ǌ" }, { base: "Nj", letters: "ǋ" }, { base: "O", letters: "OⓄＯÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ" }, { base: "OI", letters: "Ƣ" }, { base: "OO", letters: "Ꝏ" }, { base: "OU", letters: "Ȣ" }, { base: "P", letters: "PⓅＰṔṖƤⱣꝐꝒꝔ" }, { base: "Q", letters: "QⓆＱꝖꝘɊ" }, { base: "R", letters: "RⓇＲŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ" }, { base: "S", letters: "SⓈＳẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ" }, { base: "T", letters: "TⓉＴṪŤṬȚŢṰṮŦƬƮȾꞆ" }, { base: "Th", letters: "Þ" }, { base: "TZ", letters: "Ꜩ" }, { base: "U", letters: "UⓊＵÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ" }, { base: "V", letters: "VⓋＶṼṾƲꝞɅ" }, { base: "VY", letters: "Ꝡ" }, { base: "W", letters: "WⓌＷẀẂŴẆẄẈⱲ" }, { base: "X", letters: "XⓍＸẊẌ" }, { base: "Y", letters: "YⓎＹỲÝŶỸȲẎŸỶỴƳɎỾ" }, { base: "Z", letters: "ZⓏＺŹẐŻŽẒẔƵȤⱿⱫꝢ" }, { base: "a", letters: "aⓐａẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐɑ" }, { base: "aa", letters: "ꜳ" }, { base: "ae", letters: "æǽǣ" }, { base: "ao", letters: "ꜵ" }, { base: "au", letters: "ꜷ" }, { base: "av", letters: "ꜹꜻ" }, { base: "ay", letters: "ꜽ" }, { base: "b", letters: "bⓑｂḃḅḇƀƃɓ" }, { base: "c", letters: "cⓒｃćĉċčçḉƈȼꜿↄ" }, { base: "d", letters: "dⓓｄḋďḍḑḓḏđƌɖɗꝺ" }, { base: "dz", letters: "ǳǆ" }, { base: "e", letters: "eⓔｅèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ" }, { base: "f", letters: "fⓕｆḟƒꝼ" }, { base: "ff", letters: "ﬀ" }, { base: "fi", letters: "ﬁ" }, { base: "fl", letters: "ﬂ" }, { base: "ffi", letters: "ﬃ" }, { base: "ffl", letters: "ﬄ" }, { base: "g", letters: "gⓖｇǵĝḡğġǧģǥɠꞡᵹꝿ" }, { base: "h", letters: "hⓗｈĥḣḧȟḥḩḫẖħⱨⱶɥ" }, { base: "hv", letters: "ƕ" }, { base: "i", letters: "iⓘｉìíîĩīĭïḯỉǐȉȋịįḭɨı" }, { base: "j", letters: "jⓙｊĵǰɉ" }, { base: "k", letters: "kⓚｋḱǩḳķḵƙⱪꝁꝃꝅꞣ" }, { base: "l", letters: "lⓛｌŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ" }, { base: "lj", letters: "ǉ" }, { base: "m", letters: "mⓜｍḿṁṃɱɯ" }, { base: "n", letters: "nñnⓝｎǹńñṅňṇņṋṉƞɲŉꞑꞥлԉ" }, { base: "nj", letters: "ǌ" }, { base: "o", letters: "߀oⓞｏòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ" }, { base: "oe", letters: "Œœ" }, { base: "oi", letters: "ƣ" }, { base: "ou", letters: "ȣ" }, { base: "oo", letters: "ꝏ" }, { base: "p", letters: "pⓟｐṕṗƥᵽꝑꝓꝕ" }, { base: "q", letters: "qⓠｑɋꝗꝙ" }, { base: "r", letters: "rⓡｒŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ" }, { base: "s", letters: "sⓢｓßśṥŝṡšṧṣṩșşȿꞩꞅẛ" }, { base: "ss", letters: "ß" }, { base: "t", letters: "tⓣｔṫẗťṭțţṱṯŧƭʈⱦꞇ" }, { base: "th", letters: "þ" }, { base: "tz", letters: "ꜩ" }, { base: "u", letters: "uⓤｕùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ" }, { base: "v", letters: "vⓥｖṽṿʋꝟʌ" }, { base: "vy", letters: "ꝡ" }, { base: "w", letters: "wⓦｗẁẃŵẇẅẘẉⱳ" }, { base: "x", letters: "xⓧｘẋẍ" }, { base: "y", letters: "yⓨｙỳýŷỹȳẏÿỷẙỵƴɏỿ" }, { base: "z", letters: "zⓩｚźẑżžẓẕƶȥɀⱬꝣ" }], n = 0, r = t.length; n < r; n++) for (var i = t[n].letters.split(""), a = 0, o = i.length; a < o; a++) e.map[i[a]] = t[n].base;return e.clean = function (t) {if (!t || !t.length || t.length < 1) return "";for (var n, r = "", i = t.split(""), a = 0, o = i.length; a < o; a++) r += (n = i[a]) in e.map ? e.map[n] : n;return r;}, e;}, e.exports ? e.exports = a() : void 0 === (i = "function" == typeof (r = a) ? r.call(t, n, t, e) : r) || (e.exports = i);}, function (e, t) {e.exports = function (e, t) {var n = [];return 0 === t.length ? n.push({ text: e, highlight: !1 }) : t[0][0] > 0 && n.push({ text: e.slice(0, t[0][0]), highlight: !1 }), t.forEach(function (r, i) {var a = r[0],o = r[1];n.push({ text: e.slice(a, o), highlight: !0 }), i === t.length - 1 ? o < e.length && n.push({ text: e.slice(o, e.length), highlight: !1 }) : o < t[i + 1][0] && n.push({ text: e.slice(o, t[i + 1][0]), highlight: !1 });}), n;};}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = o(n(0)),i = o(n(1)),a = o(n(217));function o(e) {return e && e.__esModule ? e : { default: e };}var s = { root: { width: "100%", minHeight: 0, padding: 0 }, stepper: { display: "table", width: "100%", margin: "0 auto" } };function l(e) {var t = e.activeStep,n = e.steps,i = e.disabledSteps,o = e.size,l = e.circleFontSize,u = e.titleFontSize;return r.default.createElement("div", { style: s.root, className: "stepper-root" }, r.default.createElement("div", { style: s.stepper, className: "stepper" }, n.map(function (e, s) {var c = "step" + s;return r.default.createElement(a.default, { key: c, width: 100 / n.length, title: e.title, onClick: e.onClick, active: !(i || []).indexOf(s) > -1 && s === t, completed: !(i || []).indexOf(s) > -1 && s < t, first: 0 === s, isLast: s === n.length - 1, index: s, size: o, circleFontSize: l, titleFontSize: u, navTarget: e.navTarget });})));}l.propTypes = { activeStep: i.default.number.isRequired, steps: i.default.arrayOf(i.default.shape({ title: i.default.string.isRequired, navTarget: i.default.string.isRequired, onClick: i.default.func.isRequired }).isRequired).isRequired }, t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = n(0),a = s(i),o = s(n(1));function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.getStyles = n.getStyles.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "getStyles", value: function () {var e = this.props,t = e.size,n = e.circleFontSize,r = e.titleFontSize;return { step: { width: e.width + "%", display: "table-cell", position: "relative" }, circle: { width: t, height: t, margin: "0 auto", borderRadius: "50%", textAlign: "center", fontSize: n, display: "block" }, index: { lineHeight: t + n / 4 + "px" }, title: { fontSize: r, textAlign: "center" }, leftBar: { position: "absolute", left: 0, right: "50%" }, rightBar: { position: "absolute", right: 0, left: "50%" } };} }, { key: "render", value: function () {var e = this.props,t = e.title,n = e.index,r = e.active,i = e.completed,o = e.first,s = e.isLast,l = e.onClick,u = e.navTarget,c = this.getStyles(),d = c.circle,f = c.title,p = c.leftBar,h = c.rightBar;return a.default.createElement("div", { style: c.step, className: "step" }, a.default.createElement("div", { style: d, className: i ? "circle-completed" : r ? "circle-active" : "circle-inactive" }, r || i ? a.default.createElement("a", { onClick: l, "aria-label": n + 1 + ": " + t, "data-param": u, style: c.index }, a.default.createElement("div", { className: "text" }, n + 1)) : a.default.createElement("div", { style: c.index, className: "text" }, n + 1, " ")), r || i ? a.default.createElement("a", { className: "title-active", onClick: l, "aria-hidden": "true", "data-param": u, style: f }, t) : a.default.createElement("div", { className: "title-inactive", style: f }, t), !o && (r || i) && a.default.createElement("div", { className: "line-left", style: p }), !s && i && a.default.createElement("div", { className: "line-right", style: h }));} }]), t;}(i.Component);t.default = l, l.defaultProps = { size: 32, circleFontSize: 16, titleFontSize: 16 }, l.propTypes = { width: o.default.number.isRequired, size: o.default.number, circleFontSize: o.default.number, titleFontSize: o.default.number, title: o.default.string.isRequired, onClick: o.default.func.isRequired, navTarget: o.default.string.isRequired };}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = v(n(0)),a = v(n(1)),o = n(24),s = n(5),l = n(7),u = n(2),c = v(n(29)),d = v(n(8)),f = v(n(13)),p = v(n(42)),h = v(n(30)),g = v(n(33)),m = v(n(17)),b = v(n(6));function v(e) {return e && e.__esModule ? e : { default: e };}function _(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function y(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var S = function (e) {function t() {return _(this, t), y(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, d.default)(this.props.appId + "-container");} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.data,a = e.functions,u = e.icons,d = e.navTargets,v = e.texts,_ = (0, c.default)(r);return i.default.createElement("div", { className: "calculatorSelectAge" }, i.default.createElement(m.default, { activeStep: t, functions: { handleScreenChange: a.handleScreenChange }, texts: v.stepper }), i.default.createElement(h.default, { activeStep: t, data: _, texts: v.selectedCriteria, type: s.TOP_BAR }), i.default.createElement(b.default, { appId: n, preventFocus: !0, texts: { title: v.title, back: v.buttons.back }, imgSrc: u.info, navTargets: { infoPopup: d.infoPopup, back: d.back }, functions: { handlePopupChange: a.handlePopupChange, handleScreenChange: a.handleScreenChange }, htmlTextWrapping: l.TITLE_TEXT_WRAPPING_H1 }), i.default.createElement(g.default, { activeStep: t, data: _, texts: v.selectedCriteria }), i.default.createElement("div", { className: "radioButtonsContainer", role: "radiogroup" }, i.default.createElement(p.default, { checked: r.age.value === o.AGE_SMALLER_15, functions: { handleSelection: a.handleSelectAgeSelection }, texts: v.radioButton1, id: o.AGE_SMALLER_15, name: "selectAge", dataParam: o.AGE_SMALLER_15, dataText: v.radioButton1.bottom }), i.default.createElement(p.default, { className: "centerRadioButton", checked: r.age.value === o.AGE_SMALLER_17, functions: { handleSelection: a.handleSelectAgeSelection }, texts: v.radioButton2, id: o.AGE_SMALLER_17, name: "selectAge", dataParam: o.AGE_SMALLER_17, dataText: v.radioButton2.bottom }), i.default.createElement(p.default, { checked: r.age.value === o.AGE_GREATER_EQUALS_17, functions: { handleSelection: a.handleSelectAgeSelection }, texts: v.radioButton3, id: o.AGE_GREATER_EQUALS_17, name: "selectAge", dataParam: o.AGE_GREATER_EQUALS_17, dataText: v.radioButton3.bottom })), i.default.createElement(f.default, { appId: n, continueButtonDisabled: !1, texts: v.buttons, functions: { handleScreenChange: a.handleScreenChange }, navTargets: d, resetButton: !0 }));} }]), t;}(i.default.Component);S.propTypes = { activeStep: a.default.number.isRequired, appId: a.default.string.isRequired, data: u.fullDataObjectType.isRequired, functions: a.default.shape({ handlePopupChange: a.default.func.isRequired, handleScreenChange: a.default.func.isRequired, handleSelectAgeSelection: a.default.func.isRequired }).isRequired, icons: a.default.shape({ age: a.default.string.isRequired, back: a.default.string.isRequired, info: a.default.string.isRequired }).isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired, continue: a.default.string.isRequired, infoPopup: a.default.string.isRequired }).isRequired, texts: a.default.shape({ buttons: u.buttonBarTextsType.isRequired, infoPopup: u.infoPopupTextsType.isRequired, radioButton1: u.radioButtonTextsType.isRequired, selectedCriteria: u.selectedCriteriaTextsType.isRequired, title: u.titleTextsType.isRequired }).isRequired }, S.defaultProps = {}, t.default = S;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(4));function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function u(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var c = function (e) {function t() {return l(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_renderAsTopBar", value: function () {var e = this.props.data;return i.default.createElement("div", { className: "criteria asTopBar" }, i.default.createElement("div", { className: "criteriaContainer" }, e.imgSrc ? i.default.createElement("img", { className: "icon", alt: "", src: e.imgSrc }) : null, i.default.createElement("div", { className: "text" }, (0, o.default)(e.text))));} }, { key: "_renderAsContent", value: function () {var e = this.props,t = e.data,n = e.text;return i.default.createElement("div", { className: "criteria asContent" }, i.default.createElement("div", { className: "criteriaContainer" }, n ? i.default.createElement("div", { className: "text" }, (0, o.default)(n)) : null, t.imgSrc ? i.default.createElement("img", { className: "icon", alt: "", src: t.imgSrc }) : null, t.text ? i.default.createElement("div", { className: "text" }, (0, o.default)(t.text)) : null));} }, { key: "render", value: function () {return "topBar" === this.props.type ? this._renderAsTopBar() : this._renderAsContent();} }]), t;}(i.default.Component);c.propTypes = { data: a.default.shape({ imgSrc: a.default.string, text: a.default.string.isRequired }).isRequired, text: a.default.string, type: a.default.string.isRequired }, c.defaultProps = { text: "" }, t.default = c;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = v(n(0)),a = v(n(1)),o = n(38),s = v(n(17)),l = v(n(29)),u = n(7),c = v(n(8)),d = v(n(13)),f = v(n(6)),p = v(n(42)),h = v(n(30)),g = v(n(33)),m = n(5),b = n(2);function v(e) {return e && e.__esModule ? e : { default: e };}function _(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function y(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var S = function (e) {function t() {return _(this, t), y(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, c.default)(this.props.appId + "-container");} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.texts,a = e.functions,c = e.icons,b = e.navTargets,v = e.data,_ = (0, l.default)(v);return b.continue = v.transport.value !== o.TRANSPORT_OTHER || v.country.eu ? b.continue.calculatorSelectSpecialGoods : b.continue.calculatorShowNonEuTransportOtherNotification, i.default.createElement("div", { className: "calculatorSelectTransport" }, i.default.createElement(s.default, { activeStep: t, functions: { handleScreenChange: a.handleScreenChange }, texts: r.stepper }), i.default.createElement(h.default, { activeStep: t, data: _, texts: r.selectedCriteria, type: m.TOP_BAR }), i.default.createElement(f.default, { appId: n, preventFocus: !0, texts: { title: r.title, back: r.buttons.back }, functions: { handlePopupChange: a.handlePopupChange, handleScreenChange: a.handleScreenChange }, htmlTextWrapping: u.TITLE_TEXT_WRAPPING_H1, imgSrc: c.info, navTargets: { infoPopup: b.infoPopup, back: b.back } }), i.default.createElement(g.default, { activeStep: t, data: _, texts: r.selectedCriteria }), i.default.createElement("div", { className: "radioButtonsContainer", role: "radiogroup" }, i.default.createElement(p.default, { id: o.TRANSPORT_SHIP_OR_PLANE, checked: v.transport.value === o.TRANSPORT_SHIP_OR_PLANE, functions: { handleSelection: a.handleSelectTransportSelection }, texts: r.radioButton1, imgSrc: v.transport.value === o.TRANSPORT_SHIP_OR_PLANE ? c.transportShipPlaneWhite : c.transportShipPlane, name: "selectTransport", dataParam: o.TRANSPORT_SHIP_OR_PLANE, dataText: r.radioButton1.top }), i.default.createElement(p.default, { id: o.TRANSPORT_OTHER, checked: v.transport.value === o.TRANSPORT_OTHER, functions: { handleSelection: a.handleSelectTransportSelection }, texts: r.radioButton2, imgSrc: v.transport.value === o.TRANSPORT_OTHER ? c.transportOtherWhite : c.transportOther, dataParam: o.TRANSPORT_OTHER, name: "selectTransport", dataText: r.radioButton2.top })), i.default.createElement(d.default, { appId: n, continueButtonDisabled: !1, texts: r.buttons, functions: { handleScreenChange: a.handleScreenChange }, navTargets: b, resetButton: !0 }));} }]), t;}(i.default.Component);S.propTypes = { activeStep: a.default.number.isRequired, appId: a.default.string.isRequired, data: b.fullDataObjectType.isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired, continue: a.default.oneOfType([a.default.string.isRequired, a.default.shape({ calculatorShowNonEuTransportOtherNotification: a.default.string.isRequired, calculatorSelectSpecialGoods: a.default.string.isRequired })]).isRequired, infoPopup: a.default.string.isRequired }).isRequired, functions: a.default.shape({ handleScreenChange: a.default.func.isRequired, handleSelectTransportSelection: a.default.func.isRequired, handlePopupChange: a.default.func.isRequired }).isRequired, icons: a.default.shape({ back: a.default.string.isRequired, info: a.default.string.isRequired, transportOther: a.default.string.isRequired, transportShipPlane: a.default.string.isRequired }).isRequired, texts: a.default.shape({ buttons: b.buttonBarTextsType, infoPopup: b.infoPopupTextsType, select: b.selectTextsType, selectedCriteria: b.selectedCriteriaTextsType, title: b.titleTextsType }).isRequired }, t.default = S;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = b(n(0)),a = b(n(1)),o = b(n(29)),s = b(n(8)),l = b(n(6)),u = b(n(12)),c = b(n(17)),d = b(n(30)),f = b(n(33)),p = b(n(13)),h = n(2),g = n(7),m = n(5);function b(e) {return e && e.__esModule ? e : { default: e };}function v(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function _(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var y = function (e) {function t() {return v(this, t), _(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, s.default)(this.props.appId + "-container");} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.data,a = e.functions,s = e.navTargets,h = e.texts,b = (0, o.default)(r),v = h.body.replace("$land$", r.country.text);return i.default.createElement("div", { className: "calculatorShowNonEuTransportOtherNotification" }, i.default.createElement(c.default, { activeStep: t, functions: { handleScreenChange: a.handleScreenChange }, texts: h.stepper }), i.default.createElement(d.default, { activeStep: t, data: b, texts: h.selectedCriteria, type: m.TOP_BAR }), i.default.createElement(l.default, { appId: n, preventFocus: !0, texts: { title: h.title, back: h.buttons.back }, navTargets: { infoPopup: s.infoPopup, back: s.back }, functions: { handlePopupChange: a.handlePopupChange, handleScreenChange: a.handleScreenChange }, htmlTextWrapping: g.TITLE_TEXT_WRAPPING_H1 }), i.default.createElement(f.default, { activeStep: t, data: b, texts: h.selectedCriteria }), i.default.createElement(u.default, { text: v }), i.default.createElement(p.default, { appId: n, continueButtonDisabled: !1, texts: h.buttons, functions: { handleScreenChange: a.handleScreenChange }, navTargets: s, resetButton: !0 }));} }]), t;}(i.default.Component);y.propTypes = { activeStep: a.default.number.isRequired, appId: a.default.string.isRequired, data: h.fullDataObjectType.isRequired, functions: a.default.shape({ handlePopupChange: a.default.func, handleScreenChange: a.default.func.isRequired }).isRequired, icons: a.default.shape({ back: a.default.string.isRequired }).isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired, continue: a.default.string.isRequired, infoPopup: a.default.string }).isRequired, texts: a.default.shape({ body: a.default.string.isRequired, buttons: h.buttonBarTextsType.isRequired, title: h.titleTextsType.isRequired }).isRequired }, t.default = y;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = w(n(0)),o = w(n(1)),s = n(5),l = n(24),u = n(38),c = w(n(17)),d = w(n(13)),f = w(n(30)),p = w(n(33)),h = w(n(6)),g = w(n(223)),m = w(n(12)),b = w(n(28)),v = w(n(52)),_ = w(n(29)),y = w(n(8)),S = n(103),x = n(2),E = n(7),T = w(n(41));function w(e) {return e && e.__esModule ? e : { default: e };}var C = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)),r = e.data.country.eu && !e.data.country.specialZone;return n.sliderData = (0, v.default)(r, e.specialGoods), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidMount", value: function () {(0, y.default)(this.props.appId + "-container");} }, { key: "_renderBottomTextBox", value: function () {var e = this.props,t = e.data,n = e.icons,r = e.texts,i = t.specialGoodsCategoriesExceedingLimit,o = t.specialGoodsCategoriesNotExceedingLimit,l = a.default.createElement(m.default, { text: r.bottomText.noSpecialGoods, htmlTextWrapping: E.NO_SPECIAL_GOODS_TEXT_WRAPPING_H3 }),u = null;return i.length > 0 ? (u = (u = i.map(function (e) {return r[e + "SliderPanel"].label;})).toString().replace(/,/g, ", "), l = a.default.createElement("div", null, a.default.createElement("div", { className: "textBoxContainer marginTop" }, a.default.createElement(b.default, { icons: { confirm: n.confirm, warning: n.warning }, type: s.ALERT, texts: { alertBox: r.bottomText.limitExceededSpecialGoods1 + u + r.bottomText.limitExceededSpecialGoods2, attention: r.attention } })), a.default.createElement("div", { className: "textBoxContainer marginTop" }, a.default.createElement(m.default, { text: r.predictedTaxesNotice })))) : o.length > 0 && (u = (u = o.map(function (e) {return r[e + "SliderPanel"].label;})).toString().replace(/,/g, ", "), l = a.default.createElement("div", { className: "textBoxContainer marginTop" }, a.default.createElement(b.default, { icons: { confirm: n.confirm, warning: n.warning }, type: s.OK, texts: { alertBox: r.bottomText.limitNotExceededSpecialGoods1 + u + r.bottomText.limitNotExceededSpecialGoods2, attention: r.attention } }))), l;} }, { key: "_renderTobaccoAlcoholSliderPanels", value: function () {var e = this.props,t = e.data,n = e.functions,i = e.icons,o = e.texts,u = null,c = t.country.eu && !t.country.specialZone ? o.tobaccoSliderPanel.eu : o.tobaccoSliderPanel.notEu,d = t.country.eu && !t.country.specialZone ? o.alcoholSliderPanel.eu : o.alcoholSliderPanel.notEu;return (t.age.value === l.AGE_GREATER_EQUALS_17 || t.country.eu) && (u = a.default.createElement("div", { className: "sliderPanelContainer" }, a.default.createElement(g.default, { data: { values: t.specialGoods.tobacco, category: S.TOBACCO, sliderData: this.sliderData.tobacco, eu: t.country.eu, specialZone: t.country.specialZone }, functions: { handleChange: n.handleSelectSpecialGoodsChange, handlePopupChange: n.handlePopupChange }, htmlTextWrapping: E.SLIDER_PANEL_TITLE_TEXT_WRAPPING_H2, imgSrc: i.info, navTarget: s.CALCULATOR_SELECT_SPECIAL_GOODS_TOBACCO_INFO_POPUP, texts: r({}, c, { sliderLimitExceeded: o.sliderLimitExceeded, label: o.tobaccoSliderPanel.label, altText: o.tobaccoSliderPanel.altText }) }), a.default.createElement(g.default, { data: { values: t.specialGoods.alcohol, category: S.ALCOHOL, sliderData: this.sliderData.alcohol, eu: t.country.eu, specialZone: t.country.specialZone }, functions: { handleChange: n.handleSelectSpecialGoodsChange, handlePopupChange: n.handlePopupChange }, htmlTextWrapping: E.SLIDER_PANEL_TITLE_TEXT_WRAPPING_H2, imgSrc: i.info, navTarget: s.CALCULATOR_SELECT_SPECIAL_GOODS_ALCOHOL_INFO_POPUP, texts: r({}, d, { sliderLimitExceeded: o.sliderLimitExceeded, label: o.alcoholSliderPanel.label, altText: o.alcoholSliderPanel.altText }) }))), u;} }, { key: "_renderFuelSliderPanel", value: function () {var e = this.props,t = e.data,n = e.functions,i = e.icons,o = e.texts,l = t.country.eu && !t.country.specialZone ? o.fuelSliderPanel.eu : o.fuelSliderPanel.notEu,c = null;return t.transport.value === u.TRANSPORT_OTHER && (c = a.default.createElement("div", { className: "sliderPanelContainer" }, a.default.createElement(g.default, { data: { values: t.specialGoods.fuel, category: S.FUEL, sliderData: this.sliderData.fuel, eu: t.country.eu, specialZone: t.country.specialZone }, functions: { handleChange: n.handleSelectSpecialGoodsChange, handlePopupChange: n.handlePopupChange }, htmlTextWrapping: E.SLIDER_PANEL_TITLE_TEXT_WRAPPING_H2, imgSrc: i.info, navTarget: s.CALCULATOR_SELECT_SPECIAL_GOODS_FUEL_INFO_POPUP, texts: r({}, l, { sliderLimitExceeded: o.sliderLimitExceeded, label: o.fuelSliderPanel.label, altText: o.fuelSliderPanel.altText }) }))), c;} }, { key: "_renderCoffeeSliderPanel", value: function () {var e = this.props,t = e.data,n = e.functions,i = e.icons,o = e.texts,l = t.country.eu && !t.country.specialZone ? o.coffeeSliderPanel.eu : o.coffeeSliderPanel.notEu,u = null;return t.country.eu && !t.country.specialZone && (u = a.default.createElement("div", { className: "sliderPanelContainer" }, a.default.createElement(g.default, { data: { values: t.specialGoods.coffee, category: S.COFFEE, sliderData: this.sliderData.coffee, eu: t.country.eu, specialZone: t.country.specialZone }, functions: { handleChange: n.handleSelectSpecialGoodsChange, handlePopupChange: n.handlePopupChange }, htmlTextWrapping: E.SLIDER_PANEL_TITLE_TEXT_WRAPPING_H2, imgSrc: i.info, navTarget: s.CALCULATOR_SELECT_SPECIAL_GOODS_COFFEE_INFO_POPUP, texts: r({}, l, { sliderLimitExceeded: o.sliderLimitExceeded, label: o.coffeeSliderPanel.label, altText: o.coffeeSliderPanel.altText }) }))), u;} }, { key: "_renderSliderPanelsOrTextBoxOrSliderPanelsAndTextBox", value: function () {var e = this.props,t = e.icons,n = e.texts,r = this._renderTobaccoAlcoholSliderPanels(),i = this._renderFuelSliderPanel(),o = this._renderCoffeeSliderPanel();return r || i || o ? r ? a.default.createElement("div", { className: "sliderPanelContainer" }, r, i, o, a.default.createElement(T.default, null)) : a.default.createElement("div", null, a.default.createElement("div", { className: "sliderPanelContainer" }, i, o, a.default.createElement(T.default, null)), a.default.createElement("div", { "aria-live": "assertive", className: "textBoxContainer" }, a.default.createElement(b.default, { icons: { warning: t.warning }, texts: { alertBox: n.noSlidersText, attention: n.attention }, type: "alert", htmlTextWrapping: E.NO_SPECIAL_GOODS_ALLOWED_TEXT_WRAPPING_H3 }))) : a.default.createElement("div", { "aria-live": "assertive", className: "textBoxContainer" }, a.default.createElement(b.default, { icons: { warning: t.warning }, texts: { alertBox: n.noSlidersText, attention: n.attention }, type: "alert", htmlTextWrapping: E.NO_SPECIAL_GOODS_ALLOWED_TEXT_WRAPPING_H3 }));} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.texts,i = e.functions,o = e.icons,l = e.navTargets,u = e.data,g = (0, _.default)(u);return a.default.createElement("div", { className: "calculatorSelectSpecialGoods" }, a.default.createElement(c.default, { activeStep: t, functions: { handleScreenChange: i.handleScreenChange }, texts: r.stepper }), a.default.createElement(f.default, { activeStep: t, data: g, texts: r.selectedCriteria, type: s.TOP_BAR }), a.default.createElement(h.default, { appId: n, preventFocus: !0, texts: { title: r.title, back: r.buttons.back }, imgSrc: o.info, navTargets: { infoPopup: l.infoPopup, back: l.back }, functions: { handlePopupChange: i.handlePopupChange, handleScreenChange: i.handleScreenChange }, htmlTextWrapping: E.TITLE_TEXT_WRAPPING_H1 }), a.default.createElement(p.default, { activeStep: t, data: g, texts: r.selectedCriteria }), this._renderSliderPanelsOrTextBoxOrSliderPanelsAndTextBox(), a.default.createElement("div", { "aria-live": "assertive", tabIndex: 0 }, this._renderBottomTextBox()), a.default.createElement(d.default, { appId: n, texts: r.buttons, functions: { handleScreenChange: i.handleScreenChange }, navTargets: l, continueButtonDisabled: !1, resetButton: !0 }));} }]), t;}(a.default.Component);C.propTypes = { activeStep: o.default.number.isRequired, appId: o.default.string.isRequired, data: x.fullDataObjectType.isRequired, functions: o.default.shape({ handleScreenChange: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired, handleSelectSpecialGoodsChange: o.default.func.isRequired }).isRequired, icons: o.default.shape({ back: o.default.string.isRequired, confirm: o.default.string.isRequired, info: o.default.string.isRequired, warning: o.default.string.isRequired }).isRequired, navTargets: o.default.shape({ back: o.default.string.isRequired, continue: o.default.string.isRequired, infoPopup: o.default.string.isRequired }).isRequired, specialGoods: x.specialGoodsType.isRequired, texts: o.default.shape({ attention: o.default.string.isRequired, alcoholSliderPanel: x.anySliderPanelTextsType.isRequired, coffeeSliderPanel: x.anySliderPanelTextsType.isRequired, fuelSliderPanel: x.anySliderPanelTextsType.isRequired, tobaccoSliderPanel: x.anySliderPanelTextsType.isRequired, buttons: x.buttonBarTextsType.isRequired, infoPopup: x.infoPopupTextsType.isRequired, noSlidersText: o.default.string.isRequired, selectedCriteria: x.selectedCriteriaTextsType, sliderLimitExceeded: o.default.string.isRequired, title: x.titleTextsType.isRequired }).isRequired }, t.default = C;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = h(n(0)),o = h(n(1)),s = h(n(4)),l = h(n(57)),u = h(n(224)),c = n(103),d = n(2),f = h(n(99)),p = h(n(41));function h(e) {return e && e.__esModule ? e : { default: e };}function g(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function m(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var b = function (e) {function t() {return g(this, t), m(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "_renderSliders", value: function () {for (var e = this.props, t = e.data, n = e.functions, i = e.texts, o = [], s = 1; s <= Object.keys(t.sliderData).length; s++) {var l = "slider";t.category !== c.TOBACCO && (t.eu && !t.specialZone || t.category !== c.ALCOHOL || 2 !== s && 3 !== s) || (l = "slidergroup"), o = o.concat(a.default.createElement(u.default, { className: l, key: i["slider" + s].label + s, texts: r({}, i["slider" + s], { sliderLimitExceeded: i.sliderLimitExceeded }), data: { value: t.values["value" + s], category: t.category, key: "value" + s, sliderData: t.sliderData["value" + s] }, functions: { handleChange: n.handleChange } }));}return a.default.createElement("div", { className: "sliders" }, o);} }, { key: "render", value: function () {var e = this.props,t = e.functions,n = e.htmlTextWrapping,r = e.imgSrc,i = e.navTarget,o = e.texts,u = (0, f.default)(n, o.label),c = r ? a.default.createElement(l.default, { className: "sliderPanelIconButton", dataParam: i, imgSrc: r, functions: { handleClick: t.handlePopupChange }, texts: { iconButton: o.iconButton, altText: o.altText } }) : null;return a.default.createElement("div", { className: "sliderPanel" }, a.default.createElement("div", { className: "sliderPanelTitle" }, a.default.createElement("div", { className: "sliderPanelLabelContainer" }, (0, s.default)(u)), c, a.default.createElement(p.default, null)), this._renderSliders());} }]), t;}(a.default.Component);b.propTypes = { data: o.default.shape({ category: o.default.string.isRequired, eu: o.default.number, specialZone: o.default.number, sliderData: o.default.objectOf(d.sliderDataType.isRequired).isRequired, values: o.default.objectOf(o.default.string.isRequired).isRequired }).isRequired, functions: o.default.shape({ handleChange: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired }).isRequired, htmlTextWrapping: o.default.string, imgSrc: o.default.string.isRequired, navTarget: o.default.string.isRequired, texts: o.default.shape({ sliderLimitExceeded: o.default.string.isRequired, label: o.default.string.isRequired }).isRequired }, b.defaultProps = { htmlTextWrapping: "" }, t.default = b;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(225)),s = c(n(4)),l = n(2),u = c(n(41));function c(e) {return e && e.__esModule ? e : { default: e };}var d = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.inputRef = {}, e.onChange = e.onChange.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {var e = this,t = this.props.data;o.default.create(this.inputRef, { polyfill: !1, startEvent: ["mousedown", "touchstart", "pointerdown"], moveEvent: ["mousemove", "touchmove", "pointermove"], endEvent: ["mouseup", "touchend", "pointerup"], min: 0, max: t.sliderData.limit + t.sliderData.step, step: t.sliderData.step, onSlide: function (t) {e.onChange({ currentTarget: { value: t.toString() } });} });} }, { key: "onChange", value: function (e) {var t = this.props,n = t.data;t.functions.handleChange(n.category, n.key, e.currentTarget.value);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.className,r = t.data,a = t.texts,o = r.value > r.sliderData.limit ? a.sliderLimitExceeded + " " + r.sliderData.limit + " " + r.sliderData.unit : r.value + " " + r.sliderData.unit,l = a.subTitle ? i.default.createElement("div", { className: "subLabel" }, (0, s.default)(a.subTitle)) : null;return i.default.createElement("div", { className: n }, i.default.createElement("div", { className: "labelValueContainer" }, i.default.createElement("div", null, i.default.createElement("div", { "aria-hidden": !0, className: "label" }, (0, s.default)(a.label)), l), i.default.createElement("div", { className: "value" }, (0, s.default)(o)), i.default.createElement(u.default, null)), i.default.createElement("input", { id: "" + a.label, "aria-label": a.ariaLabel, "aria-valuemax": r.sliderData.limit + parseFloat(r.sliderData.step), "aria-valuemin": 0, "aria-valuenow": r.value, max: r.sliderData.limit + parseFloat(r.sliderData.step), min: 0, onChange: this.onChange, ref: function (t) {e.inputRef = t;}, step: r.sliderData.step, type: "range", value: r.value }));} }]), t;}(i.default.Component);d.propTypes = { className: a.default.string.isRequired, data: a.default.shape({ category: a.default.string.isRequired, key: a.default.string.isRequired, sliderData: l.sliderDataType.isRequired, value: a.default.string.isRequired }).isRequired, functions: a.default.shape({ handleChange: a.default.func.isRequired }).isRequired, texts: l.anySliderTextsType.isRequired }, d.defaultProps = {}, t.default = d;}, function (e, t, n) {var r;window, r = function () {return function (e) {var t = {};function n(r) {if (t[r]) return t[r].exports;var i = t[r] = { i: r, l: !1, exports: {} };return e[r].call(i.exports, i, i.exports, n), i.l = !0, i.exports;}return n.m = e, n.c = t, n.d = function (e, t, r) {n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r });}, n.r = function (e) {"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 });}, n.t = function (e, t) {if (1 & t && (e = n(e)), 8 & t) return e;if (4 & t && "object" == typeof e && e && e.__esModule) return e;var r = Object.create(null);if (n.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var i in e) n.d(r, i, function (t) {return e[t];}.bind(null, i));return r;}, n.n = function (e) {var t = e && e.__esModule ? function () {return e.default;} : function () {return e;};return n.d(t, "a", t), t;}, n.o = function (e, t) {return Object.prototype.hasOwnProperty.call(e, t);}, n.p = "", n(n.s = "./src/range-slider.js");}({ "./src/range-slider.css":
      /*!******************************!*\
        !*** ./src/range-slider.css ***!
        \******************************/
      /*! no static exports found */function (e, t, n) {}, "./src/range-slider.js":
      /*!*****************************!*\
        !*** ./src/range-slider.js ***!
        \*****************************/
      /*! no static exports found */function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = o(n( /*! ./utils/dom */"./src/utils/dom.js")),a = o(n( /*! ./utils/functions */"./src/utils/functions.js"));function o(e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}n( /*! ./range-slider.css */"./src/range-slider.css");var s = new RegExp("/[\\n\\t]/", "g"),l = i.supportsRange(),u = { polyfill: !0, root: document, rangeClass: "rangeSlider", disabledClass: "rangeSlider--disabled", fillClass: "rangeSlider__fill", bufferClass: "rangeSlider__buffer", handleClass: "rangeSlider__handle", startEvent: ["mousedown", "touchstart", "pointerdown"], moveEvent: ["mousemove", "touchmove", "pointermove"], endEvent: ["mouseup", "touchend", "pointerup"], min: null, max: null, step: null, value: null, buffer: null, stick: null, borderRadius: 10, vertical: !1 },c = !1,d = function () {function e(t, n) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, e);var r = void 0,o = void 0,s = void 0;if (e.instances.push(this), this.element = t, this.options = a.simpleExtend(u, n), this.polyfill = this.options.polyfill, this.vertical = this.options.vertical, this.onInit = this.options.onInit, this.onSlide = this.options.onSlide, this.onSlideStart = this.options.onSlideStart, this.onSlideEnd = this.options.onSlideEnd, this.onSlideEventsCount = -1, this.isInteractsNow = !1, this.needTriggerEvents = !1, this._addVerticalSlideScrollFix(), this.polyfill || !l) {this.options.buffer = this.options.buffer || parseFloat(this.element.getAttribute("data-buffer")), this.identifier = "js-rangeSlider-" + a.uuid(), this.min = a.getFirsNumberLike(this.options.min, parseFloat(this.element.getAttribute("min")), 0), this.max = a.getFirsNumberLike(this.options.max, parseFloat(this.element.getAttribute("max")), 100), this.value = a.getFirsNumberLike(this.options.value, this.element.value, parseFloat(this.element.value || this.min + (this.max - this.min) / 2)), this.step = a.getFirsNumberLike(this.options.step, parseFloat(this.element.getAttribute("step")) || (r = 1)), this.percent = null, a.isArray(this.options.stick) && this.options.stick.length >= 1 ? this.stick = this.options.stick : (o = this.element.getAttribute("stick")) && (s = o.split(" ")).length >= 1 && (this.stick = s.map(parseFloat)), this.stick && 1 === this.stick.length && this.stick.push(1.5 * this.step), this._updatePercentFromValue(), this.toFixed = this._toFixed(this.step);var c = void 0;this.container = document.createElement("div"), i.addClass(this.container, this.options.fillClass), c = this.vertical ? this.options.fillClass + "__vertical" : this.options.fillClass + "__horizontal", i.addClass(this.container, c), this.handle = document.createElement("div"), i.addClass(this.handle, this.options.handleClass), c = this.vertical ? this.options.handleClass + "__vertical" : this.options.handleClass + "__horizontal", i.addClass(this.handle, c), this.range = document.createElement("div"), i.addClass(this.range, this.options.rangeClass), this.range.id = this.identifier;var d = t.getAttribute("title");d && d.length > 0 && this.range.setAttribute("title", d), this.options.bufferClass && (this.buffer = document.createElement("div"), i.addClass(this.buffer, this.options.bufferClass), this.range.appendChild(this.buffer), c = this.vertical ? this.options.bufferClass + "__vertical" : this.options.bufferClass + "__horizontal", i.addClass(this.buffer, c)), this.range.appendChild(this.container), this.range.appendChild(this.handle), c = this.vertical ? this.options.rangeClass + "__vertical" : this.options.rangeClass + "__horizontal", i.addClass(this.range, c), a.isNumberLike(this.options.value) && (this._setValue(this.options.value, !0), this.element.value = this.options.value), a.isNumberLike(this.options.buffer) && this.element.setAttribute("data-buffer", this.options.buffer), a.isNumberLike(this.options.min) && this.element.setAttribute("min", "" + this.min), a.isNumberLike(this.options.max), this.element.setAttribute("max", "" + this.max), (a.isNumberLike(this.options.step) || r) && this.element.setAttribute("step", "" + this.step), i.insertAfter(this.element, this.range), i.setCss(this.element, { position: "absolute", width: "1px", height: "1px", overflow: "hidden", opacity: "0" }), this._handleDown = this._handleDown.bind(this), this._handleMove = this._handleMove.bind(this), this._handleEnd = this._handleEnd.bind(this), this._startEventListener = this._startEventListener.bind(this), this._changeEventListener = this._changeEventListener.bind(this), this._handleResize = this._handleResize.bind(this), this._init(), window.addEventListener("resize", this._handleResize, !1), i.addEventListeners(this.options.root, this.options.startEvent, this._startEventListener), this.element.addEventListener("change", this._changeEventListener, !1);}}return r(e, [{ key: "update", value: function (e, t) {return t && (this.needTriggerEvents = !0), a.isObject(e) && (a.isNumberLike(e.min) && (this.element.setAttribute("min", "" + e.min), this.min = e.min), a.isNumberLike(e.max) && (this.element.setAttribute("max", "" + e.max), this.max = e.max), a.isNumberLike(e.step) && (this.element.setAttribute("step", "" + e.step), this.step = e.step, this.toFixed = this._toFixed(e.step)), a.isNumberLike(e.buffer) && this._setBufferPosition(e.buffer), a.isNumberLike(e.value) && this._setValue(e.value)), this._update(), this.onSlideEventsCount = 0, this.needTriggerEvents = !1, this;} }, { key: "destroy", value: function () {var t = this;i.removeAllListenersFromEl(this, this.options.root), window.removeEventListener("resize", this._handleResize, !1), this.element.removeEventListener("change", this._changeEventListener, !1), this.element.style.cssText = "", delete this.element.rangeSlider, this.range && this.range.parentNode.removeChild(this.range), e.instances = e.instances.filter(function (e) {return e !== t;}), e.instances.some(function (e) {return e.vertical;}) || this._removeVerticalSlideScrollFix();} }, { key: "_toFixed", value: function (e) {return (e + "").replace(".", "").length - 1;} }, { key: "_init", value: function () {this.onInit && "function" == typeof this.onInit && this.onInit(), this._update(!1);} }, { key: "_updatePercentFromValue", value: function () {this.percent = (this.value - this.min) / (this.max - this.min);} }, { key: "_startEventListener", value: function (e, t) {var n = this,r = e.target,a = !1;(1 === e.which || "touches" in e) && (i.forEachAncestors(r, function (e) {return a = e.id === n.identifier && !i.hasClass(e, n.options.disabledClass);}, !0), a && this._handleDown(e, t));} }, { key: "_changeEventListener", value: function (e, t) {if (!t || t.origin !== this.identifier) {var n = e.target.value,r = this._getPositionFromValue(n);this._setPosition(r);}} }, { key: "_update", value: function (e) {var t = this.vertical ? "offsetHeight" : "offsetWidth";this.handleSize = i.getDimension(this.handle, t), this.rangeSize = i.getDimension(this.range, t), this.maxHandleX = this.rangeSize - this.handleSize, this.grabX = this.handleSize / 2, this.position = this._getPositionFromValue(this.value), this.element.disabled ? i.addClass(this.range, this.options.disabledClass) : i.removeClass(this.range, this.options.disabledClass), this._setPosition(this.position), this.options.bufferClass && this.options.buffer && this._setBufferPosition(this.options.buffer), this._updatePercentFromValue(), !1 !== e && i.triggerEvent(this.element, "change", { origin: this.identifier });} }, { key: "_addVerticalSlideScrollFix", value: function () {this.vertical && !c && (document.addEventListener("touchmove", e._touchMoveScrollHandler, { passive: !1 }), c = !0);} }, { key: "_removeVerticalSlideScrollFix", value: function () {document.removeEventListener("touchmove", e._touchMoveScrollHandler), c = !1;} }, { key: "_handleResize", value: function () {var e = this;return a.debounce(function () {a.delay(function () {e._update();}, 300);}, 50)();} }, { key: "_handleDown", value: function (e) {if (this.isInteractsNow = !0, e.preventDefault(), i.addEventListeners(this.options.root, this.options.moveEvent, this._handleMove), i.addEventListeners(this.options.root, this.options.endEvent, this._handleEnd), !((" " + e.target.className + " ").replace(s, " ").indexOf(this.options.handleClass) > -1)) {var t = this.range.getBoundingClientRect(),n = this._getRelativePosition(e),r = this.vertical ? t.bottom : t.left,a = this._getPositionFromNode(this.handle) - r,o = n - this.grabX;this._setPosition(o), n >= a && n < a + 2 * this.options.borderRadius && (this.grabX = n - a), this._updatePercentFromValue();}} }, { key: "_handleMove", value: function (e) {var t = this._getRelativePosition(e);this.isInteractsNow = !0, e.preventDefault(), this._setPosition(t - this.grabX);} }, { key: "_handleEnd", value: function (t) {t.preventDefault(), i.removeEventListeners(this.options.root, this.options.moveEvent, this._handleMove), i.removeEventListeners(this.options.root, this.options.endEvent, this._handleEnd), i.triggerEvent(this.element, "change", { origin: this.identifier }), (this.isInteractsNow || this.needTriggerEvents) && (this.onSlideEnd && "function" == typeof this.onSlideEnd && this.onSlideEnd(this.value, this.percent, this.position), this.vertical && (e.slidingVertically = !1)), this.onSlideEventsCount = 0, this.isInteractsNow = !1;} }, { key: "_setPosition", value: function (t) {var n,r = void 0,i = void 0,o = void 0,s = this._getValueFromPosition(a.between(t, 0, this.maxHandleX));this.stick && ((i = s % (o = this.stick[0])) < (r = this.stick[1] || .1) ? s -= i : Math.abs(o - i) < r && (s = s - i + o)), n = this._getPositionFromValue(s), this.vertical ? (this.container.style.height = n + this.grabX + "px", this.handle.style.webkitTransform = "translateY(-" + n + "px)", this.handle.style.msTransform = "translateY(-" + n + "px)", this.handle.style.transform = "translateY(-" + n + "px)") : (this.container.style.width = n + this.grabX + "px", this.handle.style.webkitTransform = "translateX(" + n + "px)", this.handle.style.msTransform = "translateX(" + n + "px)", this.handle.style.transform = "translateX(" + n + "px)"), this._setValue(s), this.position = n, this.value = s, this._updatePercentFromValue(), (this.isInteractsNow || this.needTriggerEvents) && (this.onSlideStart && "function" == typeof this.onSlideStart && 0 === this.onSlideEventsCount && this.onSlideStart(this.value, this.percent, this.position), this.onSlide && "function" == typeof this.onSlide && this.onSlide(this.value, this.percent, this.position), this.vertical && (e.slidingVertically = !0)), this.onSlideEventsCount++;} }, { key: "_setBufferPosition", value: function (e) {var t = !0;if (isFinite(e)) e = parseFloat(e);else {if (!a.isString(e)) return void console.warn("New position must be XXpx or XX%");e.indexOf("px") > 0 && (t = !1), e = parseFloat(e);}if (isNaN(e)) console.warn("New position is NaN");else if (this.options.bufferClass) {var n = t ? e : e / this.rangeSize * 100;n < 0 && (n = 0), n > 100 && (n = 100), this.options.buffer = n;var r = this.options.borderRadius / this.rangeSize * 100,i = n - r;i < 0 && (i = 0), this.vertical ? (this.buffer.style.height = i + "%", this.buffer.style.bottom = .5 * r + "%") : (this.buffer.style.width = i + "%", this.buffer.style.left = .5 * r + "%"), this.element.setAttribute("data-buffer", n);} else console.warn("You disabled buffer, it's className is empty");} }, { key: "_getPositionFromNode", value: function (e) {for (var t = this.vertical ? this.maxHandleX : 0; null !== e;) t += this.vertical ? e.offsetTop : e.offsetLeft, e = e.offsetParent;return t;} }, { key: "_getRelativePosition", value: function (e) {var t = this.range.getBoundingClientRect(),n = this.vertical ? t.bottom : t.left,r = 0,i = this.vertical ? "pageY" : "pageX";return void 0 !== e[i] ? r = e.touches && e.touches.length ? e.touches[0][i] : e[i] : void 0 !== e.originalEvent ? void 0 !== e.originalEvent[i] ? r = e.originalEvent[i] : e.originalEvent.touches && e.originalEvent.touches[0] && void 0 !== e.originalEvent.touches[0][i] && (r = e.originalEvent.touches[0][i]) : e.touches && e.touches[0] && void 0 !== e.touches[0][i] ? r = e.touches[0][i] : !e.currentPoint || void 0 === e.currentPoint.x && void 0 === e.currentPoint.y || (r = this.vertical ? e.currentPoint.y : e.currentPoint.x), this.vertical && (r -= window.pageYOffset), this.vertical ? n - r : r - n;} }, { key: "_getPositionFromValue", value: function (e) {var t = (e - this.min) / (this.max - this.min) * this.maxHandleX;return isNaN(t) ? 0 : t;} }, { key: "_getValueFromPosition", value: function (e) {var t = e / (this.maxHandleX || 1),n = this.step * Math.round(t * (this.max - this.min) / this.step) + this.min;return Number(n.toFixed(this.toFixed));} }, { key: "_setValue", value: function (e, t) {(e !== this.value || t) && (this.element.value = e, this.value = e, i.triggerEvent(this.element, "input", { origin: this.identifier }));} }], [{ key: "create", value: function (t, n) {var r = function (t) {var r = t.rangeSlider;r || (r = new e(t, n), t.rangeSlider = r);};t.length ? Array.prototype.slice.call(t).forEach(function (e) {r(e);}) : r(t);} }, { key: "_touchMoveScrollHandler", value: function (t) {e.slidingVertically && t.preventDefault();} }]), e;}();t.default = d, d.version = "0.4.11", d.dom = i, d.functions = a, d.instances = [], d.slidingVertically = !1, e.exports = t.default;}, "./src/utils/dom.js":
      /*!**************************!*\
        !*** ./src/utils/dom.js ***!
        \**************************/
      /*! no static exports found */function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.supportsRange = t.removeAllListenersFromEl = t.removeEventListeners = t.addEventListeners = t.insertAfter = t.triggerEvent = t.forEachAncestors = t.removeClass = t.addClass = t.hasClass = t.setCss = t.getDimension = t.getHiddenParentNodes = t.isHidden = t.detectIE = void 0;var r = function (e) {if (e && e.__esModule) return e;var t = {};if (null != e) for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n]);return t.default = e, t;}(n( /*! ./functions */"./src/utils/functions.js")),i = (t.detectIE = function () {var e = window.navigator.userAgent,t = e.indexOf("MSIE ");if (t > 0) return parseInt(e.substring(t + 5, e.indexOf(".", t)), 10);if (e.indexOf("Trident/") > 0) {var n = e.indexOf("rv:");return parseInt(e.substring(n + 3, e.indexOf(".", n)), 10);}var r = e.indexOf("Edge/");return r > 0 && parseInt(e.substring(r + 5, e.indexOf(".", r)), 10);})(),a = !(!window.PointerEvent || i) && { passive: !1 },o = t.isHidden = function (e) {return 0 === e.offsetWidth || 0 === e.offsetHeight || !1 === e.open;},s = t.getHiddenParentNodes = function (e) {for (var t = [], n = e.parentNode; n && o(n);) t.push(n), n = n.parentNode;return t;},l = (t.getDimension = function (e, t) {var n = s(e),r = n.length,i = [],a = e[t],o = function (e) {void 0 !== e.open && (e.open = !e.open);};if (r) {for (var l = 0; l < r; l++) i.push({ display: n[l].style.display, height: n[l].style.height, overflow: n[l].style.overflow, visibility: n[l].style.visibility }), n[l].style.display = "block", n[l].style.height = "0", n[l].style.overflow = "hidden", n[l].style.visibility = "hidden", o(n[l]);a = e[t];for (var u = 0; u < r; u++) o(n[u]), n[u].style.display = i[u].display, n[u].style.height = i[u].height, n[u].style.overflow = i[u].overflow, n[u].style.visibility = i[u].visibility;}return a;}, t.setCss = function (e, t) {for (var n in t) e.style[n] = t[n];return e.style;}, t.hasClass = function (e, t) {return new RegExp(" " + t + " ").test(" " + e.className + " ");});t.addClass = function (e, t) {l(e, t) || (e.className += " " + t);}, t.removeClass = function (e, t) {var n = " " + e.className.replace(/[\t\r\n]/g, " ") + " ";if (l(e, t)) {for (; n.indexOf(" " + t + " ") >= 0;) n = n.replace(" " + t + " ", " ");e.className = n.replace(/^\s+|\s+$/g, "");}}, t.forEachAncestors = function (e, t, n) {for (n && t(e); e.parentNode && !t(e);) e = e.parentNode;return e;}, t.triggerEvent = function (e, t, n) {if (!r.isString(t)) throw new TypeError("event name must be String");if (!(e instanceof HTMLElement)) throw new TypeError("element must be HTMLElement");t = t.trim();var i = document.createEvent("CustomEvent");i.initCustomEvent(t, !1, !1, n), e.dispatchEvent(i);}, t.insertAfter = function (e, t) {return e.parentNode.insertBefore(t, e.nextSibling);}, t.addEventListeners = function (e, t, n) {t.forEach(function (t) {e.eventListenerList || (e.eventListenerList = {}), e.eventListenerList[t] || (e.eventListenerList[t] = []), e.addEventListener(t, n, a), e.eventListenerList[t].indexOf(n) < 0 && e.eventListenerList[t].push(n);});}, t.removeEventListeners = function (e, t, n) {t.forEach(function (t) {var r = void 0;e.removeEventListener(t, n, !1), e.eventListenerList && e.eventListenerList[t] && (r = e.eventListenerList[t].indexOf(n)) > -1 && e.eventListenerList[t].splice(r, 1);});}, t.removeAllListenersFromEl = function (e, t) {if (t.eventListenerList) {for (var n in t.eventListenerList) t.eventListenerList[n].forEach(r, { eventName: n, el: t });t.eventListenerList = {};}function r(t) {t === e._startEventListener && this.el.removeEventListener(this.eventName, t, !1);}}, t.supportsRange = function () {var e = document.createElement("input");return e.setAttribute("type", "range"), "text" !== e.type;};}, "./src/utils/functions.js":
      /*!********************************!*\
        !*** ./src/utils/functions.js ***!
        \********************************/
      /*! no static exports found */function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 }), t.uuid = function () {var e = function () {return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1);};return e() + e() + "-" + e() + "-" + e() + "-" + e() + "-" + e() + e() + e();}, t.delay = function (e, t) {for (var n = arguments.length, r = Array(n > 2 ? n - 2 : 0), i = 2; i < n; i++) r[i - 2] = arguments[i];return setTimeout(function () {return e.apply(null, r);}, t);}, t.debounce = function (e) {var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 100;return function () {for (var n = arguments.length, r = Array(n), i = 0; i < n; i++) r[i] = arguments[i];return e.debouncing || (e.lastReturnVal = e.apply(window, r), e.debouncing = !0), clearTimeout(e.debounceTimeout), e.debounceTimeout = setTimeout(function () {e.debouncing = !1;}, t), e.lastReturnVal;};};var r = t.isString = function (e) {return e === "" + e;},i = (t.isArray = function (e) {return "[object Array]" === Object.prototype.toString.call(e);}, t.isNumberLike = function (e) {return null != e && (r(e) && isFinite(parseFloat(e)) || isFinite(e));});t.getFirsNumberLike = function () {for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n];if (!t.length) return null;for (var r = 0, a = t.length; r < a; r++) if (i(t[r])) return t[r];return null;}, t.isObject = function (e) {return "[object Object]" === Object.prototype.toString.call(e);}, t.simpleExtend = function (e, t) {var n = {};for (var r in e) n[r] = e[r];for (var i in t) n[i] = t[i];return n;}, t.between = function (e, t, n) {return e < t ? t : e > n ? n : e;};} });}, e.exports = r();}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = T(n(0)),o = T(n(1)),s = T(n(39)),l = n(60),u = n(5),c = n(51),d = n(7),f = n(2),p = T(n(29)),h = T(n(8)),g = T(n(17)),m = T(n(13)),b = T(n(30)),v = T(n(33)),_ = T(n(42)),y = T(n(6)),S = T(n(28)),x = T(n(12)),E = T(n(227));function T(e) {return e && e.__esModule ? e : { default: e };}function w(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function C(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var O = function (e) {function t() {return w(this, t), C(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentWillMount", value: function () {var e = this.props,t = e.currencies,n = e.data,r = e.freeAmounts;this.freeAmount = (0, l.getFreeAmount)(n, r), this.currencies = t;} }, { key: "componentDidMount", value: function () {(0, h.default)(this.props.appId + "-container");} }, { key: "_checkGoods", value: function () {var e = this.props.data;return e.goods.value !== c.GOODS_LESS_THAN_FREE_AMOUNT && !(e.country.eu && !e.country.special) && e.goods.selectedGoodsBar.map(function (e) {return Boolean(e.text);}).indexOf(!1) > -1;} }, { key: "_renderBillingAmount", value: function () {var e = this.props,t = e.data,n = e.texts,r = null;if (t.goods.value === c.GOODS_MORE_THAN_FREE_AMOUNT) {var i = (0, l.calculateBillingAmount)(t),o = i > 0 ? "billingAmount red" : "billingAmount green";i = (0, s.default)(i, n.currencySigns.euro), r = a.default.createElement("div", null, a.default.createElement(x.default, { text: n.billingAmount, htmlTextWrapping: d.SELECT_GOODS_BILLING_AMOUNT_H2, htmlTextWrappingClassName: "billingAmountHeading" }), a.default.createElement(x.default, { className: o, text: i }));}return r;} }, { key: "_renderSelectGoodsContainer", value: function () {var e = this.props,t = e.data,n = e.functions,i = e.icons,o = e.navTargets,s = e.optionData,l = e.texts,u = null;return t.goods.value === c.GOODS_MORE_THAN_FREE_AMOUNT && (u = a.default.createElement(E.default, { functions: { addSelectedGoods: n.addSelectedGoods, deleteSelectedGoods: n.deleteSelectedGoods, handleCurrencyChange: n.handleCurrencyChange, handleCurrencyAmountChange: n.handleCurrencyAmountChange, handleCurrencyInputFieldBlur: n.handleCurrencyInputFieldBlur, handleCurrencyInputFieldFocus: n.handleCurrencyInputFieldFocus, handlePopupChange: n.handlePopupChange, handleSelectGoodsSelection: n.handleSelectGoodsSelection, handleSelectGoodsSearchFieldInputValueChange: n.handleSelectGoodsSearchFieldInputValueChange }, icons: i, data: t, optionData: s, texts: r({}, l.selectGoodsContainer, l.select, { currencySigns: l.currencySigns, typeaheadButtonDescription: l.typeaheadButtonDescription, calculatorSelectGoodsCurrencyInput: l.calculatorSelectGoodsCurrencyInput, calculatorSelectGoodsCurrencyDropdown: l.calculatorSelectGoodsCurrencyDropdown, calculatorSelectGoodsCurrencyInEuro: l.calculatorSelectGoodsCurrencyInEuro, calculatorSelectGoodsGoodsSelection: l.calculatorSelectGoodsGoodsSelection, calculatorSelectGoodsAddGoodsBar: l.calculatorSelectGoodsAddGoodsBar, selected: l.selected, notSelected: l.notSelected }), currencies: this.currencies, navTargets: o })), u;} }, { key: "_renderBottomText", value: function () {var e = this.props,t = e.data,n = e.icons,r = e.texts,i = a.default.createElement("div", { className: "textBoxContainer" }, a.default.createElement(S.default, { icons: { confirm: n.confirm, warning: n.warning }, texts: { alertBox: r.bottomText.limitNotExceededGoods1 + " " + (0, s.default)(this.freeAmount, r.currencySigns.euro) + " " + r.bottomText.limitNotExceededGoods2, attention: r.attention }, type: u.OK }));return t.goods.value === c.GOODS_MORE_THAN_FREE_AMOUNT && (i = a.default.createElement("div", { className: "textBoxContainer" })), i;} }, { key: "_renderRadioButtons", value: function () {var e = this.props,t = e.data,n = e.functions,r = e.texts;return a.default.createElement("div", { className: "radioButtonsContainer", role: "radiogroup" }, a.default.createElement(_.default, { functions: { handleSelection: n.handleSelectGoodsRadioButtonSelection }, checked: t.goods.value === c.GOODS_LESS_THAN_FREE_AMOUNT, texts: { top: r.radioButton1.top + " " + (0, s.default)(this.freeAmount, r.currencySigns.euro) }, id: c.GOODS_LESS_THAN_FREE_AMOUNT, name: "selectGoods", dataParam: c.GOODS_LESS_THAN_FREE_AMOUNT, dataText: r.radioButton1.top }), a.default.createElement(_.default, { functions: { handleSelection: n.handleSelectGoodsRadioButtonSelection }, checked: t.goods.value === c.GOODS_MORE_THAN_FREE_AMOUNT, texts: { top: r.radioButton2.top + " " + (0, s.default)(this.freeAmount, r.currencySigns.euro) }, id: c.GOODS_MORE_THAN_FREE_AMOUNT, name: "selectGoods", dataParam: c.GOODS_MORE_THAN_FREE_AMOUNT, dataText: r.radioButton2.top }));} }, { key: "_renderTitle", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.icons,i = e.navTargets,o = e.texts;return a.default.createElement(y.default, { appId: t, preventFocus: !0, texts: { title: o.title, back: o.buttons.back }, imgSrc: r.info, navTargets: { back: i.back, infoPopup: u.CALCULATOR_SELECT_GOODS_INFO_POPUP }, functions: { handlePopupChange: n.handlePopupChange, handleScreenChange: n.handleScreenChange }, htmlTextWrapping: d.TITLE_TEXT_WRAPPING_H1 });} }, { key: "_renderSelectedCriteriaScreenReader", value: function (e) {var t = this.props,n = t.activeStep,r = t.texts;return a.default.createElement(v.default, { activeStep: n, data: e, texts: r.selectedCriteria });} }, { key: "_renderFromEurope", value: function () {var e = this.props,t = e.icons,n = e.texts;return a.default.createElement("div", { className: "textBoxContainer" }, a.default.createElement(S.default, { icons: { confirm: t.confirm, warning: t.warning }, texts: { alertBox: n.fromEuropeTextBox, attention: n.attention }, type: u.OK }));} }, { key: "_renderContent", value: function (e) {var t = this.props,n = t.data,r = t.texts,i = a.default.createElement("div", null, this._renderTitle(), this._renderSelectedCriteriaScreenReader(e), this._renderRadioButtons(this.freeAmount), a.default.createElement("div", null, this._renderSelectGoodsContainer()), a.default.createElement("div", { className: "billingAmountContainer row", tabIndex: 0 }, a.default.createElement("div", { "aria-live": "polite", className: "small-12 columns" }, this._renderBottomText((0, s.default)(this.freeAmount, r.currencySigns.euro))), a.default.createElement("div", { "aria-live": "polite", className: "small-12 columns" }, this._renderBillingAmount())));return n.country.eu && !n.country.specialZone && (i = a.default.createElement("div", null, this._renderTitle(), this._renderSelectedCriteriaScreenReader(e), this._renderFromEurope())), i;} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.data,i = e.functions,o = e.navTargets,s = e.texts,l = (0, p.default)(r),c = this._checkGoods();return a.default.createElement("div", { className: "calculatorSelectGoods" }, a.default.createElement(g.default, { activeStep: t, functions: { handleScreenChange: i.handleScreenChange }, texts: s.stepper }), a.default.createElement(b.default, { activeStep: t, data: l, texts: s.selectedCriteria, type: u.TOP_BAR }), this._renderContent(l), a.default.createElement(m.default, { appId: n, texts: s.buttons, functions: { handleScreenChange: i.handleScreenChange }, navTargets: o, continueButtonDisabled: c, resetButton: !0 }));} }]), t;}(a.default.Component);O.propTypes = { activeStep: o.default.number.isRequired, appId: o.default.string.isRequired, currencies: o.default.arrayOf(f.currencyType.isRequired).isRequired, data: f.fullDataObjectType.isRequired, functions: o.default.shape({ addSelectedGoods: o.default.func.isRequired, deleteSelectedGoods: o.default.func.isRequired, handleCurrencyChange: o.default.func.isRequired, handleCurrencyAmountChange: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired, handleScreenChange: o.default.func.isRequired, handleSelectGoodsRadioButtonSelection: o.default.func.isRequired }).isRequired, freeAmounts: f.freeAmountsType.isRequired, icons: o.default.shape({ back: o.default.string.isRequired, info: o.default.string.isRequired, close: o.default.string.isRequired, delete: o.default.string.isRequired }).isRequired, navTargets: o.default.shape({ back: o.default.string.isRequired, continue: o.default.string.isRequired, infoPopup: o.default.string.isRequired }).isRequired, optionData: o.default.arrayOf(f.categoryDataType.isRequired).isRequired, texts: o.default.shape({ billingAmount: o.default.string.isRequired, bottomText: o.default.shape({ limitNotExceededGoods1: o.default.string.isRequired, limitNotExceededGoods2: o.default.string.isRequired }).isRequired, buttons: f.buttonBarTextsType.isRequired, currencySigns: o.default.shape({ euro: o.default.string.isRequired }), fromEuropeTextBox: o.default.string.isRequired, infoPopup: o.default.shape({ eu: f.infoPopupTextsType.isRequired, notEu: f.infoPopupTextsType.isRequired }).isRequired, radioButton1: f.radioButtonTextsType.isRequired, radioButton2: f.radioButtonTextsType.isRequired, selectGoodsContainer: o.default.shape({ addGoodsBarButton: o.default.string.isRequired, selectedGoodsBar: f.selectGoodsBarTextsType, title: o.default.string.isRequired }).isRequired }).isRequired }, O.defaultProps = {}, t.default = O;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = d(n(0)),o = d(n(1)),s = d(n(6)),l = d(n(228)),u = d(n(232)),c = n(2);function d(e) {return e && e.__esModule ? e : { default: e };}var f = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.selectGoodsBarRef = {}, n.focusSelectGoodsTypeahead = n.focusSelectGoodsTypeahead.bind(n), n.onAddSelectGoods = n.onAddSelectGoods.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "onAddSelectGoods", value: function (e) {this.props.functions.addSelectedGoods(e, this.props.currencies);} }, { key: "focusSelectGoodsTypeahead", value: function () {this.selectGoodsBarRef.focusSelectGoodsTypeahead();} }, { key: "_renderSelectGoodsBars", value: function () {var e = this,t = this.props,n = t.currencies,i = t.data,o = t.functions,s = t.icons,u = t.navTargets,c = t.optionData,d = t.texts;return i.goods.selectedGoodsBar.map(function (t, i) {var f = "selectGoodsBar" + i;return a.default.createElement(l.default, { currencies: n, data: t, optionData: c, key: f, dataParam: i, functions: { deleteSelectedGoods: o.deleteSelectedGoods, handleCurrencyChange: o.handleCurrencyChange, handleCurrencyAmountChange: o.handleCurrencyAmountChange, handleCurrencyInputFieldBlur: o.handleCurrencyInputFieldBlur, handlePopupChange: o.handlePopupChange, handleSelectGoodsSelection: o.handleSelectGoodsSelection, handleSelectGoodsSearchFieldInputValueChange: o.handleSelectGoodsSearchFieldInputValueChange, handleCurrencyInputFieldFocus: o.handleCurrencyInputFieldFocus }, hide: !0, icons: s, navTargets: u, ref: function (t) {e.selectGoodsBarRef = t;}, texts: r({}, d.selectGoodsBar, { placeholder: d.placeholder, noResults: d.noResults, currencySigns: d.currencySigns, typeaheadButtonDescription: d.typeaheadButtonDescription, calculatorSelectGoodsCurrencyInput: d.calculatorSelectGoodsCurrencyInput, calculatorSelectGoodsCurrencyDropdown: d.calculatorSelectGoodsCurrencyDropdown, calculatorSelectGoodsCurrencyInEuro: d.calculatorSelectGoodsCurrencyInEuro, calculatorSelectGoodsGoodsSelection: d.calculatorSelectGoodsGoodsSelection, selected: d.selected, notSelected: d.notSelected }) });});} }, { key: "render", value: function () {var e = this.props.texts;return a.default.createElement("div", { className: "selectGoodsContainer" }, a.default.createElement(s.default, { texts: { text: e.title }, preventFocus: !0 }), this._renderSelectGoodsBars(), a.default.createElement("div", { className: "addGoodsButtonContainer" }, a.default.createElement(u.default, { className: "addSelectGoodsBarButton c-button", functions: { handleClick: this.onAddSelectGoods, focusSelectGoodsTypeahead: this.focusSelectGoodsTypeahead }, texts: { buttonText: e.addGoodsBarButton, ariaLabel: e.calculatorSelectGoodsAddGoodsBar } })));} }]), t;}(a.default.Component);f.propTypes = { currencies: o.default.arrayOf(c.currencyType.isRequired).isRequired, data: c.fullDataObjectType.isRequired, functions: o.default.shape({ addSelectedGoods: o.default.func.isRequired, deleteSelectedGoods: o.default.func.isRequired, handleCurrencyChange: o.default.func.isRequired, handleCurrencyAmountChange: o.default.func.isRequired, handleCurrencyInputFieldFocus: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired }).isRequired, icons: o.default.shape({ info: o.default.string.isRequired, close: o.default.string.isRequired }).isRequired, navTargets: o.default.shape({ back: o.default.string.isRequired, continue: o.default.string.isRequired, infoPopup: o.default.string.isRequired }).isRequired, optionData: o.default.arrayOf(c.categoryDataType.isRequired).isRequired, texts: o.default.shape({ addGoodsBarButton: o.default.string.isRequired, currencySigns: o.default.shape({ euro: o.default.string.isRequired }).isRequired, selectGoodsBar: c.selectGoodsBarTextsType.isRequired, title: o.default.string.isRequired, selected: o.default.string.isRequired, notSelected: o.default.string.isRequired }).isRequired }, f.defaultProps = {}, t.default = f;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = h(n(0)),o = h(n(1)),s = n(2),l = h(n(229)),u = h(n(57)),c = h(n(27)),d = h(n(102)),f = n(231),p = n(60);function h(e) {return e && e.__esModule ? e : { default: e };}var g = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.selectGoodsTypeaheadRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "focusSelectGoodsTypeahead", value: function () {this.selectGoodsTypeaheadRef.focusDropdown();} }, { key: "render", value: function () {var e = this,t = this.props,n = t.currencies,i = t.data,o = t.dataParam,s = t.functions,h = t.icons,g = t.navTargets,m = t.optionData,b = t.texts;i.searchFieldInputValue = i.selectGoods.searchFieldInputValue;var v = m.reduce(function (e, t) {return e.concat(t.goods);}, []);return v = v.filter(function (e) {return e.productType === f.PRODCUT_TYPE_NO_RESTRICTION;}), a.default.createElement("div", { className: "selectGoodsBar" }, a.default.createElement(d.default, { ref: function (t) {e.selectGoodsTypeaheadRef = t;}, data: i, functions: { handleSelection: s.handleSelectGoodsSelection, disableContinueButton: s.disableContinueButton, handleInputValueChange: s.handleSelectGoodsSearchFieldInputValueChange }, icons: h, optionData: v, sortOptions: !0, popupIndex: o, texts: r({ typeaheadButtonDescription: b.typeaheadButtonDescription, dropdownPlaceholder: b.addGoods, placeholder: b.placeholder, noResults: b.noResults }, b.screenReader, { selected: b.selected, notSelected: b.notSelected }), useContainsFilter: !0 }), a.default.createElement(c.default, { className: "selectedGoodsInfoButton", dataParam: JSON.stringify({ popup: g.goodsPopup, index: o }), texts: { altText: b.infoGoodsBarAltText }, imgSrc: (0, p.isBargeldBarmittel)(i.text) ? h.warning : h.info, functions: { handlePopupChange: s.handlePopupChange } }), a.default.createElement(l.default, { currencies: n, functions: { handleChange: s.handleCurrencyChange, handleAmountChange: s.handleCurrencyAmountChange, handleCurrencyInputFieldBlur: s.handleCurrencyInputFieldBlur, handleCurrencyInputFieldFocus: s.handleCurrencyInputFieldFocus }, texts: r({}, b.currency, { currencySigns: b.currencySigns, calculatorSelectGoodsCurrencyInput: b.calculatorSelectGoodsCurrencyInput, calculatorSelectGoodsCurrencyDropdown: b.calculatorSelectGoodsCurrencyDropdown, calculatorSelectGoodsCurrencyInEuro: b.calculatorSelectGoodsCurrencyInEuro }), data: i.currency, dataParam: o.toString(), key: o.toString() }), a.default.createElement(u.default, { className: "deleteButton", dataParam: o.toString(), functions: { handleClick: s.deleteSelectedGoods }, imgSrc: h.delete, texts: { altText: b.deleteGoodsBarAltText } }));} }]), t;}(a.default.Component);g.propTypes = { currencies: o.default.arrayOf(s.currencyType.isRequired).isRequired, data: o.default.shape({ currency: s.currencyDataType.isRequired, selectGoods: o.default.shape({ searchFieldInputValue: o.default.string.isRequired }).isRequired }).isRequired, dataParam: o.default.number.isRequired, functions: o.default.shape({ deleteSelectedGoods: o.default.func.isRequired, handleCurrencyAmountChange: o.default.func.isRequired, handleCurrencyChange: o.default.func.isRequired, handleCurrencyInputFieldBlur: o.default.func.isRequired, handleCurrencyInputFieldFocus: o.default.func.isRequired, handlePopupChange: o.default.func.isRequired }).isRequired, icons: o.default.shape({ info: o.default.string.isRequired, delete: o.default.string.isRequired }).isRequired, navTargets: o.default.shape({ back: o.default.string.isRequired, continue: o.default.string.isRequired, goodsPopup: o.default.string.isRequired, infoPopup: o.default.string.isRequired, popup: o.default.string.isRequired }).isRequired, optionData: o.default.arrayOf(s.categoryDataType.isRequired).isRequired, texts: o.default.shape({ addGoods: o.default.string.isRequired, currency: o.default.shape({ placeholder: o.default.string.isRequired, resultCurrency: o.default.string.isRequired }).isRequired, deleteGoodsBarAltText: o.default.string.isRequired, infoGoodsBarAltText: o.default.string.isRequired, selected: o.default.string.isRequired, notSelected: o.default.string.isRequired }).isRequired }, g.defaultProps = {}, t.default = g;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(4)),s = c(n(230)),l = c(n(39)),u = n(2);function c(e) {return e && e.__esModule ? e : { default: e };}var d = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.inputRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidUpdate", value: function (e) {var t = this.props.data,n = t.cursorStart,r = t.cursorEnd;e.data.cursorStart === n && e.data.cursorEnd === r || this.inputRef.setSelectionRange(n, r);} }, { key: "render", value: function () {var e = this,t = this.props,n = t.currencies,r = t.data,a = t.dataParam,u = t.functions,c = t.texts,d = (0, l.default)(r.calculationValue / r.exchangeRate, c.currencySigns.euro);return i.default.createElement("div", { className: "selectCurrencyContainer" }, i.default.createElement(s.default, { addCssClass: "border", options: n, data: r, dataParam: a, functions: { handleChange: u.handleChange }, sortOptions: !0, texts: { calculatorSelectGoodsCurrencyDropdown: c.calculatorSelectGoodsCurrencyDropdown } }), i.default.createElement("input", { ref: function (t) {e.inputRef = t;}, "aria-label": c.calculatorSelectGoodsCurrencyInput, className: "currencyInput", type: "text", placeholder: c.placeholder, value: r.value, onChange: u.handleAmountChange, onBlur: u.handleCurrencyInputFieldBlur, onFocus: u.handleCurrencyInputFieldFocus, "data-param": a }), i.default.createElement("div", { className: "text", tabIndex: 0 }, i.default.createElement("span", { className: "aural" }, c.calculatorSelectGoodsCurrencyInEuro), (0, o.default)(d)));} }]), t;}(i.default.Component);d.propTypes = { currencies: a.default.arrayOf(u.currencyType.isRequired).isRequired, data: u.currencyDataType.isRequired, dataParam: a.default.string.isRequired, functions: a.default.shape({ handleAmountChange: a.default.func.isRequired, handleChange: a.default.func.isRequired, handleCurrencyInputFieldBlur: a.default.func.isRequired, handleCurrencyInputFieldFocus: a.default.func.isRequired }).isRequired, texts: a.default.shape({ currencySigns: a.default.shape({ euro: a.default.string.isRequired }).isRequired, placeholder: a.default.string.isRequired, resultCurrency: a.default.string.isRequired }).isRequired }, d.defaultProps = {}, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = l(n(0)),a = l(n(1)),o = n(2),s = l(n(59));function l(e) {return e && e.__esModule ? e : { default: e };}var u = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.handleChange = e.handleChange.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "handleChange", value: function (e) {var t = this.props,n = t.dataParam;t.functions.handleChange(e, n);} }, { key: "_renderOptions", value: function () {var e = this.props,t = e.options;return (e.sortOptions ? t.sort(function (e, t) {return (0, s.default)(e, t, "name");}) : t).map(function (e, t) {var n = e.name + t;return i.default.createElement("option", { key: n, value: JSON.stringify({ exchangeRate: e.exchangeRate, iso2: e.iso2, name: e.name }), label: e.name }, e.name);});} }, { key: "render", value: function () {var e = this.props,t = e.data,n = e.texts,r = "dropdown " + e.addCssClass;return i.default.createElement("select", { className: r, value: JSON.stringify({ exchangeRate: t.exchangeRate, iso2: t.iso2, name: t.name }), onChange: this.handleChange, "aria-label": n.calculatorSelectGoodsCurrencyDropdown }, this._renderOptions());} }]), t;}(i.default.Component);u.propTypes = { data: o.currencyDataType.isRequired, dataParam: a.default.string.isRequired, options: a.default.arrayOf(o.currencyType.isRequired).isRequired, functions: a.default.shape({ handleChange: a.default.func.isRequired }).isRequired, texts: a.default.shape({ calculatorSelectGoodsCurrencyDropdown: a.default.string.isRequired }).isRequired, addCssClass: a.default.string, sortOptions: a.default.bool }, u.defaultProps = { addCssClass: "", sortOptions: !1 }, t.default = u;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });t.PRODUCT_GROUP_OTHER_GOODS = "Andere Waren", t.PRODCUT_TYPE_NO_RESTRICTION = "keine besondere Einschränkung";}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(4));function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e._onClick = e._onClick.bind(e), e.state = { needsFocus: !1 }, e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidUpdate", value: function () {var e = this.props.functions;e.focusSelectGoodsTypeahead && this.state.needsFocus && (e.focusSelectGoodsTypeahead(), this.setState({ needsFocus: !1 }));} }, { key: "_onClick", value: function (e) {this.props.functions.handleClick(e), this.setState({ needsFocus: !0 });} }, { key: "render", value: function () {var e = this.props,t = e.className,n = e.texts;return i.default.createElement("button", { "aria-label": n.ariaLabel, className: t, onClick: this._onClick }, (0, o.default)(n.buttonText));} }]), t;}(i.default.Component);l.propTypes = { className: a.default.string.isRequired, functions: a.default.shape({ handleClick: a.default.func.isRequired }).isRequired, texts: a.default.shape({ ariaLabel: a.default.string, buttonText: a.default.string.isRequired }).isRequired }, t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = T(n(0)),o = T(n(1)),s = T(n(17)),l = T(n(13)),u = T(n(6)),c = T(n(12)),d = T(n(30)),f = n(5),p = T(n(28)),h = n(51),g = T(n(39)),m = n(60),b = T(n(52)),v = T(n(234)),_ = T(n(29)),y = T(n(8)),S = n(2),x = n(7),E = n(24);function T(e) {return e && e.__esModule ? e : { default: e };}var w = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)),r = e.data.country.eu && !e.data.country.specialZone;return n.limits = (0, b.default)(r, e.specialGoods), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentWillMount", value: function () {this.freeAmount = (0, m.getFreeAmount)(this.props.data, this.props.freeAmounts);} }, { key: "componentDidMount", value: function () {(0, y.default)(this.props.appId + "-container");} }, { key: "_calculateTaxPerGood", value: function () {var e = this.props,t = e.data,n = e.flatTaxRate,i = (0, m.calculateBillingAmount)(t),a = [];if (i > this.freeAmount) {var o = (0, m.findBestGoodsCombinationLesserEqualsLimit)(t, this.freeAmount);a = o.texts.length > 0 ? t.goods.selectedGoodsBar.filter(function (e, t) {return -1 === o.texts.indexOf(e.text) || -1 === o.originalIndexes.indexOf(t);}) : t.goods.selectedGoodsBar, a = i - o.euroValue <= n.flatTaxRateLimit ? a.map(function (e) {return r({ flatTaxValue: parseFloat(e.currency.calculationValue) / parseFloat(e.currency.exchangeRate) * (parseFloat(n.flatTaxRate) / 100), tax: parseFloat(e.currency.calculationValue) / parseFloat(e.currency.exchangeRate) * (parseFloat(n.flatTaxRate) / 100) }, e);}) : t.country.specialZone ? a.map(function (e) {var n = parseFloat(e.currency.calculationValue) / parseFloat(e.currency.exchangeRate),i = 0,a = !1;t.country.calcZoll && (i = "0.0" !== e.maxFlatTaxAmount ? parseFloat(e.maxFlatTaxAmount) : n * parseFloat(e.zollTax.replace(",", ".")), a = "0.0" !== e.maxFlatTaxAmount);var o = t.country.calcEuTax ? (n + i) * parseFloat(e.euTax.replace(",", ".")) : 0;return r({ zollTaxValue: i, euTaxValue: o, maxFlatTaxAmountUsed: a, tax: i + o }, e);}) : a.map(function (e) {var t = parseFloat(e.currency.calculationValue) / parseFloat(e.currency.exchangeRate),n = "0.0" !== e.maxFlatTaxAmount ? parseFloat(e.maxFlatTaxAmount) : t * parseFloat(e.zollTax.replace(",", ".")),i = "0.0" !== e.maxFlatTaxAmount,a = (t + n) * parseFloat(e.euTax.replace(",", "."));return r({ zollTaxValue: n, euTaxValue: a, maxFlatTaxAmountUsed: i, tax: n + a }, e);});}return a.filter(function (e) {return !(0, m.isBargeldBarmittel)(e.text);});} }, { key: "_renderSpecialGoodsTextBox", value: function () {var e = this.props,t = e.data,n = e.icons,r = e.texts,i = f.OK,o = r.textBoxSpecialGoods.noSpecialGoods,s = null,l = t.specialGoodsCategoriesExceedingLimit,u = t.specialGoodsCategoriesNotExceedingLimit,c = null;return u.length > 0 && 0 === l.length ? (c = (c = u.map(function (e) {return r.textBoxSpecialGoods[e + "Label"];})).toString().replace(/,/g, ", "), i = f.OK, o = "" + r.textBoxSpecialGoods.limitNotExceededSpecialGoods1 + c + r.textBoxSpecialGoods.limitNotExceededSpecialGoods2) : l.length > 0 && (c = (c = l.map(function (e) {return r.textBoxSpecialGoods[e + "Label"];})).toString().replace(/,/g, ", "), i = f.ALERT, o = r.textBoxSpecialGoods.limitExceededSpecialGoods1 + c + r.textBoxSpecialGoods.limitExceededSpecialGoods2), t.country.eu || t.age.value !== E.AGE_SMALLER_15 && t.age.value !== E.AGE_SMALLER_17 || (s = a.default.createElement("div", { className: "marginTop" }, a.default.createElement(p.default, { icons: { confirm: n.confirm, warning: n.warning }, texts: { alertBox: r.textBoxSpecialGoods.noSpecialGoodsAllowed, attention: r.attention }, type: f.ALERT }))), a.default.createElement("div", { className: "textBoxRow" }, a.default.createElement("div", { className: "spacingContainer" }, a.default.createElement(p.default, { icons: { confirm: n.confirm, warning: n.warning }, texts: { alertBox: o, attention: r.attention }, type: i }), s));} }, { key: "_renderGoodsTextBox", value: function () {var e = this.props,t = e.data,n = e.icons,r = e.texts,i = f.OK,o = r.textBoxGoods.limitNotExceededGoods1 + " " + (0, g.default)(this.freeAmount, r.currencySigns.euro) + " " + r.textBoxGoods.limitNotExceededGoods2;if (t.country.eu && !t.country.specialZone) o = r.textBoxGoods.fromEuropeTextBox;else if (t.goods.value === h.GOODS_MORE_THAN_FREE_AMOUNT) {t.goods.selectedGoodsBar.reduce(function (e, t) {return e + t.currency.calculationValue / t.currency.exchangeRate;}, 0) > this.freeAmount && (o = r.textBoxGoods.limitExceededGoods, i = f.ALERT);}return a.default.createElement("div", { className: "textBoxRow" }, a.default.createElement("div", { className: "spacingContainer" }, a.default.createElement(p.default, { icons: { confirm: n.confirm, warning: n.warning }, texts: { alertBox: o, attention: r.attention }, type: i })));} }, { key: "_renderBargeldBarmittelTextBox", value: function () {var e = this.props,t = e.data,n = e.icons,r = e.texts,i = t.goods.selectedGoodsBar.filter(function (e) {return (0, m.isBargeldBarmittel)(e.text);}),o = null;return i.length > 0 && (o = a.default.createElement("div", { className: "textBoxRow" }, a.default.createElement("div", { className: "spacingContainer" }, a.default.createElement(p.default, { icons: { confirm: n.confirm, warning: n.warning }, texts: { alertBox: i[0].descriptionShort, attention: r.attention }, type: "warn" })))), o;} }, { key: "_renderTextBoxes", value: function () {var e = this.props.texts;return a.default.createElement("div", { className: "textBoxContainer showResults" }, a.default.createElement("div", { className: "textBoxRow" }, a.default.createElement(u.default, { texts: e.textBoxSpecialGoods.title, htmlTextWrapping: x.SHOW_RESULTS_TEXT_BOX_H2, preventFocus: !0 })), this._renderSpecialGoodsTextBox(), a.default.createElement("div", { className: "textBoxRow" }, a.default.createElement(u.default, { texts: e.textBoxGoods.title, htmlTextWrapping: x.SHOW_RESULTS_TEXT_BOX_H2, preventFocus: !0 })), this._renderGoodsTextBox(), this._renderBargeldBarmittelTextBox());} }, { key: "_renderGoodsTableRow", value: function (e) {var t = this.props,n = t.texts,r = t.flatTaxRate;return e.map(function (e, t) {var i = e.currency.calculationValue / e.currency.exchangeRate,o = /\(([^)]+)\)/.exec(e.currency.name)[1];"EUR" === o && (o = o.replace("EUR", "€"));var s = e + t;return a.default.createElement("tr", { key: s }, a.default.createElement("td", null, e.text), a.default.createElement("td", null, e.currency.value, " ", o), a.default.createElement("td", null, (0, g.default)(i, n.currencySigns.euro)), a.default.createElement("td", null, a.default.createElement("div", null, (0, g.default)(e.tax, n.currencySigns.euro)), e.flatTaxValue ? a.default.createElement("div", { className: "taxInfoRow" }, a.default.createElement("span", { className: "taxInfoRowLeft" }, a.default.createElement("span", null, n.flatTaxValue1), a.default.createElement("span", { className: "red" }, (0, g.default)(r.flatTaxRate), "%"), a.default.createElement("span", null, n.flatTaxValue2)), a.default.createElement("span", { className: "taxInfoRowRight" }, (0, g.default)(e.flatTaxValue, n.currencySigns.euro))) : a.default.createElement("div", null, a.default.createElement("div", { className: "taxInfoRow" }, a.default.createElement("span", { className: "taxInfoRowLeft" }, a.default.createElement("span", null, n.zollTaxValue1), a.default.createElement("span", { className: "red" }, e.maxFlatTaxAmountUsed ? n.maxFlatTaxAmount1 + " " + (0, g.default)(e.zollTaxValue, n.currencySigns.euro) + " " + n.maxFlatTaxAmount2 : (0, g.default)(100 * parseFloat(e.zollTax)) + "%"), a.default.createElement("span", null, n.flatTaxValue2)), a.default.createElement("span", { className: "taxInfoRowRight" }, (0, g.default)(e.zollTaxValue, n.currencySigns.euro))), a.default.createElement("div", { className: "taxInfoRow" }, a.default.createElement("span", { className: "taxInfoRowLeft" }, a.default.createElement("span", null, n.euTaxValue1), a.default.createElement("span", { className: "red" }, (0, g.default)(100 * parseFloat(e.euTax)), "%"), a.default.createElement("span", null, n.euTaxValue2)), a.default.createElement("span", { className: "taxInfoRowRight" }, (0, g.default)(e.euTaxValue, n.currencySigns.euro))))));});} }, { key: "_renderTableHead", value: function () {var e = this.props.texts.taxedGoodsOverview;return a.default.createElement("thead", null, a.default.createElement("tr", { className: "goodsTableHeaderRow" }, a.default.createElement("th", null, e.goodHead), a.default.createElement("th", null, e.foreignCurrencyHead), a.default.createElement("th", null, e.euroCurrencyHead), a.default.createElement("th", null, e.taxToPayHead)));} }, { key: "_renderGoodsTable", value: function () {var e = this._calculateTaxPerGood();return e.length > 0 && (e = this._renderGoodsTableRow(e)).filter(function (e) {return null !== e;}).length > 0 && (e = a.default.createElement("div", null, a.default.createElement("div", { className: "tableContainer" }, a.default.createElement("table", { className: "goodsTable" }, this._renderTableHead(), a.default.createElement("tbody", null, e))))), e;} }, { key: "_renderTaxes", value: function () {var e = this.props.texts,t = this._calculateTaxPerGood(),n = t ? t.reduce(function (e, t) {return e + t.tax;}, 0) : 0,r = n > 0 ? "textAlignCenter bigText bold red" : "textAlignCenter bigText bold green";return a.default.createElement("div", { className: "textAlignCenter" }, a.default.createElement(v.default, { className: r, text: (0, g.default)(n, e.currencySigns.euro) }), a.default.createElement(v.default, { className: "bigText red", text: "*" }));} }, { key: "render", value: function () {var e = this.props,t = e.activeStep,n = e.appId,r = e.data,i = e.texts,o = e.functions,p = e.navTargets,h = (0, _.default)(r);return a.default.createElement("div", { className: "calculatorShowResults" }, a.default.createElement(s.default, { activeStep: t, functions: { handleScreenChange: o.handleScreenChange }, texts: i.stepper }), a.default.createElement(u.default, { appId: n, navTargets: { infoPopup: p.infoPopup, back: p.back }, functions: { handleScreenChange: o.handleScreenChange }, texts: { title: i.title, back: i.buttons.back }, htmlTextWrapping: x.TITLE_TEXT_WRAPPING_H1, preventFocus: !0 }), a.default.createElement(c.default, { className: "textAlignCenter standardText", text: i.predictedTaxes }), this._renderTaxes(), a.default.createElement(d.default, { activeStep: t, data: h, texts: i.selectedCriteria, type: f.CONTENT }), this._renderTextBoxes(), this._renderGoodsTable(), a.default.createElement(c.default, { text: i.predictedTaxesNotice }), a.default.createElement(l.default, { appId: n, texts: i.buttons, functions: { handleScreenChange: o.handleScreenChange }, navTargets: p, continueButtonDisabled: !0, resetButton: !0 }));} }]), t;}(a.default.Component);w.propTypes = { activeStep: o.default.number.isRequired, appId: o.default.string.isRequired, data: S.fullDataObjectType.isRequired, flatTaxRate: o.default.shape({ flatTaxRate: o.default.string.isRequired, flatTaxRateLimit: o.default.number.isRequired }).isRequired, functions: o.default.shape({ handleScreenChange: o.default.func.isRequired }).isRequired, freeAmounts: S.freeAmountsType.isRequired, icons: o.default.shape({ back: o.default.string.isRequired, confirm: o.default.string.isRequired, warning: o.default.string.isRequired }).isRequired, navTargets: o.default.shape({ back: o.default.string.isRequired, infoPopup: o.default.string.isRequired }).isRequired, specialGoods: S.specialGoodsType.isRequired, texts: o.default.shape({ attention: o.default.string.isRequired, buttons: S.buttonBarTextsType.isRequired, currencySigns: o.default.shape({ euro: o.default.string.isRequired }).isRequired, predictedTaxes: o.default.string.isRequired, taxedGoodsOverview: o.default.shape({ goodHead: o.default.string.isRequired, foreignCurrencyHead: o.default.string.isRequired, euroCurrencyHead: o.default.string.isRequired, taxToPayHead: o.default.string.isRequired }).isRequired, textBoxGoods: o.default.shape({ fromEuropeTextBox: o.default.string.isRequired, limitExceededGoods: o.default.string.isRequired, limitNotExceededGoods1: o.default.string.isRequired, limitNotExceededGoods2: o.default.string.isRequired, title: S.titleTextsType.isRequired }).isRequired, textBoxSpecialGoods: o.default.shape({ limitExceededSpecialGoods1: o.default.string.isRequired, limitExceededSpecialGoods2: o.default.string.isRequired, limitNotExceededSpecialGoods1: o.default.string.isRequired, limitNotExceededSpecialGoods2: o.default.string.isRequired, noSpecialGoods: o.default.string.isRequired, noSpecialGoodsAllowed: o.default.string.isRequired, title: o.default.shape({ text: o.default.string.isRequired }).isRequired }).isRequired }).isRequired }, t.default = w;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(4));function s(e) {return e && e.__esModule ? e : { default: e };}function l(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function u(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var c = function (e) {function t() {return l(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.className,n = e.text;return i.default.createElement("span", { className: t }, (0, o.default)(n));} }]), t;}(i.default.Component);c.propTypes = { className: a.default.string.isRequired, text: a.default.string.isRequired }, c.defaultProps = {}, t.default = c;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = f(n(0)),a = f(n(1)),o = f(n(8)),s = f(n(6)),l = f(n(12)),u = f(n(13)),c = n(2),d = n(7);function f(e) {return e && e.__esModule ? e : { default: e };}function p(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function h(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var g = function (e) {function t() {return p(this, t), h(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, o.default)(this.props.appId + "-container");} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.icons,a = e.navTargets,o = e.texts;return i.default.createElement("div", { className: "permittedInfo" }, i.default.createElement(s.default, { appId: t, preventFocus: !0, texts: { title: o.title, back: o.buttons.back }, imgSrc: r.info, navTargets: { infoPopup: a.infoPopup, back: a.back }, functions: { handlePopupChange: n.handlePopupChange, handleScreenChange: n.handleScreenChange }, htmlTextWrapping: d.TITLE_TEXT_WRAPPING_H1 }), i.default.createElement(l.default, { text: o.body }), i.default.createElement(u.default, { appId: t, continueButtonDisabled: !1, texts: o.buttons, functions: { handleScreenChange: n.handleScreenChange }, navTargets: a }));} }]), t;}(i.default.Component);g.propTypes = { appId: a.default.string.isRequired, functions: a.default.shape({ handleScreenChange: a.default.func.isRequired, handlePopupChange: a.default.func.isRequired }).isRequired, icons: a.default.shape({ info: a.default.string.isRequired, back: a.default.string.isRequired }).isRequired, navTargets: a.default.shape({ back: a.default.string.isRequired, continue: a.default.string.isRequired, infoPopup: a.default.string.isRequired }).isRequired, texts: a.default.shape({ body: a.default.string.isRequired, buttons: c.buttonBarTextsType.isRequired, infoPopup: c.infoPopupTextsType.isRequired, title: c.titleTextsType.isRequired }).isRequired }, t.default = g;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = c(n(0)),a = c(n(1)),o = c(n(8)),s = c(n(101)),l = n(2),u = n(7);function c(e) {return e && e.__esModule ? e : { default: e };}var d = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.state = { continueButtonDisabled: !e.data.country.text }, n.onCountrySelection = n.onCountrySelection.bind(n), n.disableContinueButton = n.disableContinueButton.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {(0, o.default)(this.props.appId + "-container");} }, { key: "onCountrySelection", value: function (e) {this.props.functions.handleSelectCountrySelection(e, []);} }, { key: "disableContinueButton", value: function (e) {this.setState({ continueButtonDisabled: e });} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.data,r = e.functions,a = e.icons,o = e.navTargets,l = e.texts;return i.default.createElement("div", { className: "permittedSelectCountry" }, i.default.createElement(s.default, { appId: t, continueButtonDisabled: this.state.continueButtonDisabled, countries: this.props.countries, data: n.country, functions: { handleScreenChange: r.handleScreenChange, handlePopupChange: r.handlePopupChange, handleSelectCountrySelection: this.onCountrySelection, disableContinueButton: this.disableContinueButton, handleInputValueChange: r.handleSelectCountrySearchFieldInputValueChange }, icons: a, navTargets: o, texts: l, titleHtmlTextWrapping: u.TITLE_TEXT_WRAPPING_H1, wide: !0 }));} }]), t;}(i.default.Component);d.propTypes = { appId: a.default.string.isRequired, data: l.fullDataObjectType.isRequired, countries: l.selectCountryAssetsType.isRequired, functions: a.default.shape({ handleScreenChange: a.default.func.isRequired, handlePopupChange: a.default.func.isRequired, handleSelectCountrySearchFieldInputValueChange: a.default.func.isRequired, handleSelectCountrySelection: a.default.func.isRequired }).isRequired, icons: a.default.shape({ back: a.default.string.isRequired, info: a.default.string.isRequired }).isRequired, navTargets: a.default.objectOf(a.default.string).isRequired, texts: a.default.shape({ buttons: l.buttonBarTextsType, infoPopup: l.infoPopupTextsType, select: l.selectTextsType, title: l.titleTextsType }).isRequired }, t.default = d;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = g(n(0)),o = g(n(1)),s = n(84),l = g(n(8)),u = g(n(13)),c = g(n(42)),d = g(n(238)),f = g(n(6)),p = n(2),h = n(7);function g(e) {return e && e.__esModule ? e : { default: e };}function m(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function b(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var v = function (e) {function t() {return m(this, t), b(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "componentDidMount", value: function () {(0, l.default)(this.props.appId + "-container");} }, { key: "_renderRadioButtons", value: function () {var e = this.props,t = e.data,n = e.functions,r = e.texts;return a.default.createElement("div", { className: "radioButtonsContainer", role: "radiogroup" }, a.default.createElement(c.default, { checked: t.permittedSelectGoods.view.value === s.PERMITTED_SELECT_GOODS_VIEW_GOODS, functions: { handleSelection: n.handleSelectGoodsViewSelection }, texts: r.radioButton1, id: s.PERMITTED_SELECT_GOODS_VIEW_GOODS, name: "selectGoods", dataParam: s.PERMITTED_SELECT_GOODS_VIEW_GOODS, dataText: r.radioButton1.top }), a.default.createElement(c.default, { checked: t.permittedSelectGoods.view.value === s.PERMITTED_SELECT_GOODS_VIEW_CATEGORIES, functions: { handleSelection: n.handleSelectGoodsViewSelection }, texts: r.radioButton2, id: s.PERMITTED_SELECT_GOODS_VIEW_CATEGORIES, name: "selectGoods", dataParam: s.PERMITTED_SELECT_GOODS_VIEW_CATEGORIES, dataText: r.radioButton2.top }), a.default.createElement(c.default, { checked: t.permittedSelectGoods.view.value === s.PERMITTED_SELECT_GOODS_VIEW_SPECIAL_RESTRICTIONS, functions: { handleSelection: n.handleSelectGoodsViewSelection }, texts: r.radioButton3, id: s.PERMITTED_SELECT_GOODS_VIEW_SPECIAL_RESTRICTIONS, name: "selectGoods", dataParam: s.PERMITTED_SELECT_GOODS_VIEW_SPECIAL_RESTRICTIONS, dataText: r.radioButton3.top }));} }, { key: "_renderSelectGoodsViewGoods", value: function () {var e = this.props,t = e.categories,n = e.data,i = e.functions,o = e.texts,s = t.reduce(function (e, t) {return e.concat(t.goods.map(function (e) {return r({}, e, { category: { text: t.text } });}));}, []);return a.default.createElement("div", { className: "container" }, a.default.createElement(d.default, { data: r({ searchFieldInputValue: n.permittedSelectGoods.searchFieldInputValue }, n.permittedSelectGoods.selectedGood), functions: { handleSelection: i.handleSelectGoodsViewGoodsGoodSelection, handleInputValueChange: i.handleSelectGoodsViewGoodsSearchFiledInputValueChange }, hideOneLetterFilterList: !0, key: "selectGoods", optionData: s, sortOptions: !0, texts: r({}, o.select, { selectOptionsDescription: o.screenReader.permittedSelectGoodsViewGoodsOptionsDescription }, o.screenReader) }));} }, { key: "_renderSelectGoodsViewCategories", value: function () {var e = this.props,t = e.categories,n = e.data,i = e.functions,o = e.texts;return a.default.createElement("div", { className: "container" }, a.default.createElement(d.default, { data: r({ searchFieldInputValue: n.permittedSelectGoods.searchFieldInputValue }, n.permittedSelectGoods.selectedCategory), functions: { handleSelection: i.handleSelectGoodsViewCategoriesCategorySelection, handleInputValueChange: i.handleSelectGoodsViewGoodsSearchFiledInputValueChange }, hideOptionImage: !0, hideOneLetterFilterList: !0, key: "selectCategories", optionData: t, sortOptions: !0, texts: r({}, o.select, { selectOptionsDescription: o.screenReader.permittedSelectGoodsViewCategoriesOptionsDescription }, o.screenReader) }));} }, { key: "_renderSelectGoodsViewSpecialRestrictions", value: function () {var e = this.props,t = e.data,n = e.functions,i = e.specialCategories,o = e.texts;return a.default.createElement("div", { className: "container" }, a.default.createElement(d.default, { data: r({ searchFieldInputValue: t.permittedSelectGoods.searchFieldInputValue }, t.permittedSelectGoods.selectedSpecialRestriction), disableFilter: !0, functions: { handleSelection: n.handleSelectGoodsViewSpecialRestrictionsRestrictionSelection, handleInputValueChange: n.handleSelectGoodsViewGoodsSearchFiledInputValueChange }, hideOptionImage: !0, key: "selectSpecialCategories", optionData: i, sortOptions: !0, texts: r({}, o.select, { selectOptionsDescription: o.screenReader.permittedSelectGoodsViewSpecialRestrictionsOptionsDescription }, o.screenReader) }));} }, { key: "_getContent", value: function () {var e = null;switch (this.props.data.permittedSelectGoods.view.value) {case s.PERMITTED_SELECT_GOODS_VIEW_GOODS:e = this._renderSelectGoodsViewGoods();break;case s.PERMITTED_SELECT_GOODS_VIEW_CATEGORIES:e = this._renderSelectGoodsViewCategories();break;case s.PERMITTED_SELECT_GOODS_VIEW_SPECIAL_RESTRICTIONS:e = this._renderSelectGoodsViewSpecialRestrictions();}return e;} }, { key: "_renderTitle", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.icons,i = e.navTargets,o = e.texts;return a.default.createElement(f.default, { appId: t, preventFocus: !0, texts: { title: o.title, back: o.buttons.back }, imgSrc: r.info, functions: { handlePopupChange: n.handlePopupChange, handleScreenChange: n.handleScreenChange }, htmlTextWrapping: h.TITLE_TEXT_WRAPPING_H1, navTargets: { infoPopup: i.infoPopup, back: i.back } });} }, { key: "_renderContent", value: function () {return a.default.createElement("div", null, "  ", this._renderTitle(), this._renderRadioButtons(), this._getContent());} }, { key: "render", value: function () {var e = this.props,t = e.appId,n = e.functions,r = e.navTargets,i = e.texts;return a.default.createElement("div", { className: "permittedSelectCountry" }, this._renderContent(), a.default.createElement(u.default, { appId: t, texts: i.buttons, functions: { handleScreenChange: n.handleScreenChange }, navTargets: r, continueButtonDisabled: !1, resetButton: !0 }));} }]), t;}(a.default.Component);v.propTypes = { appId: o.default.string.isRequired, categories: o.default.arrayOf(p.categoryDataType.isRequired).isRequired, data: p.fullDataObjectType.isRequired, functions: o.default.shape({ handlePopupChange: o.default.func.isRequired, handleScreenChange: o.default.func.isRequired, handleSelectGoodsViewCategoriesCategorySelection: o.default.func.isRequired, handleSelectGoodsViewSelection: o.default.func.isRequired, handleSelectGoodsViewGoodsSearchFiledInputValueChange: o.default.func.isRequired, handleSelectGoodsViewGoodsGoodSelection: o.default.func.isRequired, handleSelectGoodsViewSpecialRestrictionsRestrictionSelection: o.default.func.isRequired }).isRequired, icons: o.default.shape({ info: o.default.string.isRequired, back: o.default.string.isRequired }).isRequired, navTargets: o.default.shape({ back: o.default.string.isRequired, infoPopup: o.default.string }).isRequired, specialCategories: o.default.arrayOf(p.specialCategoriesType.isRequired).isRequired, texts: o.default.shape({ buttons: p.buttonBarTextsType.isRequired, infoPopup: p.infoPopupTextsType.isRequired, radioButton1: p.radioButtonTextsType.isRequired, radioButton2: p.radioButtonTextsType.isRequired, radioButton3: p.radioButtonTextsType.isRequired, screenReader: o.default.shape({ entries: o.default.string.isRequired, notSelected: o.default.string.isRequired, oneLetterFilterButtonsDescription: o.default.string.isRequired, permittedSelectGoodsViewCategoriesOptionsDescription: o.default.string.isRequired, permittedSelectGoodsViewSpecialRestrictionsOptionsDescription: o.default.string.isRequired, permittedSelectGoodsViewGoodsOptionsDescription: o.default.string.isRequired, selected: o.default.string.isRequired }).isRequired, select: o.default.shape({ noResults: o.default.string.isRequired, placeholder: o.default.string.isRequired }).isRequired, title: o.default.shape({ altText: o.default.string.isRequired, text: o.default.string.isRequired }).isRequired }).isRequired }, t.default = v;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = d(n(0)),a = d(n(1)),o = d(n(85)),s = d(n(4)),l = d(n(239)),u = d(n(240)),c = d(n(59));function d(e) {return e && e.__esModule ? e : { default: e };}function f(e) {if (Array.isArray(e)) {for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];return n;}return Array.from(e);}var p = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.state = { options: e.disableFilter ? e.optionData : n._quickFilter(e.data.searchFieldInputValue) }, n.handleSelection = n.handleSelection.bind(n), n.filter = n.filter.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidMount", value: function () {this.props.disableFilter || this.filter({ target: { value: this.props.data.searchFieldInputValue } });} }, { key: "_quickFilter", value: function (e) {return this.props.optionData.filter(function (t) {return 0 === t.text.toLowerCase().indexOf(e.toLowerCase());});} }, { key: "handleSelection", value: function (e) {var t = this.props.popupIndex,n = JSON.parse(e),r = this.props.functions;r.handleSelection(n, t);var i = !0;n && (i = !1), r.disableContinueButton && r.disableContinueButton(i);} }, { key: "filter", value: function (e) {var t = this,n = this.props,r = n.functions,i = n.optionData,a = n.popupIndex,o = e.target.value,s = [],l = i.filter(function (e) {var t = e.productTags ? [e.text].concat(f(e.productTags)) : [e.text];return s = s.concat(t), t.map(function (e) {return e.toLowerCase().indexOf(o.toLowerCase()) > -1;}).indexOf(!0) > -1;});0 === l.filter(function (e) {return e.text === t.props.data.text;}).length ? r.disableContinueButton && r.disableContinueButton(!0) : r.disableContinueButton && r.disableContinueButton(!1), this.setState({ options: l }), r.handleInputValueChange(o, a);} }, { key: "_renderFilterButtons", value: function (e) {var t = this,n = this.props,r = n.data,a = n.texts;return e.map(function (e) {return i.default.createElement(u.default, { key: e, marked: r.searchFieldInputValue.toLowerCase() === e.toLowerCase(), functions: { onClick: t.filter }, texts: { letter: e, selected: a.selected, notSelected: a.notSelected } });});} }, { key: "_renderOneLetterFilterList", value: function () {var e = this.props,t = e.hideOneLetterFilterList,n = e.optionData,r = e.texts,a = o.default.flatten(n.map(function (e) {return e.productTags ? [e.text].concat(f(e.productTags)) : e.text;})).map(function (e) {return e.toUpperCase().charAt(0);}).filter(function (e, t, n) {return n.indexOf(e) === t && Boolean(e) && " " !== e && isNaN(parseInt(e, 10));}).sort(),s = null;return t || (s = i.default.createElement("div", null, i.default.createElement("h2", { className: "aural" }, r.oneLetterFilterButtonsDescription + " " + a.length + " " + r.entries), i.default.createElement("ul", { "aria-label": r.oneLetterFilterButtonsDescription, className: "oneLetterButtonContainer", role: "radiogroup" }, this._renderFilterButtons(a)))), s;} }, { key: "_renderOptions", value: function () {var e = this,t = this.props,n = t.data,r = t.hideOptionImage,a = t.sortOptions,o = t.texts,u = (a ? this.state.options.sort(function (e, t) {return (0, c.default)(e, t, "text");}) : this.state.options).map(function (t, a) {var s = t.text + a;return i.default.createElement(l.default, { key: s, marked: t.text === n.text && t.subText === n.subText && t.imgSrc === n.imgSrc, functions: { handleSelection: e.handleSelection }, hideImage: r, option: t, texts: { selected: o.selected, notSelected: o.notSelected } });}),d = u.length > 0 ? u : i.default.createElement("div", { className: "noResults" }, (0, s.default)(o.noResults));return i.default.createElement("div", { className: "suggestionsContainer" }, i.default.createElement("h3", { className: "aural" }, o.selectOptionsDescription + " " + u.length + " " + o.entries), i.default.createElement("ul", { className: "small-block-grid-2 medium-block-grid-3 large-block-grid-4", role: "radiogroup", "aria-label": o.selectOptionsDescription + " " + u.length + " " + o.entries }, d));} }, { key: "render", value: function () {var e = this.props,t = e.data,n = e.disableFilter,r = e.texts;return i.default.createElement("div", { className: "selectWrapper" }, n ? null : i.default.createElement("div", { className: "selectInputContainer" }, i.default.createElement("input", { "aria-label": r.selectInputField, type: "text", placeholder: r.placeholder, value: t.searchFieldInputValue, onChange: this.filter })), n ? null : this._renderOneLetterFilterList(), this._renderOptions());} }]), t;}(i.default.Component);p.propTypes = { functions: a.default.shape({ disableContinueButton: a.default.func, handleInputValueChange: a.default.func.isRequired, handleSelection: a.default.func.isRequired }).isRequired, data: a.default.shape({ searchFieldInputValue: a.default.string.isRequired, text: a.default.string }).isRequired, disableFilter: a.default.bool, hideOneLetterFilterList: a.default.bool, hideOptionImage: a.default.bool, optionData: a.default.arrayOf(a.default.object).isRequired, popupIndex: a.default.number, texts: a.default.shape({ noResults: a.default.string.isRequired, placeholder: a.default.string.isRequired }).isRequired, sortOptions: a.default.bool }, p.defaultProps = { disableFilter: !1, hideOneLetterFilterList: !1, hideOptionImage: !1, popupIndex: 0, sortOptions: !1 }, t.default = p;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(4));function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_onClick", value: function (e) {this.props.functions.handleSelection(e.currentTarget.value);} }, { key: "render", value: function () {var e = this.props,t = e.hideImage,n = e.marked,r = e.option,a = e.texts,s = n ? "option marked" : "option",l = n ? a.selected : a.notSelected,u = r.subText && "." !== r.subText ? i.default.createElement("span", { className: "buttonSubText" }, (0, o.default)(r.subText)) : null,c = r.imgSrc && !t ? i.default.createElement("img", { src: r.imgSrc, alt: "" }) : null,d = r.text;return i.default.createElement("li", { className: "optionButtonListItem" }, i.default.createElement("button", { className: s, onClick: this._onClick, value: JSON.stringify(r) }, i.default.createElement("span", { className: "optionContent" }, c, (0, o.default)(d), u), i.default.createElement("span", { className: "aural" }, l)));} }]), t;}(i.default.Component);l.propTypes = { functions: a.default.shape({ handleSelection: a.default.func.isRequired }).isRequired, hideImage: a.default.bool, option: a.default.shape({ subText: a.default.string, text: a.default.string.isRequired, imgSrc: a.default.string }).isRequired, marked: a.default.bool.isRequired, texts: a.default.shape({ selected: a.default.string.isRequired, notSelected: a.default.string.isRequired }).isRequired }, l.defaultProps = { hideImage: !1 }, t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(4));function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e._onClick = e._onClick.bind(e), e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "_onClick", value: function (e) {this.props.functions.onClick(e);} }, { key: "render", value: function () {var e = this.props,t = e.texts,n = e.marked,r = n ? "oneLetterButton marked" : "oneLetterButton",a = n ? t.selected : t.notSelected;return i.default.createElement("li", { className: "oneLetterButtonListItem" }, i.default.createElement("button", { className: r, onClick: this._onClick, value: t.letter }, (0, o.default)(t.letter), i.default.createElement("span", { className: "aural" }, a)));} }]), t;}(i.default.Component);l.propTypes = { texts: a.default.shape({ letter: a.default.string.isRequired, selected: a.default.string.isRequired, notSelected: a.default.string.isRequired }).isRequired, functions: a.default.shape({ onClick: a.default.func.isRequired }).isRequired, marked: a.default.bool.isRequired }, l.defaultProps = {}, t.default = l;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = g(n(0)),a = g(n(1)),o = g(n(61)),s = n(5),l = g(n(6)),u = g(n(12)),c = g(n(28)),d = g(n(104)),f = n(2),p = n(7),h = g(n(27));function g(e) {return e && e.__esModule ? e : { default: e };}function m(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}function b(e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}var v = function (e) {function t() {return m(this, t), b(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments));}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "render", value: function () {var e = this.props,t = e.data,n = e.functions,r = e.icons,a = e.navTarget,f = e.texts,g = null,m = null;return f.alertBox && (g = i.default.createElement(c.default, { icons: { confirm: r.confirm, warning: r.warning }, type: s.WARN, texts: { alertBox: f.alertBox, attention: f.attention } })), f.taxBox && (m = i.default.createElement(d.default, { texts: f.taxBox, data: { euTax: t.euTax, zollTax: t.zollTax } })), i.default.createElement(o.default, { returnFocus: !0 }, i.default.createElement("div", { className: "popup", role: "dialog", "aria-labelledby": "dialog" }, i.default.createElement("div", { className: "container" }, i.default.createElement(l.default, { functions: { handlePopupChange: n.handlePopupChange }, htmlTextWrapping: p.TITLE_TEXT_WRAPPING_H1, id: "dialog", imgSrc: r.close, preventFocus: !0, preventAlert: !0, texts: { text: f.title.text, altText: f.title.iconButtonAltText } }), i.default.createElement("div", { className: "content" }, g, i.default.createElement(u.default, { text: f.body }), m, i.default.createElement("div", { className: "centerButtonContainer" }, i.default.createElement(h.default, { className: "c-button", dataParam: JSON.stringify({ popup: a }), functions: { handlePopupChange: n.handlePopupChange }, texts: { text: f.closeButton, ariaLabel: f.title.iconButtonAltText } }))))));} }]), t;}(i.default.Component);v.propTypes = { data: a.default.shape({ descriptionEU: a.default.string, descriptionNonEU: a.default.string, descriptionShort: a.default.string, euTax: a.default.string, productGroup: a.default.string, productTags: a.default.arrayOf(a.default.string.isRequired), productType: a.default.string, text: a.default.string, zollTax: a.default.string, currency: f.currencyDataType.isRequired, selectGoods: a.default.shape({ searchFieldInputValue: a.default.string.isRequired }).isRequired }).isRequired, functions: a.default.shape({ handlePopupChange: a.default.func.isRequired }).isRequired, icons: a.default.shape({ confirm: a.default.string.isRequired, close: a.default.string.isRequired, warning: a.default.string.isRequired }).isRequired, navTarget: a.default.string.isRequired, texts: a.default.shape({ alertBox: a.default.string, attention: a.default.string, body: a.default.string.isRequired, closeButton: a.default.string.isRequired, taxBox: a.default.shape({ euTax: a.default.string.isRequired, title: a.default.string.isRequired, zollTax: a.default.string.isRequired }), title: f.titleTextsType.isRequired }).isRequired }, v.defaultProps = {}, t.default = v;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function (e, t) {if (Array.isArray(e)) return e;if (Symbol.iterator in Object(e)) return function (e, t) {var n = [],r = !0,i = !1,a = void 0;try {for (var o, s = e[Symbol.iterator](); !(r = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); r = !0);} catch (e) {i = !0, a = e;} finally {try {!r && s.return && s.return();} finally {if (i) throw a;}}return n;}(e, t);throw new TypeError("Invalid attempt to destructure non-iterable instance");},i = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},a = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),o = g(n(1)),s = g(n(0)),l = g(n(61)),u = g(n(243)),c = g(n(12)),d = g(n(6)),f = n(7),p = n(2),h = g(n(27));function g(e) {return e && e.__esModule ? e : { default: e };}var m = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.imgRef = {}, n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), a(t, [{ key: "_renderSelected", value: function (e) {var t = this.props,n = t.data,r = t.icons,a = t.texts;return s.default.createElement("div", null, e.goods.map(function (e, t) {return s.default.createElement(u.default, { data: i({}, e, { country: n.country }), icons: { down: r.down, warning: r.warning }, isOpen: n.selectedGood && e.text === n.selectedGood.text, key: e.text + t, texts: a });}));} }, { key: "_renderGoodsList", value: function (e) {var t = this.props.data;return t.selectedGood || t.selectedCategory ? this._renderSelected(e) : null;} }, { key: "_getCategory", value: function () {var e = this.props,t = e.categories,n = e.data,i = null;if (n.selectedGood) {var a = t.filter(function (e) {return e.text === n.selectedGood.category.text;});i = r(a, 1)[0];} else i = n.selectedCategory ? n.selectedCategory : n.selectedSpecialRestriction;return i;} }, { key: "render", value: function () {var e = this,t = this.props,n = t.functions,r = t.icons,i = t.navTarget,a = t.texts,o = this._getCategory(),u = o.description,p = o.text;return s.default.createElement(l.default, { returnFocus: !0 }, s.default.createElement("div", { className: "popup", role: "dialog", "aria-labelledby": "dialog" }, s.default.createElement("div", { className: "container" }, s.default.createElement(d.default, { preventFocus: !0, functions: { handlePopupChange: n.handlePopupChange }, htmlTextWrapping: f.TITLE_TEXT_WRAPPING_H1, id: "dialog", imgSrc: r.close, preventAlert: !0, texts: { text: a.title.text, altText: a.title.iconButtonAltText } }), s.default.createElement("div", { className: "content" }, s.default.createElement("img", { ref: function (t) {e.imgRef = t;}, alt: "", className: "categoryImage", src: o.imgSrc, onError: function () {e.imgRef.style.display = "none";} }), s.default.createElement(d.default, { preventFocus: !0, htmlTextWrapping: f.TITLE_TEXT_WRAPPING_H2, texts: { text: p } }), s.default.createElement(c.default, { text: u }), this._renderGoodsList(o), s.default.createElement("div", { className: "centerButtonContainer" }, s.default.createElement(h.default, { className: "c-button", dataParam: JSON.stringify({ popup: i }), functions: { handlePopupChange: n.handlePopupChange }, texts: { text: a.closeButton, ariaLabel: a.title.iconButtonAltText } }))))));} }]), t;}(s.default.Component);m.propTypes = { categories: o.default.arrayOf(p.selectedCategoryDataType.isRequired).isRequired, data: o.default.shape({ country: p.countryDataType.isRequired, searchFieldInputValue: o.default.string, selectedGood: p.selectedGoodDataType, selectedCategory: p.selectedCategoryDataType, selectedSpecialRestriction: p.selectedSpecialRestrictionDataType }).isRequired, functions: o.default.shape({ handlePopupChange: o.default.func.isRequired }).isRequired, icons: o.default.shape({ close: o.default.string.isRequired, down: o.default.string.isRequired, warning: o.default.string.isRequired }).isRequired, navTarget: o.default.string.isRequired, texts: o.default.shape({ closeButton: o.default.string.isRequired, taxBox: p.taxBoxTextsType.isRequired, title: p.titleTextsType.isRequired }).isRequired }, t.default = m;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = Object.assign || function (e) {for (var t = 1; t < arguments.length; t++) {var n = arguments[t];for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);}return e;},i = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),a = h(n(1)),o = h(n(0)),s = h(n(104)),l = h(n(12)),u = h(n(28)),c = h(n(6)),d = n(7),f = n(5),p = n(2);function h(e) {return e && e.__esModule ? e : { default: e };}var g = function (e) {function t(e) {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var n = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));return n.state = { isOpen: e.isOpen }, n._toggleCollapse = n._toggleCollapse.bind(n), n;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), i(t, [{ key: "_toggleCollapse", value: function () {this.setState({ isOpen: !this.state.isOpen });} }, { key: "_renderTextBox", value: function () {var e = this.props,t = e.data,n = e.icons,r = e.texts;return t.descriptionShort ? o.default.createElement(u.default, { type: f.WARN, texts: { alertBox: t.descriptionShort, attention: r.attention }, icons: n }) : null;} }, { key: "render", value: function () {var e = this.state.isOpen,t = this.props,n = t.data,r = t.icons,i = t.texts,a = e ? "open" : null,u = e ? "collapse open" : "collapse",f = n.country.eu && !n.country.specialZone ? n.descriptionEU : n.descriptionNonEU,p = this._renderTextBox();return o.default.createElement("div", { role: "article" }, o.default.createElement("div", { role: "presentation", className: "listItem", onClick: this._toggleCollapse }, o.default.createElement(c.default, { className: a, htmlTextWrapping: d.LIST_ITEM_TITLE_H3, imgSrc: r.down, preventFocus: !0, texts: { text: n.text, altText: e ? i.listItemIconAltTextOpened : i.listItemIconAltTextClosed } }), o.default.createElement("div", { className: u, "aria-hidden": !e }, p, o.default.createElement(l.default, { text: f }), o.default.createElement(s.default, { texts: i.taxBox, data: { euTax: n.euTax, zollTax: n.zollTax } }))));} }]), t;}(o.default.Component);g.propTypes = { data: a.default.shape(r({}, p.productDataType.isRequired, { country: p.countryDataType.isRequired })).isRequired, icons: a.default.shape({ down: a.default.string.isRequired, warning: a.default.string.isRequired }).isRequired, isOpen: a.default.bool, texts: a.default.shape({ taxBox: p.taxBoxTextsType.isRequired, title: a.default.shape({ text: a.default.string.isRequired, iconButton: a.default.string, iconButtonAltTextOpened: a.default.string, iconButtonAltTextClosed: a.default.string }).isRequired }).isRequired }, g.defaultProps = { isOpen: !1 }, t.default = g;}, function (e, t, n) {"use strict";Object.defineProperty(t, "__esModule", { value: !0 });var r = function () {function e(e, t) {for (var n = 0; n < t.length; n++) {var r = t[n];r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);}}return function (t, n, r) {return n && e(t.prototype, n), r && e(t, r), t;};}(),i = s(n(0)),a = s(n(1)),o = s(n(6));function s(e) {return e && e.__esModule ? e : { default: e };}var l = function (e) {function t() {!function (e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");}(this, t);var e = function (e, t) {if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return !t || "object" != typeof t && "function" != typeof t ? e : t;}(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));return e.state = { error: null, errorInfo: null }, e;}return function (e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t);}(t, e), r(t, [{ key: "componentDidCatch", value: function (e, t) {this.setState({ error: e, errorInfo: t });} }, { key: "render", value: function () {return this.state.errorInfo ? i.default.createElement("div", { className: "text errorBoundary" }, i.default.createElement(o.default, { texts: { text: "<h1>Something went wrong. ¯\\_(ツ)_/¯</h1>" } }), i.default.createElement("details", { className: "errorDetails" }, this.state.error && this.state.error.toString(), this.state.errorInfo.componentStack)) : this.props.children;} }]), t;}(i.default.Component);l.propTypes = { children: a.default.element.isRequired }, t.default = l;},, function (e, t, n) {"use strict";n.r(t), n.d(t, "ReactSVG", function () {return O;});var r = n(105),i = n.n(r),a = n(9),o = n.n(a),s = n(31),l = n.n(s);Object.create;function u(e, t, n) {if (n || 2 === arguments.length) for (var r, i = 0, a = t.length; i < a; i++) !r && i in t || (r || (r = Array.prototype.slice.call(t, 0, i)), r[i] = t[i]);return e.concat(r || Array.prototype.slice.call(t));}Object.create;"function" == typeof SuppressedError && SuppressedError;var c = n(106),d = new Map(),f = function (e) {return e.cloneNode(!0);},p = function () {return "file:" === window.location.protocol;},h = function (e, t, n) {var r = new XMLHttpRequest();r.onreadystatechange = function () {try {if (!/\.svg/i.test(e) && 2 === r.readyState) {var t = r.getResponseHeader("Content-Type");if (!t) throw new Error("Content type not found");var i = Object(c.parse)(t).type;if ("image/svg+xml" !== i && "text/plain" !== i) throw new Error("Invalid content type: ".concat(i));}if (4 === r.readyState) {if (404 === r.status || null === r.responseXML) throw new Error(p() ? "Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver." : "Unable to load SVG file: " + e);if (!(200 === r.status || p() && 0 === r.status)) throw new Error("There was a problem injecting the SVG: " + r.status + " " + r.statusText);n(null, r);}} catch (e) {if (r.abort(), !(e instanceof Error)) throw e;n(e, r);}}, r.open("GET", e), r.withCredentials = t, r.overrideMimeType && r.overrideMimeType("text/xml"), r.send();},g = {},m = function (e, t) {g[e] = g[e] || [], g[e].push(t);},b = function (e, t, n) {if (d.has(e)) {var r = d.get(e);if (void 0 === r) return void m(e, n);if (r instanceof SVGSVGElement) return void n(null, f(r));}d.set(e, void 0), m(e, n), h(e, t, function (t, n) {var r;t ? d.set(e, t) : (null === (r = n.responseXML) || void 0 === r ? void 0 : r.documentElement) instanceof SVGSVGElement && d.set(e, n.responseXML.documentElement), function (e) {for (var t = function (t, n) {setTimeout(function () {if (Array.isArray(g[e])) {var n = d.get(e),r = g[e][t];n instanceof SVGSVGElement && r(null, f(n)), n instanceof Error && r(n), t === g[e].length - 1 && delete g[e];}}, 0);}, n = 0, r = g[e].length; n < r; n++) t(n);}(e);});},v = function (e, t, n) {h(e, t, function (e, t) {var r;e ? n(e) : (null === (r = t.responseXML) || void 0 === r ? void 0 : r.documentElement) instanceof SVGSVGElement && n(null, t.responseXML.documentElement);});},_ = 0,y = [],S = {},x = "http://www.w3.org/1999/xlink",E = function (e, t, n, r, i, a, o) {var s = e.getAttribute("data-src") || e.getAttribute("src");if (s) {if (-1 !== y.indexOf(e)) return y.splice(y.indexOf(e), 1), void (e = null);y.push(e), e.setAttribute("src", ""), (r ? b : v)(s, i, function (r, i) {if (!i) return y.splice(y.indexOf(e), 1), e = null, void o(r);var l = e.getAttribute("id");l && i.setAttribute("id", l);var c = e.getAttribute("title");c && i.setAttribute("title", c);var d = e.getAttribute("width");d && i.setAttribute("width", d);var f = e.getAttribute("height");f && i.setAttribute("height", f);var p = Array.from(new Set(u(u(u([], (i.getAttribute("class") || "").split(" "), !0), ["injected-svg"], !1), (e.getAttribute("class") || "").split(" "), !0))).join(" ").trim();i.setAttribute("class", p);var h = e.getAttribute("style");h && i.setAttribute("style", h), i.setAttribute("data-src", s);var g = [].filter.call(e.attributes, function (e) {return /^data-\w[\w-]*$/.test(e.name);});if (Array.prototype.forEach.call(g, function (e) {e.name && e.value && i.setAttribute(e.name, e.value);}), n) {var m,b,v,E,T,w = { clipPath: ["clip-path"], "color-profile": ["color-profile"], cursor: ["cursor"], filter: ["filter"], linearGradient: ["fill", "stroke"], marker: ["marker", "marker-start", "marker-mid", "marker-end"], mask: ["mask"], path: [], pattern: ["fill", "stroke"], radialGradient: ["fill", "stroke"] };Object.keys(w).forEach(function (e) {m = e, v = w[e];for (var t = function (e, t) {var n;E = b[e].id, T = E + "-" + ++_, Array.prototype.forEach.call(v, function (e) {for (var t = 0, r = (n = i.querySelectorAll("[" + e + '*="' + E + '"]')).length; t < r; t++) {var a = n[t].getAttribute(e);a && !a.match(new RegExp('url\\("?#' + E + '"?\\)')) || n[t].setAttribute(e, "url(#" + T + ")");}});for (var r = i.querySelectorAll("[*|href]"), a = [], o = 0, s = r.length; o < s; o++) {var l = r[o].getAttributeNS(x, "href");l && l.toString() === "#" + b[e].id && a.push(r[o]);}for (var u = 0, c = a.length; u < c; u++) a[u].setAttributeNS(x, "href", "#" + T);b[e].id = T;}, n = 0, r = (b = i.querySelectorAll(m + "[id]")).length; n < r; n++) t(n);});}i.removeAttribute("xmlns:a");for (var C, O, R = i.querySelectorAll("script"), k = [], P = 0, L = R.length; P < L; P++) (O = R[P].getAttribute("type")) && "application/ecmascript" !== O && "application/javascript" !== O && "text/javascript" !== O || ((C = R[P].innerText || R[P].textContent) && k.push(C), i.removeChild(R[P]));if (k.length > 0 && ("always" === t || "once" === t && !S[s])) {for (var A = 0, I = k.length; A < I; A++) new Function(k[A])(window);S[s] = !0;}var N = i.querySelectorAll("style");if (Array.prototype.forEach.call(N, function (e) {e.textContent += "";}), i.setAttribute("xmlns", "http://www.w3.org/2000/svg"), i.setAttribute("xmlns:xlink", x), a(i), !e.parentNode) return y.splice(y.indexOf(e), 1), e = null, void o(new Error("Parent node is null"));e.parentNode.replaceChild(i, e), y.splice(y.indexOf(e), 1), e = null, o(null, i);});} else o(new Error("Invalid data-src or src attribute"));},T = n(1),w = n(0),C = ["afterInjection", "beforeInjection", "desc", "evalScripts", "fallback", "httpRequestWithCredentials", "loading", "renumerateIRIElements", "src", "title", "useRequestCache", "wrapper"],O = function (e) {function t() {for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];return (t = e.call.apply(e, [this].concat(r)) || this).initialState = { hasError: !1, isLoading: !0 }, t.state = t.initialState, t._isMounted = !1, t.reactWrapper = void 0, t.nonReactWrapper = void 0, t.refCallback = function (e) {t.reactWrapper = e;}, t;}l()(t, e);var n = t.prototype;return n.renderSVG = function () {var e,t = this;if (this.reactWrapper instanceof (e = this.reactWrapper, ((null == e ? void 0 : e.ownerDocument) || document).defaultView || window).Node) {var n,r,i = this.props,a = i.desc,o = i.evalScripts,s = i.httpRequestWithCredentials,l = i.renumerateIRIElements,u = i.src,c = i.title,d = i.useRequestCache,f = this.props.onError,p = this.props.beforeInjection,h = this.props.afterInjection,g = this.props.wrapper;"svg" === g ? ((n = document.createElementNS("http://www.w3.org/2000/svg", g)).setAttribute("xmlns", "http://www.w3.org/2000/svg"), n.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink"), r = document.createElementNS("http://www.w3.org/2000/svg", g)) : (n = document.createElement(g), r = document.createElement(g)), n.appendChild(r), r.dataset.src = u, this.nonReactWrapper = this.reactWrapper.appendChild(n);var m = function (e) {t.removeSVG(), t._isMounted ? t.setState(function () {return { hasError: !0, isLoading: !1 };}, function () {f(e);}) : f(e);};!function (e, t) {var n = void 0 === t ? {} : t,r = n.afterAll,i = void 0 === r ? function () {} : r,a = n.afterEach,o = void 0 === a ? function () {} : a,s = n.beforeEach,l = void 0 === s ? function () {} : s,u = n.cacheRequests,c = void 0 === u || u,d = n.evalScripts,f = void 0 === d ? "never" : d,p = n.httpRequestWithCredentials,h = void 0 !== p && p,g = n.renumerateIRIElements,m = void 0 === g || g;if (e && "length" in e) for (var b = 0, v = 0, _ = e.length; v < _; v++) E(e[v], f, m, c, h, l, function (t, n) {o(t, n), e && "length" in e && e.length === ++b && i(b);});else e ? E(e, f, m, c, h, l, function (t, n) {o(t, n), i(1), e = null;}) : i(0);}(r, { afterEach: function (e, n) {e ? m(e) : t._isMounted && t.setState(function () {return { isLoading: !1 };}, function () {try {h(n);} catch (e) {m(e);}});}, beforeEach: function (e) {if (e.setAttribute("role", "img"), a) {var t = e.querySelector(":scope > desc");t && e.removeChild(t);var n = document.createElement("desc");n.innerHTML = a, e.prepend(n);}if (c) {var r = e.querySelector(":scope > title");r && e.removeChild(r);var i = document.createElement("title");i.innerHTML = c, e.prepend(i);}try {p(e);} catch (e) {m(e);}}, cacheRequests: d, evalScripts: o, httpRequestWithCredentials: s, renumerateIRIElements: l });}}, n.removeSVG = function () {var e;null != (e = this.nonReactWrapper) && e.parentNode && (this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper), this.nonReactWrapper = null);}, n.componentDidMount = function () {this._isMounted = !0, this.renderSVG();}, n.componentDidUpdate = function (e) {var t = this;(function (e, t) {for (var n in e) if (!(n in t)) return !0;for (var r in t) if (e[r] !== t[r]) return !0;return !1;})(o()({}, e), this.props) && this.setState(function () {return t.initialState;}, function () {t.removeSVG(), t.renderSVG();});}, n.componentWillUnmount = function () {this._isMounted = !1, this.removeSVG();}, n.render = function () {var e = this.props;e.afterInjection, e.beforeInjection, e.desc, e.evalScripts;var t = e.fallback;e.httpRequestWithCredentials;var n = e.loading;e.renumerateIRIElements, e.src, e.title, e.useRequestCache;var r = e.wrapper,a = i()(e, C),s = r;return w.createElement(s, o()({}, a, { ref: this.refCallback }, "svg" === r ? { xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink" } : {}), this.state.isLoading && n && w.createElement(n, null), this.state.hasError && t && w.createElement(t, null));}, t;}(w.Component);O.defaultProps = { afterInjection: function () {}, beforeInjection: function () {}, desc: "", evalScripts: "never", fallback: null, httpRequestWithCredentials: !1, loading: null, onError: function () {}, renumerateIRIElements: !0, title: "", useRequestCache: !0, wrapper: "div" }, O.propTypes = { afterInjection: T.func, beforeInjection: T.func, desc: T.string, evalScripts: T.oneOf(["always", "once", "never"]), fallback: T.oneOfType([T.func, T.object, T.string]), httpRequestWithCredentials: T.bool, loading: T.oneOfType([T.func, T.object, T.string]), onError: T.func, renumerateIRIElements: T.bool, src: T.string.isRequired, title: T.string, useRequestCache: T.bool, wrapper: T.oneOf(["div", "span", "svg"]) };}]);
   /* Ende gsb_zoll_und_reise_app */
   /* Start gsb_zoll_und_reise_starter */
   "use strict";!function (e) {var o = {};function t(l) {if (o[l]) return o[l].exports;var c = o[l] = { i: l, l: !1, exports: {} };return e[l].call(c.exports, c, c.exports, t), c.l = !0, c.exports;}t.m = e, t.c = o, t.d = function (e, o, l) {t.o(e, o) || Object.defineProperty(e, o, { enumerable: !0, get: l });}, t.r = function (e) {"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 });}, t.t = function (e, o) {if (1 & o && (e = t(e)), 8 & o) return e;if (4 & o && "object" == typeof e && e && e.__esModule) return e;var l = Object.create(null);if (t.r(l), Object.defineProperty(l, "default", { enumerable: !0, value: e }), 2 & o && "string" != typeof e) for (var c in e) t.d(l, c, function (o) {return e[o];}.bind(null, c));return l;}, t.n = function (e) {var o = e && e.__esModule ? function () {return e.default;} : function () {return e;};return t.d(o, "a", o), o;}, t.o = function (e, o) {return Object.prototype.hasOwnProperty.call(e, o);}, t.p = "", t(t.s = 245);}({ 245: function (e, o, t) {"use strict";var l,c,a = t(53),s = (l = a) && l.__esModule ? l : { default: l };c = jQuery, jQuery.fn.gsb_zoll_und_reise_starter = function (e, o) {return this.each(function () {var t = c("#" + e);if (1 === t.length) {var l = c("<div>", { class: "loadingSpinner" }).appendTo(t),a = c("<div>", { class: "loadingSpinnerText", text: "Bitte haben Sie einen Moment Geduld, der Abgabenrechner lädt die notwendigen Daten." }).attr("aria-hidden", !0).appendTo(t);c('<span class="aural">Bitte haben Sie einen Moment Geduld, der Abgabenrechner lädt die notwendigen Daten.</span>').appendTo(t), c.ajax({ indexValue: { webserviceUrl: o }, dataType: "json", url: o, contentType: "json", crossDomain: !1, success: function (o) {console.log("ZuR: GSB Zoll und Reise App Daten erfolgreich geladen."), console.debug(o), (0, s.default)(o.textConfigDe), l.hide(), a.hide(), gsb_zoll_und_reise_app(e, o);}, error: function (e) {console.error("ZuR: Bei Laden der Daten ist folgender Fehler aufgetreten"), console.error(e), l.hide(), a.hide(), c("<div>", { class: "loadingSpinnerText error", text: "Leider konnten die Daten nicht geladen werden. Versuchen sie es zu einem späteren Zeitpunkt noch einmal." }).appendTo(t);} });} else console.error("ZuR: Das Element mit der Id " + e + "wurde " + t.length + " mal im DOM gefunden. Es muss genau 1 mal im DOM vorhanden sein, damit die Anwendung ausgeführt werden kann."), c("<div>", { css: { color: "red", "font-weight": "bold", "font-size": "1.6rem" }, text: "Leider konnte die Zoll und Reise App nicht ausgeführt werden." }).appendTo(c("#content"));});};}, 53: function (e, o, t) {"use strict";Object.defineProperty(o, "__esModule", { value: !0 });var l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e;} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;};o.default = function (e) {var o = c.map(function (o) {var t,l,c = (t = e, l = null, o.split(".").reduce(function (e, o) {return e ? e[o] : l;}, t));return !(!c || !c.trim()) || (console.error("ZuR: Der Text " + o + " bzw. " + o.replace(/[.]/g, "_") + " ist nicht vorhanden oder leer!"), !1);}).filter(function (e) {return !e;}).length;o ? console.error("ZuR: Fehlende Texte: " + o) : console.debug("ZuR: Keine fehlenden Texte festgestellt.");!function e(o, t, c) {for (var a in o) Array.isArray(o[a]) || "object" === l(o[a]) ? e(o[a], "" + t + a + ".", c) : -1 === c.indexOf("" + (t + a)) && console.warn("Der Text '" + (t + a) + "' bzw. '" + (t.replace(/[.]/g, "_") + a) + "' ist vorhanden, wird aber nicht validiert/benötigt");}(e, "", c);};var c = ["closeButton", "screenReader.attention", "screenReader.entries", "screenReader.selected", "screenReader.notSelected", "screenReader.selectInputField", "screenReader.typeaheadButtonDescription", "screenReader.oneLetterFilterButtonsDescription", "screenReader.selectCountryOptionsDescription", "screenReader.calculatorSelectGoodsOptionsDescription", "screenReader.permittedSelectGoodsViewGoodsOptionsDescription", "screenReader.permittedSelectGoodsViewCategoriesOptionsDescription", "screenReader.permittedSelectGoodsViewSpecialRestrictionsOptionsDescription", "screenReader.calculatorSelectGoodsCurrencyInput", "screenReader.calculatorSelectGoodsCurrencyDropdown", "screenReader.calculatorSelectGoodsCurrencyInEuro", "screenReader.calculatorSelectGoodsGoodsSelection", "screenReader.calculatorSelectGoodsAddGoodsBar", "currencySigns.euro", "buttonBar.buttons.back.text", "buttonBar.buttons.continue.text", "buttonBar.buttons.reset.text", "selectedCriteria.label", "selectedCriteria.younger", "selectedCriteria.older", "searchBar.select.placeholder", "searchBar.select.noResults", "stepper.step1", "stepper.step2", "stepper.step3", "stepper.step4", "stepper.step5", "stepper.step6", "popups.goodsPopup.title.iconButtonAltText", "popups.goodsPopup.taxBox.euTax", "popups.goodsPopup.taxBox.title", "popups.goodsPopup.taxBox.zollTax", "popups.goodsPopup.configureGoods.title.text", "popups.goodsPopup.configureGoods.body", "popups.popupCalculatorSelectGoods.title.text", "popups.popupCalculatorSelectGoods.title.iconButtonAltText", "popups.popupPermittedShowResults.title.text", "popups.popupPermittedShowResults.title.iconButtonAltText", "popups.popupPermittedShowResults.listItemIconAltTextOpened", "popups.popupPermittedShowResults.listItemIconAltTextClosed", "screens.mainMenu.title.text", "screens.mainMenu.buttons.calculator.h", "screens.mainMenu.buttons.calculator.text", "screens.mainMenu.buttons.permitted.h", "screens.mainMenu.buttons.permitted.text", "screens.calculatorInfo.title.text", "screens.calculatorInfo.title.altText", "screens.calculatorInfo.body", "screens.calculatorInfo.infoPopup.title.text", "screens.calculatorInfo.infoPopup.title.iconButtonAltText", "screens.calculatorInfo.infoPopup.body", "screens.calculatorInfo.infoPopup.alertBox", "screens.calculatorSelectCountry.title.text", "screens.calculatorSelectCountry.title.altText", "screens.calculatorSelectCountry.infoPopup.title.text", "screens.calculatorSelectCountry.infoPopup.title.iconButtonAltText", "screens.calculatorSelectCountry.infoPopup.body", "screens.calculatorSelectCountry.selectCountryContainer.addCountry", "screens.calculatorSelectAge.title.text", "screens.calculatorSelectAge.title.altText", "screens.calculatorSelectAge.radioButton1.ariaLabel", "screens.calculatorSelectAge.radioButton1.top", "screens.calculatorSelectAge.radioButton1.bottom", "screens.calculatorSelectAge.radioButton2.ariaLabel", "screens.calculatorSelectAge.radioButton2.top", "screens.calculatorSelectAge.radioButton2.bottom", "screens.calculatorSelectAge.radioButton3.ariaLabel", "screens.calculatorSelectAge.radioButton3.top", "screens.calculatorSelectAge.radioButton3.bottom", "screens.calculatorSelectAge.infoPopup.title.text", "screens.calculatorSelectAge.infoPopup.title.iconButtonAltText", "screens.calculatorSelectAge.infoPopup.body", "screens.calculatorSelectTransport.title.text", "screens.calculatorSelectTransport.title.altText", "screens.calculatorSelectTransport.radioButton1.top", "screens.calculatorSelectTransport.radioButton2.top", "screens.calculatorSelectTransport.infoPopup.title.text", "screens.calculatorSelectTransport.infoPopup.title.iconButtonAltText", "screens.calculatorSelectTransport.infoPopup.body", "screens.calculatorSelectTransport.infoPopup.alertBox", "screens.calculatorShowNonEuTransportOtherNotification.title.text", "screens.calculatorShowNonEuTransportOtherNotification.body", "screens.calculatorSelectSpecialGoods.title.text", "screens.calculatorSelectSpecialGoods.title.altText", "screens.calculatorSelectSpecialGoods.sliderLimitExceeded", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.altText", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider2.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider3.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.eu.slider4.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider2.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider3.label", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.tobaccoSliderPanel.notEu.slider4.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.altText", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider2.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider2.subTitle", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider3.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider4.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider4.subTitle", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider5.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider5.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.eu.slider5.subTitle", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider2.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider2.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider3.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider3.label", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider4.ariaLabel", "screens.calculatorSelectSpecialGoods.alcoholSliderPanel.notEu.slider4.label", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.label", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.altText", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.fuelSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.label", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.altText", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.eu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.eu.slider1.label", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.notEu.slider1.ariaLabel", "screens.calculatorSelectSpecialGoods.coffeeSliderPanel.notEu.slider1.label", "screens.calculatorSelectSpecialGoods.noSlidersText", "screens.calculatorSelectSpecialGoods.bottomText.noSpecialGoods", "screens.calculatorSelectSpecialGoods.bottomText.limitNotExceededSpecialGoods1", "screens.calculatorSelectSpecialGoods.bottomText.limitNotExceededSpecialGoods2", "screens.calculatorSelectSpecialGoods.bottomText.limitExceededSpecialGoods1", "screens.calculatorSelectSpecialGoods.bottomText.limitExceededSpecialGoods2", "screens.calculatorSelectSpecialGoods.infoPopup.title.text", "screens.calculatorSelectSpecialGoods.infoPopup.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopup.body", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.eu.body", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.notEu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.notEu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupTobacco.notEu.body", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.eu.body", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.notEu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.notEu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupAlcohol.notEu.body", "screens.calculatorSelectSpecialGoods.infoPopupFuel.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupFuel.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupFuel.eu.body", "screens.calculatorSelectSpecialGoods.infoPopupFuel.notEu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupFuel.notEu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupFuel.notEu.body", "screens.calculatorSelectSpecialGoods.infoPopupCoffee.eu.title.text", "screens.calculatorSelectSpecialGoods.infoPopupCoffee.eu.title.iconButtonAltText", "screens.calculatorSelectSpecialGoods.infoPopupCoffee.eu.body", "screens.calculatorSelectSpecialGoods.predictedTaxesNotice", "screens.calculatorSelectGoods.title.text", "screens.calculatorSelectGoods.title.altText", "screens.calculatorSelectGoods.fromEuropeTextBox", "screens.calculatorSelectGoods.radioButton1.top", "screens.calculatorSelectGoods.radioButton2.top", "screens.calculatorSelectGoods.selectGoodsContainer.title", "screens.calculatorSelectGoods.selectGoodsContainer.addGoodsBarButton", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.addGoods", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.deleteGoodsBarAltText", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.infoGoodsBarAltText", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.currency.placeholder", "screens.calculatorSelectGoods.selectGoodsContainer.selectGoodsBar.currency.resultCurrency", "screens.calculatorSelectGoods.billingAmount", "screens.calculatorSelectGoods.bottomText.limitNotExceededGoods1", "screens.calculatorSelectGoods.bottomText.limitNotExceededGoods2", "screens.calculatorSelectGoods.infoPopup.eu.title.text", "screens.calculatorSelectGoods.infoPopup.eu.title.iconButtonAltText", "screens.calculatorSelectGoods.infoPopup.eu.body", "screens.calculatorSelectGoods.infoPopup.notEu.title.text", "screens.calculatorSelectGoods.infoPopup.notEu.title.iconButtonAltText", "screens.calculatorSelectGoods.infoPopup.notEu.body", "screens.calculatorShowResults.title.text", "screens.calculatorShowResults.predictedTaxes", "screens.calculatorShowResults.taxedGoodsOverview.tableHeadline", "screens.calculatorShowResults.taxedGoodsOverview.goodHead", "screens.calculatorShowResults.taxedGoodsOverview.foreignCurrencyHead", "screens.calculatorShowResults.taxedGoodsOverview.euroCurrencyHead", "screens.calculatorShowResults.taxedGoodsOverview.taxToPayHead", "screens.calculatorShowResults.textBoxSpecialGoods.title.text", "screens.calculatorShowResults.textBoxSpecialGoods.tobaccoLabel", "screens.calculatorShowResults.textBoxSpecialGoods.alcoholLabel", "screens.calculatorShowResults.textBoxSpecialGoods.fuelLabel", "screens.calculatorShowResults.textBoxSpecialGoods.coffeeLabel", "screens.calculatorShowResults.textBoxSpecialGoods.noSpecialGoodsAllowed", "screens.calculatorShowResults.textBoxSpecialGoods.noSpecialGoods", "screens.calculatorShowResults.textBoxSpecialGoods.limitNotExceededSpecialGoods1", "screens.calculatorShowResults.textBoxSpecialGoods.limitNotExceededSpecialGoods2", "screens.calculatorShowResults.textBoxSpecialGoods.limitExceededSpecialGoods1", "screens.calculatorShowResults.textBoxSpecialGoods.limitExceededSpecialGoods2", "screens.calculatorShowResults.textBoxGoods.title.text", "screens.calculatorShowResults.textBoxGoods.fromEuropeTextBox", "screens.calculatorShowResults.textBoxGoods.limitNotExceededGoods1", "screens.calculatorShowResults.textBoxGoods.limitNotExceededGoods2", "screens.calculatorShowResults.textBoxGoods.limitExceededGoods", "screens.calculatorShowResults.predictedTaxesNotice", "screens.calculatorShowResults.flatTaxValue1", "screens.calculatorShowResults.flatTaxValue2", "screens.calculatorShowResults.euTaxValue1", "screens.calculatorShowResults.euTaxValue2", "screens.calculatorShowResults.maxFlatTaxAmount1", "screens.calculatorShowResults.maxFlatTaxAmount2", "screens.calculatorShowResults.zollTaxValue1", "screens.calculatorShowResults.zollTaxValue2", "screens.permittedInfo.title.text", "screens.permittedInfo.title.altText", "screens.permittedInfo.body", "screens.permittedInfo.infoPopup.title.text", "screens.permittedInfo.infoPopup.title.iconButtonAltText", "screens.permittedInfo.infoPopup.body", "screens.permittedInfo.infoPopup.alertBox", "screens.permittedSelectCountry.title.text", "screens.permittedSelectCountry.title.altText", "screens.permittedSelectCountry.infoPopup.title.text", "screens.permittedSelectCountry.infoPopup.title.iconButtonAltText", "screens.permittedSelectCountry.infoPopup.body", "screens.permittedSelectCountry.selectCountryContainer.addCountry", "screens.permittedSelectGoods.title.text", "screens.permittedSelectGoods.title.altText", "screens.permittedSelectGoods.radioButton1.top", "screens.permittedSelectGoods.radioButton2.top", "screens.permittedSelectGoods.radioButton3.top", "screens.permittedSelectGoods.infoPopup.title.text", "screens.permittedSelectGoods.infoPopup.title.iconButtonAltText", "screens.permittedSelectGoods.infoPopup.body"];} });
   /* Ende gsb_zoll_und_reise_starter */
})();

   /* Start init */
   "use strict"; //noinspection ES6ConvertVarToLetConst
var _paq = _paq || [];
$(document).ready(function () {
  "use strict";

  var $body = $("body"),
    $html = $("html"),
    $content = $(".content"),
    $headerSticky = $(".js-header-sticky");

  // Deaktivierung von Animationen für automatisierte Tests (Backstop, Cypress, ...)
  if (typeof Cookies !== "undefined" && Cookies.get && Cookies.get("testmode")) {
    $.fx.off = true;
    $body.addClass("no-transition");
  }

  $body.addClass("js-on").removeClass("js-off");

  // BITV: Alle Flyouts, die über hover angezeigt werden, müssen
  // anderweitig (hier: über Esc) schließbar sein
  $body.on("keydown", function (ev) {
    const key = ev.key;
    if (key === "Esc" || key === "Escape") {
      $body.trigger("closeAllFlyouts.gsb");
    }
  });
  $body.on("closeAllFlyouts.gsb", function () {
    $body.find(".mejs__captions-selector").not(".mejs__offscreen").
    addClass("mejs__offscreen");
    $body.find(".mejs__volume-slider").not(":hidden").
    hide();
    $('.js-share').find('.js-share-close').click();
  });

  // Responsive Tabellen
  $content.gsb_responsiveTables({
    copyClassesFromTableToWrapper: {
      inherit: true
    }
  });
  adjustTableWidth();


  // Multimedia / Video
  gsb.requireGSBComponent("bundle_multimedia", $("video, audio")).done(function ($media) {
    $media.gsb_Multimedia();
  });

  function checkBannerForShrinkheader(shrinkheader) {
    shrinkheader.options.shrinkOn = Cookies.get("gsbbanner") == "closed" ? 1 : $("#c-cookiebanner").outerHeight();
    shrinkheader.removeScrollEvent();
    shrinkheader.initScrollEvent();
  }

  // sticky navigation
  $headerSticky.gsb_shrinkheader({
    shrinkOn: Cookies.get("gsbbanner") == "closed" ? 1 : $("#c-cookiebanner").outerHeight(),
    selectors: {
      elementToAddMarginTo: "main"
    },
    onRefresh: function () {
      checkBannerForShrinkheader(this);
    },
    responsive: [
    {
      breakpoint: 1024,
      onRefresh: function () {
        checkBannerForShrinkheader(this);
      }
    }]

  });

  // Cookiebanner
  $("#c-cookiebanner").each((i, el) => {
    const $banner = $(el);
    $banner.gsb_banner({
      animation: $banner.data('animation'),
      cookieName: $banner.attr('data-cookie-name'),
      position: $banner.data('position'),
      trackingEnabled: true,
      responsive: [{
        breakpoint: 1024,
        onRefresh: function () {
          this.createBanner(true);
        }
      }, {
        breakpoint: 600,
        onRefresh: function () {
          this.createBanner(true);
        }
      }]
    });
  }).find('.c-button').on('click', function () {
    checkBannerForShrinkheader($headerSticky.data("gsb.shrinkheader"));
  });

  $('.js-breadcrumb').gsb_breadcrumb_expander({
    selectors: {
      list: '.js-breadcrumb__list'
    },
    classes: {
      listElement: 'c-breadcrumb__item c-breadcrumb__item--button', //Class on the <li> (for styling)
      jsClassListItem: 'js-breadcrumb-expand-item' //Class on the <li> (for scripting)
    },
    expandButton: {
      jsClass: 'js-breadcrumb-button',
      cClass: 'c-breadcrumb__button'
    },
    numberOfInitialVisibleItems: 1,
    responsive: [{
      breakpoint: "large",
      numberOfInitialVisibleItems: 2
    }]
  });

  // Flyout
  const $flyout = $(".js-flyout");
  $flyout.gsb_simple_toggle({
    item: '.js-flyout',
    opener: '.js-flyout-toggle',
    closeOnFocusout: true
  }).on("afterOpen.simple_toggle.gsb", function (ev) {
    if ($flyout.find(".js-flyout-toggle.active-control").length > 0) {
      $body.addClass("flyout-is-open");
      adjustFlyoutPosition();
    }
  }).on("afterClose.simple_toggle.gsb", function () {
    if ($flyout.find(".js-flyout-toggle.active-control").length < 1) {
      $body.removeClass("flyout-is-open");
    }
  });

  $(window).on("resize", function () {
    adjustFlyoutPosition();
    adjustTableWidth();
  });

  function adjustFlyoutPosition() {
    if ($(".l-header__breadcrumbs").length) {
      let headerHeight = $(".l-header").height();
      let stickyBarHeight = $(".c-sticky-bar").height();
      let adjustedHeight = headerHeight;

      if ($(window).width() < 1024) {
        adjustedHeight = headerHeight + stickyBarHeight;
      }

      $flyout.css("top", headerHeight);
      // $flyout.css("height", "calc(100vh - " + headerHeight + "px)");
      $flyout.find(".c-flyout__inner").css("max-height", "calc(100vh - " + adjustedHeight + "px)");
    }
  }

  function adjustTableWidth() {
    $(".c-article__content .responsiveTableWrapper").each(function (i, table) {
      if ($(window).width() < 1024) {
        $(table).removeClass("is-not-scrollable");
      } else {
        if ($(table).find("table").width() <= 977) {
          $(table).addClass("is-not-scrollable");
        }
      }
    });
  }

  // Navigations-Flyout
  $(".js-flyout-nav").gsb_zoll_treeview();

  // Hub-Navigation
  $(".js-hub-navigation").gsb_simple_toggle({
    item: '.js-hub-navigation-list',
    opener: '.js-hub-navigation-toggle',
    closeOnFocusout: true
  });

  // Richtext-Accordion
  $('#content').on('init.toggle.gsb', function () {
    $(this).find('.c-richtext-accordion .heading + div').each(function () {
      if ($(this).children().first().html() != "<div/>" && !$(this).hasClass('js-wrapped')) {
        $(this).addClass('js-wrapped').children().wrapAll("<div/>");
      }
    });
  }).gsb_toggle({
    richtext: true,
    richtextWrapper: "<div class='c-richtext-accordion'/>",
    richtextStart: ".js-richtext-accordion-start",
    richtextEnd: ".js-richtext-accordion-end",
    richtextControl: ".c-richtext-accordion__opener",
    accordionCloseOther: false,
    mode: "accordion",
    responsive: null,
    onRefresh: function () {
      this.$el.trigger('init.toggle.gsb');
      this.switchAccordingToMode();
    }
  });

  $('.c-richtext-accordion').on('afterAnimationOpen.toggle.gsb', function () {
    // Open-All-Button ggf. aktualisieren
    if ($(this).find('.c-richtext-accordion__opener.inactive-control').length === 0) {
      let $toggleAll = $(this).find('.js-richtext-accordion-toggle-all');
      $toggleAll.find('span').html(accordeon_close_all);
      $toggleAll.addClass('is-opened');
      $toggleAll.removeClass('is-closed');
    }
  }).on('afterAnimationClose.toggle.gsb', function () {
    // Open-All-Button ggf. aktualisieren
    if ($(this).find('.c-richtext-accordion__opener.active-control').length === 0) {
      let $toggleAll = $(this).find('.js-richtext-accordion-toggle-all');
      $toggleAll.find('span').html(accordeon_open_all);
      $toggleAll.addClass('is-closed');
      $toggleAll.removeClass('is-opened');
    }
  });

  // Accordions (z.B. Glossar)
  const $accordion = $('.js-accordion');
  initAccordion($accordion);

  function initAccordion($accordion) {
    $accordion.on('init.toggle.gsb', function () {
      $(this).find('> .js-accordion-container > .js-accordion-item > .js-accordion-entry').each(function () {
        if ($(this).children().first().html() != "<div/>" && !$(this).hasClass('js-wrapped')) {
          $(this).addClass('js-wrapped').children().wrapAll("<div/>");
        }
      });
    }).on('afterAnimationOpen.toggle.gsb', function () {
      $('.js-slider-numbers').slick('setPosition');
      // Open-All-Button ggf. aktualisieren
      if ($(this).find('.js-accordion-opener.inactive-control').length === 0) {
        let $toggleAll = $(this).find('.js-accordion-toggle-all');
        $toggleAll.find('span').html(accordeon_close_all);
        $toggleAll.addClass('is-opened');
        $toggleAll.removeClass('is-closed');
      }
      $(window).trigger('resize');
    }).on('afterAnimationClose.toggle.gsb', function () {
      // Open-All-Button ggf. aktualisieren
      if ($(this).find('.js-accordion-opener.active-control').length === 0) {
        let $toggleAll = $(this).find('.js-accordion-toggle-all');
        $toggleAll.find('span').html(accordeon_open_all);
        $toggleAll.addClass('is-closed');
        $toggleAll.removeClass('is-opened');
      }
    });

    $accordion.each(function () {
      const allOpen = $(this).data('all-open') !== undefined && $(this).data('all-open') === 1,
        accordionCloseOther = $(this).data('close-other') !== undefined && $(this).data('close-other') === 1;

      $(this).gsb_toggle({
        allOpen: allOpen,
        accordionCloseOther: accordionCloseOther,
        elements: '> .js-accordion-container > .js-accordion-item > .js-accordion-entry',
        heading: '> .js-accordion-container > .js-accordion-item > .js-accordion-opener',
        accordionContainer: '> .js-accordion-container',
        mode: 'accordion',
        onRefresh: function () {
          this.$el.trigger('init.toggle.gsb');
          this.switchAccordingToMode();
        }
      });
    });

    // Initialisierung Open-All-Button
    $accordion.find('.js-accordion-toggle-all').on('click', function () {
      if ($(this).hasClass('is-closed')) {
        $(this).parent().parent().find('.js-accordion-opener.inactive-control').each(function () {
          $(this).click();
        });
        $(this).find('span').html(accordeon_close_all);
      }
      if ($(this).hasClass('is-opened')) {
        $(this).parent().parent().find('.js-accordion-opener.active-control').each(function () {
          $(this).click();
        });
        $(this).find('span').html(accordeon_open_all);
      }
      $(this).toggleClass('is-opened');
      $(this).toggleClass('is-closed');
    });
  }

  // Accordion Open-All-Button START
  // Button erstellen für Richtext-Accordion...
  const buttonRichtext = $('<button>', { class: 'c-richtext-accordion__toggle-all js-richtext-accordion-toggle-all is-closed' });
  const spanRichtext = $('<span>', { class: 'c-richtext-accordion__toggle-all-label', text: accordeon_open_all });
  buttonRichtext.append(spanRichtext);
  $('.c-richtext-accordion .tabs-container').before(buttonRichtext);

  // Klick-Logik für Richtext-Accordion...
  $('.js-richtext-accordion-toggle-all').on('click', function () {
    if ($(this).hasClass('is-closed')) {
      $(this).parent().find(".c-richtext-accordion__opener.inactive-control button").each(function () {
        $(this).click();
      });
      $(this).find('span').html(accordeon_close_all);
    }
    if ($(this).hasClass('is-opened')) {
      $(this).parent().find(".c-richtext-accordion__opener.active-control button").each(function () {
        $(this).click();
      });
      $(this).find('span').html(accordeon_open_all);
    }
    $(this).toggleClass('is-opened');
    $(this).toggleClass('is-closed');
  });

  // Drucken
  $(".js-print").on("click", function (e) {
    e.preventDefault();
    window.print();
  });

  // Share
  $('.js-share').gsb_simple_toggle({
    opener: '.js-share-button',
    closer: '.js-share-close',
    item: '.js-share-box',
    showClass: 'visible',
    hideClass: 'invisible',
    closeOnFocusout: true
  }).on('afterOpen.simple_toggle.gsb', function () {
    $body.on("keydown", function (ev) {
      const key = ev.key;
      if (key === "Esc" || key === "Escape") {
        $body.trigger("closeAllFlyouts.gsb");
      }
    });
  });

  // AutoSuggest
  $('.js-autosuggest').gsb_AutoSuggest({
    markup: {
      box: '<ul class="c-autosuggest"></ul>'
    }
  });

  // AutoSuggest für PLZ / Ort
  $('.js-autosuggest-plz').gsb_AutoSuggest({
    selectors: {
      input: ".js-autosuggest-plz-input input[type=text], .js-autosuggest-plz-input input[type=search]"
    },
    markup: {
      box: '<ul class="c-autosuggest"></ul>'
    }
  });

  // Suche - Facetten & Sortierung
  $('.js-sort, .js-search-filter').gsb_simple_toggle();

  const $jsToggleFacets = $('.js-toggle-facets');
  $jsToggleFacets.gsb_simple_toggle({
    opener: '.js-toggle-facets-opener',
    item: '.js-toggle-facets-item',
    closeOnFocusout: true
  }).on('afterOpen.simple_toggle.gsb', function () {
    $(this).siblings($jsToggleFacets).trigger('close.simple_toggle.gsb');
    const $toggleButton = $('.js-toggle-facets-opener');
    const $input = $(this).closest($jsToggleFacets).find('input');
    if ($toggleButton.hasClass('active-control')) {
      setTimeout(function () {
        $input.focus();
      }, 0);
    }
    $input.on('keydown', function () {
      $(this).closest($jsToggleFacets).trigger('close.simple_toggle.gsb');
    });
  });

  // Facetten-Lightbox
  const $jsFacetLightboxes = $('.js-facet-lightbox');
  $jsFacetLightboxes.each(function () {
    $(this).find('.js-facet-lightbox-opener').magnificPopup({
      items: {
        type: 'inline',
        midClick: true,
        src: $(this).find('.js-facet-lightbox-content')
      }
    });
  });

  const $jsToggleFacetsSublist = $('.js-facet--has-sublist');
  $jsToggleFacetsSublist.gsb_simple_toggle({
    opener: '.js-toggle-facets-sublist-opener',
    item: '.js-toggle-facets-sublist-item'
  });

  // Tab-Modul
  $('.js-tabs').gsb_toggle({
    mode: 'tabs',
    hashControlled: true,
    tabContainer: '.js-tabs-container',
    tabControls: '.js-tabs-link',
    tabControlContainer: '.js-tabs-list',
    elements: '.js-tabs-element',
    heading: '.js-tabs-heading',
    accordionContainer: '.js-tabs-container',
    tabbables: 'a[href], area, input, button, select, textarea, audio, video, [tabindex]',
    switchPanelClass: 'js-tabs-switch-panel',
    panelOpenedClass: 'js-tabs-panel-opened',
    panelClosedClass: 'js-tabs-panel-closed',
    scrolling: {
      scrollOverlaySelector: '.js-header-sticky.is-sticky'
    },
    responsive: [{
      breakpoint: 1024,
      mode: 'accordion'
    }]
  }).on("afterAnimationOpen.toggle.gsb", function (ev, elem) {
    $(elem).find('button').focus();
    if ($(window).scrollTop() + $('.l-header').outerHeight() > $(elem).offset().top) {
      $(window).scrollTop($(elem).offset().top - $('.l-header').outerHeight());
    }
    $(window).trigger('resize');
  });

  // Lightboxes
  $('.GlossarEntry[data-lightbox-href]').gsb_lightbox();
  $('.js-lightbox').gsb_lightbox();
  $('.js-loupe').not('.c-gallery .js-slider-numbers *').gsb_lightbox();
  $('.c-gallery .js-slider-numbers').gsb_lightbox({
    lightboxType: 'multiple',
    preloadImages: false,
    element: '.js-slide',
    opener: '.js-loupe',
    imagePrev: image_url_back,
    imageNext: image_url_next,
    imagePrevInactive: image_url_back_g,
    imageNextInactive: image_url_next_g,
    magnificOptions: {
      fixedContentPos: true,
      gallery: {
        tCounter: '<span class="mfp-counter">%curr% of %total%</span>',
        arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"><img class="mfp-prevent-close" alt="%title%"/></button>'
      }
    }
  }).on('mfpOpen', function () {
    const slider = this;

    $('.mfp-arrow-left').on('click', function () {
      $('.mfp-arrow-left').prop('disabled', true);
      setTimeout(function () {
        $('.mfp-arrow-left').prop('disabled', false);
      }, 600);

      $(slider).find('.js-slideshow-navigation-prev').click();

    });
    $('.mfp-arrow-right').on('click', function () {
      $('.mfp-arrow-right').prop('disabled', true);
      setTimeout(function () {
        $('.mfp-arrow-right').prop('disabled', false);
      }, 600);

      $(slider).find('.js-slideshow-navigation-next').click();
    });
  });

  // lightbox: Bildnachweis
  $body.gsb_imageSourceLightbox({
    images: 'main img[data-source]'
  });

  //region Slider with Numbers
  $('.js-slider-numbers').each(function () {

    const $slider = $(this);

    const smallSlides = $slider.data('small-slides') || 1;
    const mediumSlides = $slider.data('medium-slides') || 1;
    const largeSlides = $slider.data('large-slides') || 1;
    const smallScroll = $slider.data('small-scroll') || 1;
    const mediumScroll = $slider.data('medium-scroll') || 1;
    const largeScroll = $slider.data('large-scroll') || 1;
    const infinite = $slider.data('infinite') !== undefined && $slider.data('infinite') === 1;
    const autoplay = $slider.data('autoplay') !== undefined && $slider.data('autoplay') === 1;
    const ariaRole = $slider.data('aria-role') || '';


    function getSettings(slides, scroll) {
      if (slides === "unslick") {
        return 'unslick';
      } else {
        return {
          slidesToShow: slides,
          slidesToScroll: scroll
        };
      }
    }

    let smallSettings = getSettings(smallSlides, smallScroll);
    let mediumSettings = getSettings(mediumSlides, mediumScroll);
    let largeSettings = getSettings(largeSlides, largeScroll);

    $slider.gsb_slideshow_numbers({
      ariaRole: ariaRole,
      selectors: {},
      classes: {
        initialized: 'is-initialized'
      },
      slickOptions: {
        rows: 0,
        // https://github.com/kenwheeler/slick#settings verfügbare Optionen und Defaults
        slide: '.js-slide',
        infinite: infinite,
        autoplay: autoplay,
        dots: false,
        arrows: true,
        slidesToShow: smallSlides,
        mobileFirst: true,
        responsive: [
        {
          breakpoint: 1,
          settings: smallSettings
        },
        {
          breakpoint: 649,
          settings: mediumSettings
        },
        {
          breakpoint: 1023,
          settings: largeSettings
        }]

      }
    });

  });

  //region Slider with Dots
  $('.js-slider-dots').each(function () {

    const $slider = $(this);

    const smallSlides = $slider.data('small-slides') || 1;
    const mediumSlides = $slider.data('medium-slides') || 1;
    const largeSlides = $slider.data('large-slides') || 1;
    const smallScroll = $slider.data('small-scroll') || 1;
    const mediumScroll = $slider.data('medium-scroll') || 1;
    const largeScroll = $slider.data('large-scroll') || 1;
    const infinite = $slider.data('infinite') !== undefined && $slider.data('infinite') === 1;
    const autoplay = $slider.data('autoplay') !== undefined && $slider.data('autoplay') === 1;
    const ariaRole = $slider.data('aria-role') || '';

    function getSettings(slides, scroll) {
      if (slides === "unslick") {
        return 'unslick';
      } else {
        return {
          slidesToShow: slides,
          slidesToScroll: scroll
        };
      }
    }

    let smallSettings = getSettings(smallSlides, smallScroll);
    let mediumSettings = getSettings(mediumSlides, mediumScroll);
    let largeSettings = getSettings(largeSlides, largeScroll);

    $slider.gsb_slideshow_dots({
      ariaRole: ariaRole,
      selectors: {},
      classes: {
        initialized: 'is-initialized'
      },
      slickOptions: {
        rows: 0,
        // https://github.com/kenwheeler/slick#settings verfügbare Optionen und Defaults
        slide: '.js-slide',
        infinite: infinite,
        dots: true,
        autoplay: autoplay,
        arrows: true,
        appendDots: true,
        slidesToShow: smallSlides,
        mobileFirst: true,
        responsive: [
        {
          breakpoint: 1,
          settings: smallSettings
        },
        {
          breakpoint: 649,
          settings: mediumSettings
        },
        {
          breakpoint: 1023,
          settings: largeSettings
        }]

      }
    });
  });

  // Flipcard
  $('.js-flip-card').gsb_flip_card({});

  // Sticky-Bar-Flyouts
  let initStickyBarFlyouts = function () {
    $(".js-sticky-bar-item").gsb_simple_toggle({
      item: '.js-sticky-bar-flyout',
      opener: '.js-sticky-bar-toggle',
      closeOnFocusout: true
    }).on('afterOpen.simple_toggle.gsb', function () {
      $body.addClass('sticky-bar-flyout-shown');
    }).on('afterClose.simple_toggle.gsb', function () {
      $body.removeClass('sticky-bar-flyout-shown');
    });
  };

  // Dynamisches Aufbauen des ToCs bei eingebetteten Modulen
  let $toc = $(".js-toc");
  if ($toc.length > 1) {
    var tocLevel = $toc.data("toc-level") === 0 ? 1 : parseInt($toc.data("toc-level"));
    var tocTargets = [];
    for (var i = 0, j = tocLevel; i <= j; i++) {
      tocTargets.push(".c-article h" + (i + 1));
    }
    tocTargets = tocTargets.join(", ");
    $toc.gsb_generate_jumpnav({
      selectors: {
        listItem: "li",
        list: "ul",
        targets: tocTargets,
        navContainer: ".js-toc",
        text: "a > span",
        ignoreHeadlines: ".aural, .c-toc *, .c-related .c-accordion *, .js-tabs *,.c-topiclist__headline"
      },
      callback: (e) => {
        setTimeout(function () {
          $('html').gsb_scroll_control({
            selectors: {
              overlays: '.js-header-sticky.is-sticky',
              anchorLinks: 'a[href*="#"]:not(.js-tabs-link,[href="#"])',
              excludeFromScrollOnPageLoad: '.js-tabs-element, .js-tabs-heading'
            }
          });
          initStickyBarFlyouts();
          const stickyBarTOCIID = $('.js-sticky-bar-toc').attr('id');
          $('.js-toc-desktop-container').parent().parent().find('.js-sticky-bar-toc-link').attr('href', '#' + stickyBarTOCIID);
        }, 50);
      }
    });
  } else {
    $('html').gsb_scroll_control({
      selectors: {
        overlays: '.js-header-sticky.is-sticky',
        anchorLinks: 'a[href*="#"]:not(.js-tabs-link,[href="#"])',
        excludeFromScrollOnPageLoad: '.js-tabs-element, .js-tabs-heading'
      }
    });
    initStickyBarFlyouts();
  }

  // Dynamisch nachladbare Inhalte
  gsb.checkDependencies(['gsb.dynamicLoader'], function () {
    $('.js-dynamic-loader').gsb_dynamicLoader();
  });

  // Tab-Inhalte nachladen
  gsb.checkDependencies(['gsb.tab_content_loader'], function () {
    $('.js-tab-content-loader').gsb_tab_content_loader();
  });

  // JavaScript-Module nach dem Nachladen der Tab-Inhalte initialisieren
  $('.js-tab-content-loader-target').on('updateTabScripts.tab_content_loader.gsb', function () {
    // Responsive Tabellen
    $(this).gsb_responsiveTables({
      copyClassesFromTableToWrapper: {
        inherit: true
      }
    });
    adjustTableWidth();
    const $accordion = $(this).find('.js-accordion');
    initAccordion($accordion);
    if ($('.js-tabs-panel-opened .map.leaflet-container').length === 0) {
      $('.js-tabs-panel-opened .map').gsb_zoll_map({
        divId: 'map' + $('.js-tabs-panel-opened').data('category')
      });
    }
    var $openedAccordionElement = $('.js-tabs-element').filter(function () {
      return $(this).prev('.active-control').length > 0;
    });
    if ($openedAccordionElement.find('.map.leaflet-container').length === 0) {
      $openedAccordionElement.find('.map').gsb_zoll_map({
        divId: 'map' + $openedAccordionElement.data('category')
      });
    }
  });

  // Tooltips
  $('.js-tooltip').gsb_tooltip();

  // Load-Button-small (Nur auf small...)
  $('.js-load-content-button').on('click', function () {
    $(this).parent().find('.js-load-content').show();
    $(this).hide();
  });

  // Bei Fehlern im Formular zum ersten Fehlerlink springen
  const $formErrors = $(".c-error-list");
  if ($formErrors.length > 0) {
    setTimeout(function () {
      $('html, body').animate({
        scrollTop: $formErrors.first().offset().top - 200
      }, 'slow');
      $($formErrors.find("a").first()).focus().select();
    });
  }

  // Fancy Selects für Formulare
  $('.js-fancy-select-wrapper').gsb_fancy_selects();

  // Back-to-top-Button
  $('.js-back-to-top').on('click', function () {
    setTimeout(function () {
      $('html, body').animate({
        scrollTop: 0
      }, 'slow');
    });
  });

  // Fokus auf das Searchfeld setzen, wenn eine Facette geladen wurde
  $('#searchfacet_jumploc').on('focus', function () {
    let $input = $(this).find('input');
    let value = $input.val();
    $input.focus().val('').val(value);
  });

  if (ISPREVIEW) {// Prüfe, ob Aria-describedby und labelled-by passende IDs und zugehörige Elemente haben

    const aria = new Set();
    const aria2 = new Set();
    const ids = new Set();
    const arrAria = [...$body.html().matchAll(/<[^<]*(aria-labelledby=\"([^\"]*)\"|aria-describedby=\"([^\"]*)\")[^>]*>/gm)];
    arrAria.forEach((el) => {
      if (!aria.has(el[2]) && !aria.has(el[3])) {
        aria.add(el[2]);
        aria.add(el[3]);
        aria.delete(undefined);
      } else
      {
        console.log('ID bereits vergeben: ' + el[0]);
      }
    });
    aria.forEach((el) => {
      if (el.indexOf(' ') > -1) {
        const split = el.split(' ');
        split.forEach((x) => {
          aria2.add(x);
        });
      } else {
        aria2.add(el);
      }
    });
    const arrId = [...$body.html().matchAll(/<[^<]* id=\"([^\"]*)\"[^>]*>/gm)];
    arrId.forEach((el) => {
      if (!ids.has(el[1])) {
        ids.add(el[1]);
      } else
      {
        console.log('ID doppelt: ' + el[0]);
      }

    });

    let missingIds = new Set();
    aria2.forEach((el) => {
      if (!ids.has(el)) {
        missingIds.add(el);
      }
    });

    if (missingIds.size > 0) {
      const additionalHTML = 'Folgende Aria-Ids haben kein Ziel: ';
      missingIds.forEach((el) => console.log(additionalHTML + el));
    }
  }

  // zoll und post app, wird gestartet über gsb_zoll_und_post_starter
  if (typeof $.fn.gsb_zoll_und_post_starter === 'function') {
    $('#zollUndPostApp').gsb_zoll_und_post_starter('zollUndPostApp', json_url_Zoll_und_Post_API);
  }
  // zoll und reise app, wird gestartet über gsb_zoll_und_reise_starter
  if (typeof $.fn.gsb_zoll_und_reise_starter === 'function') {
    $('#zollUndReiseApp').gsb_zoll_und_reise_starter('zollUndReiseApp', json_url_Zoll_und_Reise_API);
  }

  //WebMap fuer Dienststellensuche
  $('#map').gsb_zoll_map();
  //WebMap fuer Dienststellen-Einzelansicht
  if ($('.map').length > 0) {
    //WebMap fuer Dienststelleneinzelansicht im aktiven Tab initialisieren
    if ($('.panel-opened').length > 0) {
      var selectorMap = '.js-tabs-panel-opened .map';
      var selectorCategory = '.js-tabs-panel-opened';
    } else
    {
      var selectorMap = '.map';
      var selectorCategory = '.c-ds-detailview-content';
    }
    $(selectorMap).gsb_zoll_map({
      divId: 'map' + $(selectorCategory).data('category')
    });
  }

  /* MapListPanel-Funktionalität fuer small ohne aktive WebMap-Instanz */
  if ($('.c-dienststellensuche__webMapFullscreen').is(':visible')) {
    $('.c-dienststellensuche__webMapFullscreen').before($('.c-dienststellensuche__mapListPanel'));
    $('.c-dienststellensuche__mapListPanel').css({
      position: 'relative',
      'max-width': 'none',
      'overflow-y': 'scroll',
      'max-height': '274px',
      'top': '-40px'
    });
    $('.c-dienststellensuche__heading--mapListPanel').css({
      'width': '100%',
      'max-width': 'none',
      'text-align': 'center'
    });
  }

  $('.c-dienststellensuche__mapListPanel').gsb_toggle({
    mode: 'accordion',
    elements: '> .tabs-container ul'
  });

  // Social-Disclaimer als Lightbox initialisieren
  let disclaimerLightbox = function () {
    let popupLink = $('.l-footer__siteinfo .c-footer-social__item .c-footer-social__link, .c-flyout-nav__meta-social .c-flyout-nav__meta-item .c-flyout-nav__meta-link, .c-ds-detailview__webMap .leaflet-control-attribution > a:first-child, .c-dienststellensuche__webMap .leaflet-control-attribution > a:first-child');
    popupLink.each(function () {
      var popupOpener = $(this);
      var popupText = LEAFLET_POPUP_TEXT;
      if ($(this).hasClass('facebook')) {
        popupText = FACEBOOK_POPUP_TEXT;
      } else if ($(this).hasClass('x')) {
        popupText = TWITTER_POPUP_TEXT;
      } else if ($(this).hasClass('linkedin')) {
        popupText = LINKEDIN_POPUP_TEXT;
      } else if ($(this).hasClass('instagram')) {
        popupText = INSTAGRAM_POPUP_TEXT;
      } else if ($(this).hasClass('mastodon')) {
        popupText = MASTODON_POPUP_TEXT;
      } else if ($(this).hasClass('bluesky')) {
        popupText = BLUESKY_POPUP_TEXT;
      }
      let popupMarkup = $('<div class="c-socialmedia-disclaimer">' + popupText + '</div>');
      $(this).magnificPopup({
        items: {
          src: popupMarkup,
          type: 'inline'
        }
      });
    });
  };

  disclaimerLightbox();

  //Logout-Button
  let addLogoutButton = function () {
    // Login-Info zur DOM-Manipulation nutzen
    $.getJSON(json_url_login_info, function (data) {
      if (typeof data.userLoggedIn === 'boolean' && data.userLoggedIn === true) {
        // Nutzer ist angemeldet
        let logoutButtonStr = `<div class="c-breadcrumb__logout-button"><a class="c-button is-very-high" href="${link_url_logout}"><span class="c-button__text">Logout</span></a></div>`;
        $(".js-breadcrumb__list").after(logoutButtonStr);
      }
    });
  };

  addLogoutButton();
});
   /* Ende init */