BetterDiscordApp-rauenzi/js/main.js

900 lines
884 KiB
JavaScript

var Core =
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./src/builtins/24hour.js":
/*!********************************!*\
!*** ./src/builtins/24hour.js ***!
\********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class TwentyFourHour extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"24Hour\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"twentyFourHour\";\n }\n\n enabled() {\n this.inject24Hour();\n }\n\n disabled() {\n if (!this.cancel24Hour) return;\n this.cancel24Hour();\n delete this.cancel24Hour;\n }\n\n inject24Hour() {\n if (this.cancel24Hour) return;\n const twelveHour = new RegExp(`([0-9]{1,2}):([0-9]{1,2})\\\\s(AM|PM)`);\n\n const convert = data => {\n const matched = data.returnValue.match(twelveHour);\n if (!matched || matched.length !== 4) return;\n if (matched[3] === \"AM\") return data.returnValue = data.returnValue.replace(matched[0], `${matched[1] === \"12\" ? \"00\" : matched[1].padStart(2, \"0\")}:${matched[2]}`);\n return data.returnValue = data.returnValue.replace(matched[0], `${matched[1] === \"12\" ? \"12\" : parseInt(matched[1]) + 12}:${matched[2]}`);\n };\n\n const cancelCozy = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].TimeFormatter, \"calendarFormat\", {\n after: convert\n }); // Called in Cozy mode\n\n const cancelCompact = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].TimeFormatter, \"dateFormat\", {\n after: convert\n }); // Called in Compact mode\n\n this.cancel24Hour = () => {\n cancelCozy();\n cancelCompact();\n }; // Cancel both\n\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zLzI0aG91ci5qcz9kZTc4Il0sIm5hbWVzIjpbIlR3ZW50eUZvdXJIb3VyIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiZW5hYmxlZCIsImluamVjdDI0SG91ciIsImRpc2FibGVkIiwiY2FuY2VsMjRIb3VyIiwidHdlbHZlSG91ciIsIlJlZ0V4cCIsImNvbnZlcnQiLCJkYXRhIiwibWF0Y2hlZCIsInJldHVyblZhbHVlIiwibWF0Y2giLCJsZW5ndGgiLCJyZXBsYWNlIiwicGFkU3RhcnQiLCJwYXJzZUludCIsImNhbmNlbENvenkiLCJVdGlsaXRpZXMiLCJtb25rZXlQYXRjaCIsIkRpc2NvcmRNb2R1bGVzIiwiVGltZUZvcm1hdHRlciIsImFmdGVyIiwiY2FuY2VsQ29tcGFjdCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVlLG1FQUFJLE1BQU1BLGNBQU4sU0FBNkJDLHdEQUE3QixDQUFxQztBQUNwRCxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLFFBQVA7QUFBaUI7O0FBQzdCLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxnQkFBUDtBQUF5Qjs7QUFFbkNDLFNBQU8sR0FBRztBQUNOLFNBQUtDLFlBQUw7QUFDSDs7QUFFREMsVUFBUSxHQUFHO0FBQ1AsUUFBSSxDQUFDLEtBQUtDLFlBQVYsRUFBd0I7QUFDeEIsU0FBS0EsWUFBTDtBQUNBLFdBQU8sS0FBS0EsWUFBWjtBQUNIOztBQUVERixjQUFZLEdBQUc7QUFDWCxRQUFJLEtBQUtFLFlBQVQsRUFBdUI7QUFFdkIsVUFBTUMsVUFBVSxHQUFHLElBQUlDLE1BQUosQ0FBWSxxQ0FBWixDQUFuQjs7QUFDQSxVQUFNQyxPQUFPLEdBQUlDLElBQUQsSUFBVTtBQUN0QixZQUFNQyxPQUFPLEdBQUdELElBQUksQ0FBQ0UsV0FBTCxDQUFpQkMsS0FBakIsQ0FBdUJOLFVBQXZCLENBQWhCO0FBQ0EsVUFBSSxDQUFDSSxPQUFELElBQVlBLE9BQU8sQ0FBQ0csTUFBUixLQUFtQixDQUFuQyxFQUFzQztBQUN0QyxVQUFJSCxPQUFPLENBQUMsQ0FBRCxDQUFQLEtBQWUsSUFBbkIsRUFBeUIsT0FBT0QsSUFBSSxDQUFDRSxXQUFMLEdBQW1CRixJQUFJLENBQUNFLFdBQUwsQ0FBaUJHLE9BQWpCLENBQXlCSixPQUFPLENBQUMsQ0FBRCxDQUFoQyxFQUFzQyxHQUFFQSxPQUFPLENBQUMsQ0FBRCxDQUFQLEtBQWUsSUFBZixHQUFzQixJQUF0QixHQUE2QkEsT0FBTyxDQUFDLENBQUQsQ0FBUCxDQUFXSyxRQUFYLENBQW9CLENBQXBCLEVBQXVCLEdBQXZCLENBQTRCLElBQUdMLE9BQU8sQ0FBQyxDQUFELENBQUksRUFBL0csQ0FBMUI7QUFDekIsYUFBT0QsSUFBSSxDQUFDRSxXQUFMLEdBQW1CRixJQUFJLENBQUNFLFdBQUwsQ0FBaUJHLE9BQWpCLENBQXlCSixPQUFPLENBQUMsQ0FBRCxDQUFoQyxFQUFzQyxHQUFFQSxPQUFPLENBQUMsQ0FBRCxDQUFQLEtBQWUsSUFBZixHQUFzQixJQUF0QixHQUE2Qk0sUUFBUSxDQUFDTixPQUFPLENBQUMsQ0FBRCxDQUFSLENBQVIsR0FBdUIsRUFBRyxJQUFHQSxPQUFPLENBQUMsQ0FBRCxDQUFJLEVBQTdHLENBQTFCO0FBQ0gsS0FMRDs7QUFPQSxVQUFNTyxVQUFVLEdBQUdDLGlEQUFTLENBQUNDLFdBQVYsQ0FBc0JDLHNEQUFjLENBQUNDLGFBQXJDLEVBQW9ELGdCQUFwRCxFQUFzRTtBQUFDQyxXQUFLLEVBQUVkO0FBQVIsS0FBdEUsQ0FBbkIsQ0FYVyxDQVdpRzs7QUFDNUcsVUFBTWUsYUFBYSxHQUFHTCxpREFBUyxDQUFDQyxXQUFWLENBQXNCQyxzREFBYyxDQUFDQyxhQUFyQyxFQUFvRCxZQUFwRCxFQUFrRTtBQUFDQyxXQUFLLEVBQUVkO0FBQVIsS0FBbEUsQ0FBdEIsQ0FaVyxDQVlnRzs7QUFDM0csU0FBS0gsWUFBTCxHQUFvQixNQUFNO0FBQUNZLGdCQUFVO0FBQUlNLG1CQUFhO0FBQUksS0FBMUQsQ0FiVyxDQWFpRDs7QUFDL0Q7O0FBN0JtRCxDQUF6QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zLzI0aG91ci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtVdGlsaXRpZXMsIERpc2NvcmRNb2R1bGVzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFR3ZW50eUZvdXJIb3VyIGV4dGVuZHMgQnVpbHRpbiB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCIyNEhvdXJcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJ0d2VudHlGb3VySG91clwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgIHRoaXMuaW5qZWN0MjRIb3VyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNhbmNlbDI0SG91cikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuY2FuY2VsMjRIb3VyKCk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuY2FuY2VsMjRIb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIGluamVjdDI0SG91cigpIHtcclxuICAgICAgICBpZiAodGhpcy5jYW5jZWwyNEhvdXIpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgdHdlbHZlSG91ciA9IG5ldyBSZWdFeHAoYChbMC05XXsxLDJ9KTooWzAtOV17MSwyfSlcXFxccyhBTXxQTSlgKTtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ID0gKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlZCA9IGRhdGEucmV0dXJuVmFsdWUubWF0Y2godHdlbHZlSG91cik7XHJcbiAgICAgICAgICAgIGlmICghbWF0Y2hlZCB8fCBtYXRjaGVkLmxlbmd0aCAhPT0gNCkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZiAobWF0Y2hlZFszXSA9PT0gXCJBTVwiKSByZXR1cm4gZGF0YS5yZXR1cm5WYWx1ZSA9IGRhdGEucmV0dXJuVmFsdWUucmVwbGFjZShtYXRjaGVkWzBdLCBgJHttYXRjaGVkWzFdID09PSBcIjEyXCIgPyBcIjAwXCIgOiBtYXRjaGVkWzFdLnBhZFN0YXJ0KDIsIFwiMFwiKX06JHttYXRjaGVkWzJdfWApO1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0YS5yZXR1cm5WYWx1ZSA9IGRhdGEucmV0dXJuVmFsdWUucmVwbGFjZShtYXRjaGVkWzBdLCBgJHttYXRjaGVkWzFdID09PSBcIjEyXCIgPyBcIjEyXCIgOiBwYXJzZUludChtYXRjaGVkWzFdKSArIDEyfToke21hdGNoZWRbMl19YCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgY29uc3QgY2FuY2VsQ296eSA9IFV0aWxpdGllcy5tb25rZXlQYXRjaChEaXNjb3JkTW9kdWxlcy5UaW1lRm9ybWF0dGVyLCBcImNhbGVuZGFyRm9ybWF0XCIsIHthZnRlcjogY29udmVydH0pOyAvLyBDYWxsZWQgaW4gQ296eSBtb2RlXHJcbiAgICAgICAgY29uc3QgY2FuY2VsQ29tcGFjdCA9IFV0aWxpdGllcy5tb25rZXlQYXRjaChEaXNjb3JkTW9kdWxlcy5UaW1lRm9ybWF0dGVyLCBcImRhdGVGb3JtYXRcIiwge2FmdGVyOiBjb252ZXJ0fSk7IC8vIENhbGxlZCBpbiBDb21wYWN0IG1vZGVcclxuICAgICAgICB0aGlzLmNhbmNlbDI0SG91ciA9ICgpID0+IHtjYW5jZWxDb3p5KCk7IGNhbmNlbENvbXBhY3QoKTt9OyAvLyBDYW5jZWwgYm90aFxyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/24hour.js\n");
/***/ }),
/***/ "./src/builtins/builtins.js":
/*!**********************************!*\
!*** ./src/builtins/builtins.js ***!
\**********************************/
/*! exports provided: VoiceMode, ClassNormalizer, DeveloperMode, PublicServers, DarkMode, MinimalMode, TwentyFourHour, ColoredText, VoiceDisconnect, EmoteMenu, EmoteAutocaps, EmoteModule, WindowPrefs, CustomCSS */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _voicemode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./voicemode */ \"./src/builtins/voicemode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceMode\", function() { return _voicemode__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _classnormalizer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./classnormalizer */ \"./src/builtins/classnormalizer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ClassNormalizer\", function() { return _classnormalizer__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _developermode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./developermode */ \"./src/builtins/developermode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DeveloperMode\", function() { return _developermode__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _publicservers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./publicservers */ \"./src/builtins/publicservers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PublicServers\", function() { return _publicservers__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _darkmode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./darkmode */ \"./src/builtins/darkmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DarkMode\", function() { return _darkmode__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _minimalmode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./minimalmode */ \"./src/builtins/minimalmode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MinimalMode\", function() { return _minimalmode__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _24hour__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./24hour */ \"./src/builtins/24hour.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TwentyFourHour\", function() { return _24hour__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _coloredtext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./coloredtext */ \"./src/builtins/coloredtext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColoredText\", function() { return _coloredtext__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./voicedisconnect */ \"./src/builtins/voicedisconnect.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"VoiceDisconnect\", function() { return _voicedisconnect__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _emotemenu__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./emotemenu */ \"./src/builtins/emotemenu.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteMenu\", function() { return _emotemenu__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./emoteautocaps */ \"./src/builtins/emoteautocaps.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteAutocaps\", function() { return _emoteautocaps__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteModule\", function() { return _emotes__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _windowprefs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./windowprefs */ \"./src/builtins/windowprefs.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WindowPrefs\", function() { return _windowprefs__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _customcss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./customcss */ \"./src/builtins/customcss.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomCSS\", function() { return _customcss__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2J1aWx0aW5zLmpzPzU5YTYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9idWlsdGlucy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7ZGVmYXVsdCBhcyBWb2ljZU1vZGV9IGZyb20gXCIuL3ZvaWNlbW9kZVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgQ2xhc3NOb3JtYWxpemVyfSBmcm9tIFwiLi9jbGFzc25vcm1hbGl6ZXJcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIERldmVsb3Blck1vZGV9IGZyb20gXCIuL2RldmVsb3Blcm1vZGVcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIFB1YmxpY1NlcnZlcnN9IGZyb20gXCIuL3B1YmxpY3NlcnZlcnNcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIERhcmtNb2RlfSBmcm9tIFwiLi9kYXJrbW9kZVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgTWluaW1hbE1vZGV9IGZyb20gXCIuL21pbmltYWxtb2RlXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBUd2VudHlGb3VySG91cn0gZnJvbSBcIi4vMjRob3VyXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDb2xvcmVkVGV4dH0gZnJvbSBcIi4vY29sb3JlZHRleHRcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIFZvaWNlRGlzY29ubmVjdH0gZnJvbSBcIi4vdm9pY2VkaXNjb25uZWN0XCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbW90ZU1lbnV9IGZyb20gXCIuL2Vtb3RlbWVudVwiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRW1vdGVBdXRvY2Fwc30gZnJvbSBcIi4vZW1vdGVhdXRvY2Fwc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgRW1vdGVNb2R1bGV9IGZyb20gXCIuL2Vtb3Rlc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgV2luZG93UHJlZnN9IGZyb20gXCIuL3dpbmRvd3ByZWZzXCI7XHJcbmV4cG9ydCB7ZGVmYXVsdCBhcyBDdXN0b21DU1N9IGZyb20gXCIuL2N1c3RvbWNzc1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/builtins.js\n");
/***/ }),
/***/ "./src/builtins/classnormalizer.js":
/*!*****************************************!*\
!*** ./src/builtins/classnormalizer.js ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nconst normalizedPrefix = \"da\";\nconst randClass = new RegExp(`^(?!${normalizedPrefix}-)((?:[A-Za-z]|[0-9]|-)+)-(?:[A-Za-z]|[0-9]|-|_){6}$`);\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ClassNormalizer extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get id() {\n return \"classNormalizer\";\n }\n\n get category() {\n return \"general\";\n }\n\n get name() {\n return \"ClassNormalizer\";\n }\n\n enabled() {\n if (this.hasPatched) return;\n this.patchClassModules(modules__WEBPACK_IMPORTED_MODULE_1__[\"WebpackModules\"].getModules(this.moduleFilter.bind(this)));\n this.normalizeElement(document.querySelector(\"#app-mount\"));\n this.hasPatched = true;\n this.patchDOMMethods();\n }\n\n disabled() {\n if (!this.hasPatched) return;\n this.unpatchClassModules(modules__WEBPACK_IMPORTED_MODULE_1__[\"WebpackModules\"].getModules(this.moduleFilter.bind(this)));\n this.revertElement(document.querySelector(\"#app-mount\"));\n this.hasPatched = false;\n }\n\n patchClassModules(modules) {\n for (const module of modules) {\n this.patchClassModule(normalizedPrefix, module);\n }\n }\n\n unpatchClassModules(modules) {\n for (const module of modules) {\n this.unpatchClassModule(normalizedPrefix, module);\n }\n }\n\n shouldIgnore(value) {\n if (!isNaN(value)) return true;\n if (value.endsWith(\"px\") || value.endsWith(\"ch\") || value.endsWith(\"em\") || value.endsWith(\"ms\")) return true;\n if (value.startsWith(\"layerContainer-\")) return true;\n if (value.startsWith(\"#\") && (value.length == 7 || value.length == 4)) return true;\n if (value.includes(\"calc(\") || value.includes(\"rgba\")) return true;\n return false;\n }\n\n moduleFilter(module) {\n if (typeof module !== \"object\" || Array.isArray(module)) return false;\n if (module.__esModule) return false;\n if (!Object.keys(module).length) return false;\n\n for (const baseClassName in module) {\n const value = module[baseClassName];\n if (typeof value !== \"string\") return false;\n if (this.shouldIgnore(value)) continue;\n if (value.split(\"-\").length === 1) return false;\n if (!randClass.test(value.split(\" \")[0])) return false;\n }\n\n return true;\n }\n\n patchClassModule(componentName, classNames) {\n for (const baseClassName in classNames) {\n const value = classNames[baseClassName];\n if (this.shouldIgnore(value)) continue;\n const classList = value.split(\" \");\n\n for (const normalClass of classList) {\n const match = normalClass.match(randClass)[1];\n if (!match) continue; // Shouldn't ever happen since they passed the moduleFilter, but you never know\n\n const camelCase = match.split(\"-\").map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join(\"\");\n classNames[baseClassName] += ` ${componentName}-${camelCase}`;\n }\n }\n }\n\n unpatchClassModule(componentName, classNames) {\n for (const baseClassName in classNames) {\n const value = classNames[baseClassName];\n if (this.shouldIgnore(value)) continue;\n let newString = \"\";\n const classList = value.split(\" \");\n\n for (const normalClass of classList) {\n if (normalClass.startsWith(`${componentName}-`)) continue;\n newString += ` ${normalClass}`;\n }\n\n classNames[baseClassName] = newString.trim();\n }\n }\n\n normalizeElement(element) {\n if (!(element instanceof Element)) return;\n const classes = element.classList;\n\n for (let c = 0, clen = classes.length; c < clen; c++) {\n if (!randClass.test(classes[c])) continue;\n const match = classes[c].match(randClass)[1];\n const newClass = match.split(\"-\").map((s, i) => i ? s[0].toUpperCase() + s.slice(1) : s).join(\"\");\n element.classList.add(`${normalizedPrefix}-${newClass}`);\n }\n\n for (const child of element.children) this.normalizeElement(child);\n }\n\n revertElement(element) {\n if (!(element instanceof Element)) return;\n if (element.children && element.children.length) this.revertElement(element.children[0]);\n if (element.nextElementSibling) this.revertElement(element.nextElementSibling);\n const classes = element.classList;\n const toRemove = [];\n\n for (let c = 0; c < classes.length; c++) {\n if (classes[c].startsWith(`${normalizedPrefix}-`)) toRemove.push(classes[c]);\n }\n\n element.classList.remove(...toRemove);\n }\n\n patchDOMMethods() {\n const contains = DOMTokenList.prototype.contains;\n\n DOMTokenList.prototype.contains = function (token) {\n const tokens = token.split(\" \");\n return tokens.every(t => contains.call(this, t));\n };\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2NsYXNzbm9ybWFsaXplci5qcz9kZDc4Il0sIm5hbWVzIjpbIm5vcm1hbGl6ZWRQcmVmaXgiLCJyYW5kQ2xhc3MiLCJSZWdFeHAiLCJDbGFzc05vcm1hbGl6ZXIiLCJCdWlsdGluIiwiaWQiLCJjYXRlZ29yeSIsIm5hbWUiLCJlbmFibGVkIiwiaGFzUGF0Y2hlZCIsInBhdGNoQ2xhc3NNb2R1bGVzIiwiV2VicGFja01vZHVsZXMiLCJnZXRNb2R1bGVzIiwibW9kdWxlRmlsdGVyIiwiYmluZCIsIm5vcm1hbGl6ZUVsZW1lbnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXRjaERPTU1ldGhvZHMiLCJkaXNhYmxlZCIsInVucGF0Y2hDbGFzc01vZHVsZXMiLCJyZXZlcnRFbGVtZW50IiwibW9kdWxlcyIsIm1vZHVsZSIsInBhdGNoQ2xhc3NNb2R1bGUiLCJ1bnBhdGNoQ2xhc3NNb2R1bGUiLCJzaG91bGRJZ25vcmUiLCJ2YWx1ZSIsImlzTmFOIiwiZW5kc1dpdGgiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwiaW5jbHVkZXMiLCJBcnJheSIsImlzQXJyYXkiLCJfX2VzTW9kdWxlIiwiT2JqZWN0Iiwia2V5cyIsImJhc2VDbGFzc05hbWUiLCJzcGxpdCIsInRlc3QiLCJjb21wb25lbnROYW1lIiwiY2xhc3NOYW1lcyIsImNsYXNzTGlzdCIsIm5vcm1hbENsYXNzIiwibWF0Y2giLCJjYW1lbENhc2UiLCJtYXAiLCJzIiwiaSIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJqb2luIiwibmV3U3RyaW5nIiwidHJpbSIsImVsZW1lbnQiLCJFbGVtZW50IiwiY2xhc3NlcyIsImMiLCJjbGVuIiwibmV3Q2xhc3MiLCJhZGQiLCJjaGlsZCIsImNoaWxkcmVuIiwibmV4dEVsZW1lbnRTaWJsaW5nIiwidG9SZW1vdmUiLCJwdXNoIiwicmVtb3ZlIiwiY29udGFpbnMiLCJET01Ub2tlbkxpc3QiLCJwcm90b3R5cGUi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TyxDQUFDWixTQUF4QjtBQUNBLFVBQU1zQixRQUFRLEdBQUcsRUFBakI7O0FBQ0EsU0FBSyxJQUFJUCxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRCxPQUFPLENBQUMxQixNQUE1QixFQUFvQzJCLENBQUMsRUFBckMsRUFBeUM7QUFDckMsVUFBSUQsT0FBTyxDQUFDQyxDQUFELENBQVAsQ0FBVzVCLFVBQVgsQ0FBdUIsR0FBRTlCLGdCQUFpQixHQUExQyxDQUFKLEVBQW1EaUUsUUFBUSxDQUFDQyxJQUFULENBQWNULE9BQU8sQ0FBQ0MsQ0FBRCxDQUFyQjtBQUN0RDs7QUFDREgsV0FBTyxDQUFDWixTQUFSLENBQWtCd0IsTUFBbEIsQ0FBeUIsR0FBR0YsUUFBNUI7QUFDSDs7QUFFRC9DLGlCQUFlLEdBQUc7QUFDZCxVQUFNa0QsUUFBUSxHQUFHQyxZQUFZLENBQUNDLFNBQWIsQ0FBdUJGLFFBQXhDOztBQUNBQyxnQkFBWSxDQUFDQyxTQUFiLENBQXVCRixRQUF2QixHQUFrQyxVQUFTRyxLQUFULEVBQWdCO0FBQzlDLFlBQU1DLE1BQU0sR0FBR0QsS0FBSyxDQUFDaEMsS0FBTixDQUFZLEdBQVosQ0FBZjtBQUNBLGFBQU9pQyxNQUFNLENBQUNDLEtBQVAsQ0FBYUMsQ0FBQyxJQUFJTixRQUFRLENBQUNPLElBQVQsQ0FBYyxJQUFkLEVBQW9CRCxDQUFwQixDQUFsQixDQUFQO0FBQ0gsS0FIRDtBQUlIOztBQWxIb0QsQ0FBMUMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9jbGFzc25vcm1hbGl6ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7V2VicGFja01vZHVsZXN9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5jb25zdCBub3JtYWxpemVkUHJlZml4ID0gXCJkYVwiO1xyXG5jb25zdCByYW5kQ2xhc3MgPSBuZXcgUmVnRXhwKGBeKD8hJHtub3JtYWxpemVkUHJlZml4fS0pKCg/OltBLVphLXpdfFswLTldfC0pKyktKD86W0EtWmEtel18WzAtOV18LXxfKXs2fSRgKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBDbGFzc05vcm1hbGl6ZXIgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJjbGFzc05vcm1hbGl6ZXJcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkNsYXNzTm9ybWFsaXplclwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1BhdGNoZWQpIHJldHVybjtcclxuICAgICAgICB0aGlzLnBhdGNoQ2xhc3NNb2R1bGVzKFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZXModGhpcy5tb2R1bGVGaWx0ZXIuYmluZCh0aGlzKSkpO1xyXG4gICAgICAgIHRoaXMubm9ybWFsaXplRWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2FwcC1tb3VudFwiKSk7XHJcbiAgICAgICAgdGhpcy5oYXNQYXRjaGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnBhdGNoRE9NTWV0aG9kcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNQYXRjaGVkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy51bnBhdGNoQ2xhc3NNb2R1bGVzKFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZXModGhpcy5tb2R1bGVGaWx0ZXIuYmluZCh0aGlzKSkpO1xyXG4gICAgICAgIHRoaXMucmV2ZXJ0RWxlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiI2FwcC1tb3VudFwiKSk7XHJcbiAgICAgICAgdGhpcy5oYXNQYXRjaGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2hDbGFzc01vZHVsZXMobW9kdWxlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgbW9kdWxlIG9mIG1vZHVsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5wYXRjaENsYXNzTW9kdWxlKG5vcm1hbGl6ZWRQcmVmaXgsIG1vZHVsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVucGF0Y2hDbGFzc01vZHVsZXMobW9kdWxlcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgbW9kdWxlIG9mIG1vZHVsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy51bnBhdGNoQ2xhc3NNb2R1bGUobm9ybWFsaXplZFByZWZpeCwgbW9kdWxlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2hvdWxkSWdub3JlKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCFpc05hTih2YWx1ZSkpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIGlmICh2YWx1ZS5lbmRzV2l0aChcInB4XCIpIHx8IHZhbHVlLmVuZHNXaXRoKFwiY2hcIikgfHwgdmFsdWUuZW5kc1dpdGgoXCJlbVwiKSB8fCB2YWx1ZS5lbmRzV2l0aChcIm1zXCIpKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZiAodmFsdWUuc3RhcnRzV2l0aChcImxheWVyQ29udGFpbmVyLVwiKSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoXCIjXCIpICYmICh2YWx1ZS5sZW5ndGggPT0gNyB8fCB2YWx1ZS5sZW5ndGggPT0gNCkpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcyhcImNhbGMoXCIpIHx8IHZhbHVlLmluY2x1ZGVzKFwicmdiYVwiKSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG1vZHVsZUZpbHRlcihtb2R1bGUpIHtcclxuICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSAhPT0gXCJvYmplY3RcIiB8fCBBcnJheS5pc0FycmF5KG1vZHVsZSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAobW9kdWxlLl9fZXNNb2R1bGUpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAoIU9iamVjdC5rZXlzKG1vZHVsZSkubGVuZ3RoKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgZm9yIChjb25zdCBiYXNlQ2xhc3NOYW1lIGluIG1vZHVsZSkge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IG1vZHVsZVtiYXNlQ2xhc3NOYW1lXTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zaG91bGRJZ25vcmUodmFsdWUpKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlLnNwbGl0KFwiLVwiKS5sZW5ndGggPT09IDEpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKCFyYW5kQ2xhc3MudGVzdCh2YWx1ZS5zcGxpdChcIiBcIilbMF0pKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwYXRjaENsYXNzTW9kdWxlKGNvbXBvbmVudE5hbWUsIGNsYXNzTmFtZXMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGJhc2VDbGFzc05hbWUgaW4gY2xhc3NOYW1lcykge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNsYXNzTmFtZXNbYmFzZUNsYXNzTmFtZV07XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZElnbm9yZSh2YWx1ZSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSB2YWx1ZS5zcGxpdChcIiBcIik7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qgbm9ybWFsQ2xhc3Mgb2YgY2xhc3NMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IG5vcm1hbENsYXNzLm1hdGNoKHJhbmRDbGFzcylbMV07XHJcbiAgICAgICAgICAgICAgICBpZiAoIW1hdGNoKSBjb250aW51ZTsgLy8gU2hvdWxkbid0IGV2ZXIgaGFwcGVuIHNpbmNlIHRoZXkgcGFzc2VkIHRoZSBtb2R1bGVGaWx0ZXIsIGJ1dCB5b3UgbmV2ZXIga25vd1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY2FtZWxDYXNlID0gbWF0Y2guc3BsaXQoXCItXCIpLm1hcCgocywgaSkgPT4gaSA/IHNbMF0udG9VcHBlckNhc2UoKSArIHMuc2xpY2UoMSkgOiBzKS5qb2luKFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lc1tiYXNlQ2xhc3NOYW1lXSArPSBgICR7Y29tcG9uZW50TmFtZX0tJHtjYW1lbENhc2V9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bnBhdGNoQ2xhc3NNb2R1bGUoY29tcG9uZW50TmFtZSwgY2xhc3NOYW1lcykge1xyXG4gICAgICAgIGZvciAoY29uc3QgYmFzZUNsYXNzTmFtZSBpbiBjbGFzc05hbWVzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY2xhc3NOYW1lc1tiYXNlQ2xhc3NOYW1lXTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkSWdub3JlKHZhbHVlKSkgY29udGludWU7XHJcbiAgICAgICAgICAgIGxldCBuZXdTdHJpbmcgPSBcIlwiO1xyXG4gICAgICAgICAgICBjb25zdCBjbGFzc0xpc3QgPSB2YWx1ZS5zcGxpdChcIiBcIik7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qgbm9ybWFsQ2xhc3Mgb2YgY2xhc3NMaXN0KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobm9ybWFsQ2xhc3Muc3RhcnRzV2l0aChgJHtjb21wb25lbnROYW1lfS1gKSkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBuZXdTdHJpbmcgKz0gYCAke25vcm1hbENsYXNzfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2xhc3NOYW1lc1tiYXNlQ2xhc3NOYW1lXSA9IG5ld1N0cmluZy50cmltKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5vcm1hbGl6ZUVsZW1lbnQoZWxlbWVudCkge1xyXG4gICAgICAgIGlmICghKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBlbGVtZW50LmNsYXNzTGlzdDtcclxuICAgICAgICBmb3IgKGxldCBjID0gMCwgY2xlbiA9IGNsYXNzZXMubGVuZ3RoOyBjIDwgY2xlbjsgYysrKSB7XHJcbiAgICAgICAgICAgIGlmICghcmFuZENsYXNzLnRlc3QoY2xhc3Nlc1tjXSkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IGNsYXNzZXNbY10ubWF0Y2gocmFuZENsYXNzKVsxXTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Q2xhc3MgPSBtYXRjaC5zcGxpdChcIi1cIikubWFwKChzLCBpKSA9PiBpID8gc1swXS50b1VwcGVyQ2FzZSgpICsgcy5zbGljZSgxKSA6IHMpLmpvaW4oXCJcIik7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChgJHtub3JtYWxpemVkUHJlZml4fS0ke25ld0NsYXNzfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGVsZW1lbnQuY2hpbGRyZW4pIHRoaXMubm9ybWFsaXplRWxlbWVudChjaGlsZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV2ZXJ0RWxlbWVudChlbGVtZW50KSB7XHJcbiAgICAgICAgaWYgKCEoZWxlbWVudCBpbnN0YW5jZW9mIEVsZW1lbnQpKSByZXR1cm47XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4gJiYgZWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpIHRoaXMucmV2ZXJ0RWxlbWVudChlbGVtZW50LmNoaWxkcmVuWzBdKTtcclxuICAgICAgICBpZiAoZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpIHRoaXMucmV2ZXJ0RWxlbWVudChlbGVtZW50Lm5leHRFbGVtZW50U2libGluZyk7XHJcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGVsZW1lbnQuY2xhc3NMaXN0O1xyXG4gICAgICAgIGNvbnN0IHRvUmVtb3ZlID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgYyA9IDA7IGMgPCBjbGFzc2VzLmxlbmd0aDsgYysrKSB7XHJcbiAgICAgICAgICAgIGlmIChjbGFzc2VzW2NdLnN0YXJ0c1dpdGgoYCR7bm9ybWFsaXplZFByZWZpeH0tYCkpIHRvUmVtb3ZlLnB1c2goY2xhc3Nlc1tjXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSguLi50b1JlbW92ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHBhdGNoRE9NTWV0aG9kcygpIHtcclxuICAgICAgICBjb25zdCBjb250YWlucyA9IERPTVRva2VuTGlzdC5wcm90b3R5cGUuY29udGFpbnM7XHJcbiAgICAgICAgRE9NVG9rZW5MaXN0LnByb3RvdHlwZS5jb250YWlucyA9IGZ1bmN0aW9uKHRva2VuKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRva2VucyA9IHRva2VuLnNwbGl0KFwiIFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRva2Vucy5ldmVyeSh0ID0+IGNvbnRhaW5zLmNhbGwodGhpcywgdCkpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/classnormalizer.js\n");
/***/ }),
/***/ "./src/builtins/coloredtext.js":
/*!*************************************!*\
!*** ./src/builtins/coloredtext.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nconst MessageContent = modules__WEBPACK_IMPORTED_MODULE_1__[\"WebpackModules\"].getModule(m => m.defaultProps && m.defaultProps.hasOwnProperty(\"disableButtons\"));\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ColoredText extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"ColoredText\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"coloredText\";\n }\n\n enabled() {\n this.injectColoredText();\n }\n\n disabled() {\n if (!this.cancelColoredText) return;\n this.cancelColoredText();\n delete this.cancelColoredText;\n }\n\n injectColoredText() {\n if (this.cancelColoredText) return;\n this.cancelColoredText = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(MessageContent.prototype, \"render\", {\n after: data => {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].monkeyPatch(data.returnValue.props, \"children\", {\n silent: true,\n after: ({\n returnValue\n }) => {\n const markup = returnValue.props.children[1];\n const roleColor = data.thisObject.props.message.colorString;\n if (markup && roleColor) markup.props.style = {\n color: roleColor\n };\n return returnValue;\n }\n });\n }\n });\n }\n\n removeColoredText() {\n document.querySelectorAll(\".markup-2BOw-j\").forEach(elem => {\n elem.style.setProperty(\"color\", \"\");\n });\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2NvbG9yZWR0ZXh0LmpzP2RlMDkiXSwibmFtZXMiOlsiTWVzc2FnZUNvbnRlbnQiLCJXZWJwYWNrTW9kdWxlcyIsImdldE1vZHVsZSIsIm0iLCJkZWZhdWx0UHJvcHMiLCJoYXNPd25Qcm9wZXJ0eSIsIkNvbG9yZWRUZXh0IiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiZW5hYmxlZCIsImluamVjdENvbG9yZWRUZXh0IiwiZGlzYWJsZWQiLCJjYW5jZWxDb2xvcmVkVGV4dCIsIlV0aWxpdGllcyIsIm1vbmtleVBhdGNoIiwicHJvdG90eXBlIiwiYWZ0ZXIiLCJkYXRhIiwicmV0dXJuVmFsdWUiLCJwcm9wcyIsInNpbGVudCIsIm1hcmt1cCIsImNoaWxkcmVuIiwicm9sZUNvbG9yIiwidGhpc09iamVjdCIsIm1lc3NhZ2UiLCJjb2xvclN0cmluZyIsInN0eWxlIiwiY29sb3IiLCJyZW1vdmVDb2xvcmVkVGV4dCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJlbGVtIiwic2V0UHJvcGVydHkiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQSxNQUFNQSxjQUFjLEdBQUdDLHNEQUFjLENBQUNDLFNBQWYsQ0FBeUJDLENBQUMsSUFBSUEsQ0FBQyxDQUFDQyxZQUFGLElBQWtCRCxDQUFDLENBQUNDLFlBQUYsQ0FBZUMsY0FBZixDQUE4QixnQkFBOUIsQ0FBaEQsQ0FBdkI7QUFFZSxtRUFBSSxNQUFNQyxXQUFOLFNBQTBCQyx3REFBMUIsQ0FBa0M7QUFDakQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxhQUFQO0FBQXNCOztBQUNsQyxNQUFJQyxRQUFKLEdBQWU7QUFBQyxXQUFPLFlBQVA7QUFBcUI7O0FBQ3JDLE1BQUlDLEVBQUosR0FBUztBQUFDLFdBQU8sYUFBUDtBQUFzQjs7QUFFaENDLFNBQU8sR0FBRztBQUNOLFNBQUtDLGlCQUFMO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQLFFBQUksQ0FBQyxLQUFLQyxpQkFBVixFQUE2QjtBQUM3QixTQUFLQSxpQkFBTDtBQUNBLFdBQU8sS0FBS0EsaUJBQVo7QUFDSDs7QUFFREYsbUJBQWlCLEdBQUc7QUFDaEIsUUFBSSxLQUFLRSxpQkFBVCxFQUE0QjtBQUU1QixTQUFLQSxpQkFBTCxHQUF5QkMsaURBQVMsQ0FBQ0MsV0FBVixDQUFzQmhCLGNBQWMsQ0FBQ2lCLFNBQXJDLEVBQWdELFFBQWhELEVBQTBEO0FBQUNDLFdBQUssRUFBR0MsSUFBRCxJQUFVO0FBQ2pHSix5REFBUyxDQUFDQyxXQUFWLENBQXNCRyxJQUFJLENBQUNDLFdBQUwsQ0FBaUJDLEtBQXZDLEVBQThDLFVBQTlDLEVBQTBEO0FBQUNDLGdCQUFNLEVBQUUsSUFBVDtBQUFlSixlQUFLLEVBQUUsQ0FBQztBQUFDRTtBQUFELFdBQUQsS0FBbUI7QUFDL0Ysa0JBQU1HLE1BQU0sR0FBR0gsV0FBVyxDQUFDQyxLQUFaLENBQWtCRyxRQUFsQixDQUEyQixDQUEzQixDQUFmO0FBQ0Esa0JBQU1DLFNBQVMsR0FBR04sSUFBSSxDQUFDTyxVQUFMLENBQWdCTCxLQUFoQixDQUFzQk0sT0FBdEIsQ0FBOEJDLFdBQWhEO0FBQ0EsZ0JBQUlMLE1BQU0sSUFBSUUsU0FBZCxFQUF5QkYsTUFBTSxDQUFDRixLQUFQLENBQWFRLEtBQWIsR0FBcUI7QUFBQ0MsbUJBQUssRUFBRUw7QUFBUixhQUFyQjtBQUN6QixtQkFBT0wsV0FBUDtBQUNIO0FBTHlELFNBQTFEO0FBTUg7QUFQa0YsS0FBMUQsQ0FBekI7QUFRSDs7QUFFRFcsbUJBQWlCLEdBQUc7QUFDaEJDLFlBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsZ0JBQTFCLEVBQTRDQyxPQUE1QyxDQUFvREMsSUFBSSxJQUFJO0FBQ3hEQSxVQUFJLENBQUNOLEtBQUwsQ0FBV08sV0FBWCxDQUF1QixPQUF2QixFQUFnQyxFQUFoQztBQUNILEtBRkQ7QUFHSDs7QUFoQ2dELENBQXRDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvY29sb3JlZHRleHQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7VXRpbGl0aWVzLCBXZWJwYWNrTW9kdWxlc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmNvbnN0IE1lc3NhZ2VDb250ZW50ID0gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKG0gPT4gbS5kZWZhdWx0UHJvcHMgJiYgbS5kZWZhdWx0UHJvcHMuaGFzT3duUHJvcGVydHkoXCJkaXNhYmxlQnV0dG9uc1wiKSk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgQ29sb3JlZFRleHQgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkNvbG9yZWRUZXh0XCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImFwcGVhcmFuY2VcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwiY29sb3JlZFRleHRcIjt9XHJcblxyXG4gICAgZW5hYmxlZCgpIHtcclxuICAgICAgICB0aGlzLmluamVjdENvbG9yZWRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNhbmNlbENvbG9yZWRUZXh0KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5jYW5jZWxDb2xvcmVkVGV4dCgpO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLmNhbmNlbENvbG9yZWRUZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIGluamVjdENvbG9yZWRUZXh0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNhbmNlbENvbG9yZWRUZXh0KSByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuY2FuY2VsQ29sb3JlZFRleHQgPSBVdGlsaXRpZXMubW9ua2V5UGF0Y2goTWVzc2FnZUNvbnRlbnQucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIFV0aWxpdGllcy5tb25rZXlQYXRjaChkYXRhLnJldHVyblZhbHVlLnByb3BzLCBcImNoaWxkcmVuXCIsIHtzaWxlbnQ6IHRydWUsIGFmdGVyOiAoe3JldHVyblZhbHVlfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWFya3VwID0gcmV0dXJuVmFsdWUucHJvcHMuY2hpbGRyZW5bMV07XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb2xlQ29sb3IgPSBkYXRhLnRoaXNPYmplY3QucHJvcHMubWVzc2FnZS5jb2xvclN0cmluZztcclxuICAgICAgICAgICAgICAgIGlmIChtYXJrdXAgJiYgcm9sZUNvbG9yKSBtYXJrdXAucHJvcHMuc3R5bGUgPSB7Y29sb3I6IHJvbGVDb2xvcn07XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgICAgIH19KTtcclxuICAgICAgICB9fSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlQ29sb3JlZFRleHQoKSB7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5tYXJrdXAtMkJPdy1qXCIpLmZvckVhY2goZWxlbSA9PiB7XHJcbiAgICAgICAgICAgIGVsZW0uc3R5bGUuc2V0UHJvcGVydHkoXCJjb2xvclwiLCBcIlwiKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/coloredtext.js\n");
/***/ }),
/***/ "./src/builtins/customcss.js":
/*!***********************************!*\
!*** ./src/builtins/customcss.js ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _ui_customcss_editor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/customcss/editor */ \"./src/ui/customcss/editor.jsx\");\n\n\n\n\nconst electron = __webpack_require__(/*! electron */ \"electron\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class CustomCSS extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"Custom CSS\";\n }\n\n get category() {\n return \"customcss\";\n }\n\n get id() {\n return \"customcss\";\n }\n\n get startDetached() {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"Settings\"].get(this.collection, this.category, \"startDetached\");\n }\n\n get nativeOpen() {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"Settings\"].get(this.collection, this.category, \"nativeOpen\");\n }\n\n constructor() {\n super();\n this.css = \"\";\n }\n\n enabled() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Settings\"].registerPanel(this.id, this.name, {\n order: 2,\n element: () => modules__WEBPACK_IMPORTED_MODULE_1__[\"React\"].createElement(_ui_customcss_editor__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n css: this.css,\n save: this.saveCSS.bind(this),\n update: this.insertCSS.bind(this),\n openNative: this.openNative.bind(this)\n }),\n onClick: thisObject => {\n if (this.nativeOpen) this.openNative();else if (this.startDetached) this.openDetached();else thisObject._reactInternalFiber.child.memoizedProps.children.props.onSetSection(this.name);\n }\n });\n this.loadCSS();\n this.insertCSS();\n }\n\n disabled() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Settings\"].removePanel(this.id);\n }\n\n loadCSS() {\n this.css = modules__WEBPACK_IMPORTED_MODULE_1__[\"DataStore\"].loadCustomCSS();\n }\n\n insertCSS(newCss) {\n if (typeof newCss === \"undefined\") newCss = this.css;\n\n if ($(\"#customcss\").length == 0) {\n $(\"head\").append(\"<style id=\\\"customcss\\\"></style>\");\n }\n\n $(\"#customcss\").text(newCss).detach().appendTo(document.head);\n }\n\n saveCSS(newCss) {\n if (typeof newCss !== \"undefined\") this.css = newCss;\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DataStore\"].saveCustomCSS(this.css);\n }\n\n openNative() {\n electron.shell.openExternal(`file://${modules__WEBPACK_IMPORTED_MODULE_1__[\"DataStore\"].customCSS}`);\n }\n\n openDetached() {\n this.log(\"Should open detached\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2N1c3RvbWNzcy5qcz9jM2YyIl0sIm5hbWVzIjpbImVsZWN0cm9uIiwicmVxdWlyZSIsIkN1c3RvbUNTUyIsIkJ1aWx0aW4iLCJuYW1lIiwiY2F0ZWdvcnkiLCJpZCIsInN0YXJ0RGV0YWNoZWQiLCJTZXR0aW5ncyIsImdldCIsImNvbGxlY3Rpb24iLCJuYXRpdmVPcGVuIiwiY29uc3RydWN0b3IiLCJjc3MiLCJlbmFibGVkIiwicmVnaXN0ZXJQYW5lbCIsIm9yZGVyIiwiZWxlbWVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsIkNTU0VkaXRvciIsInNhdmUiLCJzYXZlQ1NTIiwiYmluZCIsInVwZGF0ZSIsImluc2VydENTUyIsIm9wZW5OYXRpdmUiLCJvbkNsaWNrIiwidGhpc09iamVjdCIsIm9wZW5EZXRhY2hlZCIsIl9yZWFjdEludGVybmFsRmliZXIiLCJjaGlsZCIsIm1lbW9pemVkUHJvcHMiLCJjaGlsZHJlbiIsInByb3BzIiwib25TZXRTZWN0aW9uIiwibG9hZENTUyIsImRpc2FibGVkIiwicmVtb3ZlUGFuZWwiLCJEYXRhU3RvcmUiLCJsb2FkQ3VzdG9tQ1NTIiwibmV3Q3NzIiwiJCIsImxlbmd0aCIsImFwcGVuZCIsInRleHQiLCJkZXRhY2giLCJhcHBlbmRUbyIsImRvY3VtZW50IiwiaGVhZCIsInNhdmVDdXN0b21DU1MiLCJzaGVsbCIsIm9wZW5FeHRlcm5hbCIsImN1c3RvbUNTUyIsImxvZyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTUEsUUFBUSxHQUFHQyxtQkFBTyxDQUFDLDBCQUFELENBQXhCOztBQUVlLG1FQUFJLE1BQU1DLFNBQU4sU0FBd0JDLHdEQUF4QixDQUFnQztBQUMvQyxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLFlBQVA7QUFBcUI7O0FBQ2pDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sV0FBUDtB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IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtTZXR0aW5ncywgRGF0YVN0b3JlLCBSZWFjdCwgRXZlbnRzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgQ1NTRWRpdG9yIGZyb20gXCIuLi91aS9jdXN0b21jc3MvZWRpdG9yXCI7XHJcblxyXG5jb25zdCBlbGVjdHJvbiA9IHJlcXVpcmUoXCJlbGVjdHJvblwiKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBDdXN0b21DU1MgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkN1c3RvbSBDU1NcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiY3VzdG9tY3NzXCI7fVxyXG4gICAgZ2V0IGlkKCkge3JldHVybiBcImN1c3RvbWNzc1wiO31cclxuICAgIGdldCBzdGFydERldGFjaGVkKCkge3JldHVybiBTZXR0aW5ncy5nZXQodGhpcy5jb2xsZWN0aW9uLCB0aGlzLmNhdGVnb3J5LCBcInN0YXJ0RGV0YWNoZWRcIik7fVxyXG4gICAgZ2V0IG5hdGl2ZU9wZW4oKSB7cmV0dXJuIFNldHRpbmdzLmdldCh0aGlzLmNvbGxlY3Rpb24sIHRoaXMuY2F0ZWdvcnksIFwibmF0aXZlT3BlblwiKTt9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmNzcyA9IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgZW5hYmxlZCgpIHtcclxuICAgICAgICBTZXR0aW5ncy5yZWdpc3RlclBhbmVsKHRoaXMuaWQsIHRoaXMubmFtZSwge1xyXG4gICAgICAgICAgICBvcmRlcjogMixcclxuICAgICAgICAgICAgZWxlbWVudDogKCkgPT4gUmVhY3QuY3JlYXRlRWxlbWVudChDU1NFZGl0b3IsIHtcclxuICAgICAgICAgICAgICAgIGNzczogdGhpcy5jc3MsXHJcbiAgICAgICAgICAgICAgICBzYXZlOiB0aGlzLnNhdmVDU1MuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIHVwZGF0ZTogdGhpcy5pbnNlcnRDU1MuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIG9wZW5OYXRpdmU6IHRoaXMub3Blbk5hdGl2ZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBvbkNsaWNrOiAodGhpc09iamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubmF0aXZlT3BlbikgdGhpcy5vcGVuTmF0aXZlKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLnN0YXJ0RGV0YWNoZWQpIHRoaXMub3BlbkRldGFjaGVkKCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlIHRoaXNPYmplY3QuX3JlYWN0SW50ZXJuYWxGaWJlci5jaGlsZC5tZW1vaXplZFByb3BzLmNoaWxkcmVuLnByb3BzLm9uU2V0U2VjdGlvbih0aGlzLm5hbWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5sb2FkQ1NTKCk7XHJcbiAgICAgICAgdGhpcy5pbnNlcnRDU1MoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlZCgpIHtcclxuICAgICAgICBTZXR0aW5ncy5yZW1vdmVQYW5lbCh0aGlzLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkQ1NTKCkge1xyXG4gICAgICAgIHRoaXMuY3NzID0gRGF0YVN0b3JlLmxvYWRDdXN0b21DU1MoKTtcclxuICAgIH1cclxuXHJcbiAgICBpbnNlcnRDU1MobmV3Q3NzKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZihuZXdDc3MpID09PSBcInVuZGVmaW5lZFwiKSBuZXdDc3MgPSB0aGlzLmNzcztcclxuICAgICAgICBpZiAoJChcIiNjdXN0b21jc3NcIikubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgJChcImhlYWRcIikuYXBwZW5kKFwiPHN0eWxlIGlkPVxcXCJjdXN0b21jc3NcXFwiPjwvc3R5bGU+XCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKFwiI2N1c3RvbWNzc1wiKS50ZXh0KG5ld0NzcykuZGV0YWNoKCkuYXBwZW5kVG8oZG9jdW1lbnQuaGVhZCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2F2ZUNTUyhuZXdDc3MpIHtcclxuICAgICAgICBpZiAodHlwZW9mKG5ld0NzcykgIT09IFwidW5kZWZpbmVkXCIpIHRoaXMuY3NzID0gbmV3Q3NzO1xyXG4gICAgICAgIERhdGFTdG9yZS5zYXZlQ3VzdG9tQ1NTKHRoaXMuY3NzKTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuTmF0aXZlKCkge1xyXG4gICAgICAgIGVsZWN0cm9uLnNoZWxsLm9wZW5FeHRlcm5hbChgZmlsZTovLyR7RGF0YVN0b3JlLmN1c3RvbUNTU31gKTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuRGV0YWNoZWQoKSB7XHJcbiAgICAgICAgdGhpcy5sb2coXCJTaG91bGQgb3BlbiBkZXRhY2hlZFwiKTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/customcss.js\n");
/***/ }),
/***/ "./src/builtins/darkmode.js":
/*!**********************************!*\
!*** ./src/builtins/darkmode.js ***!
\**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DarkMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"DarkMode\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"darkMode\";\n }\n\n enabled() {\n $(\"#app-mount\").addClass(\"bda-dark\").addClass(\"bd-dark\");\n }\n\n disabled() {\n $(\"#app-mount\").removeClass(\"bda-dark\").removeClass(\"bd-dark\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Rhcmttb2RlLmpzPzVkZGUiXSwibmFtZXMiOlsiRGFya01vZGUiLCJCdWlsdGluIiwibmFtZSIsImNhdGVnb3J5IiwiaWQiLCJlbmFibGVkIiwiJCIsImFkZENsYXNzIiwiZGlzYWJsZWQiLCJyZW1vdmVDbGFzcyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBRWUsbUVBQUksTUFBTUEsUUFBTixTQUF1QkMsd0RBQXZCLENBQStCO0FBQzlDLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sVUFBUDtBQUFtQjs7QUFDL0IsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUNyQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFVBQVA7QUFBbUI7O0FBRTdCQyxTQUFPLEdBQUc7QUFDTkMsS0FBQyxDQUFDLFlBQUQsQ0FBRCxDQUFnQkMsUUFBaEIsQ0FBeUIsVUFBekIsRUFBcUNBLFFBQXJDLENBQThDLFNBQTlDO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQRixLQUFDLENBQUMsWUFBRCxDQUFELENBQWdCRyxXQUFoQixDQUE0QixVQUE1QixFQUF3Q0EsV0FBeEMsQ0FBb0QsU0FBcEQ7QUFDSDs7QUFYNkMsQ0FBbkMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy9kYXJrbW9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEYXJrTW9kZSBleHRlbmRzIEJ1aWx0aW4ge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiRGFya01vZGVcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiYXBwZWFyYW5jZVwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJkYXJrTW9kZVwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgICQoXCIjYXBwLW1vdW50XCIpLmFkZENsYXNzKFwiYmRhLWRhcmtcIikuYWRkQ2xhc3MoXCJiZC1kYXJrXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgICQoXCIjYXBwLW1vdW50XCIpLnJlbW92ZUNsYXNzKFwiYmRhLWRhcmtcIikucmVtb3ZlQ2xhc3MoXCJiZC1kYXJrXCIpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/darkmode.js\n");
/***/ }),
/***/ "./src/builtins/developermode.js":
/*!***************************************!*\
!*** ./src/builtins/developermode.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DeveloperMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"DeveloperMode\";\n }\n\n get category() {\n return \"developer\";\n }\n\n get id() {\n return \"developerMode\";\n }\n\n get selectorModeID() {\n return \"copySelector\";\n }\n\n get selectorMode() {\n return this.get(this.selectorModeID);\n }\n\n constructor() {\n super();\n this.enableSelectors = this.enableSelectors.bind(this);\n this.disableSelectors = this.disableSelectors.bind(this);\n }\n\n enabled() {\n $(window).on(\"keydown.bdDevmode\", e => {\n if (e.which === 119 || e.which == 118) {\n //F8\n this.log(\"Debugger Activated\");\n debugger; // eslint-disable-line no-debugger\n }\n });\n if (this.selectorMode) this.enableSelectors();\n this.selectorCancel = this.registerSetting(this.selectorModeID, this.enableSelectors, this.disableSelectors);\n }\n\n disabled() {\n $(window).off(\"keydown.bdDevmode\");\n if (this.selectorMode) this.disableSelectors();\n if (this.selectorCancel) this.selectorCancel();\n }\n\n enableSelectors() {\n $(document).on(\"contextmenu.bdDevmode\", e => {\n this.lastSelector = this.getSelector(e.toElement);\n\n const attach = () => {\n let cm = $(\".contextMenu-HLZMGh\");\n\n if (cm.length <= 0) {\n cm = $(\"<div class=\\\"contextMenu-HLZMGh bd-context-menu\\\"></div>\");\n cm.addClass($(\".app, .app-2rEoOp\").hasClass(\"theme-dark\") ? \"theme-dark\" : \"theme-light\");\n cm.appendTo(\".app, .app-2rEoOp\");\n cm.css(\"top\", e.clientY);\n cm.css(\"left\", e.clientX);\n $(document).on(\"click.bdDevModeCtx\", () => {\n cm.remove();\n $(document).off(\".bdDevModeCtx\");\n });\n $(document).on(\"contextmenu.bdDevModeCtx\", () => {\n cm.remove();\n $(document).off(\".bdDevModeCtx\");\n });\n $(document).on(\"keyup.bdDevModeCtx\", e => {\n if (e.keyCode === 27) {\n cm.remove();\n $(document).off(\".bdDevModeCtx\");\n }\n });\n }\n\n const cmo = $(\"<div/>\", {\n \"class\": \"itemGroup-1tL0uz\"\n });\n const cmi = $(\"<div/>\", {\n \"class\": \"item-1Yvehc\",\n \"click\": () => {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ElectronModule.copy(this.lastSelector);\n cm.hide();\n }\n }).append($(\"<span/>\", {\n text: \"Copy Selector\"\n }));\n cmo.append(cmi);\n cm.append(cmo);\n if (cm.hasClass(\"undefined\")) cm.css(\"top\", \"-=\" + cmo.outerHeight());\n };\n\n setImmediate(attach);\n e.stopPropagation();\n });\n }\n\n disableSelectors() {\n $(document).off(\"contextmenu.bdDevmode\");\n $(document).off(\"contextmenu.bdDevModeCtx\");\n }\n\n getRules(element, css = element.ownerDocument.styleSheets) {\n // return [].concat(...[...css].map(s => [...s.cssRules || []])).filter(r => r && r.selectorText && element.matches(r.selectorText) && r.style.length && r.selectorText.split(\", \").length < 8);\n const sheets = [...css].filter(s => !s.href || !s.href.includes(\"BetterDiscordApp\"));\n const rules = sheets.map(s => [...(s.cssRules || [])]).flat();\n const elementRules = rules.filter(r => r && r.selectorText && element.matches(r.selectorText) && r.style.length && r.selectorText.split(\", \").length < 8 && !r.selectorText.split(\", \").includes(\"*\"));\n return elementRules;\n }\n\n getSelector(element) {\n if (element.id) return `#${element.id}`;\n const rules = this.getRules(element);\n const latestRule = rules[rules.length - 1];\n if (latestRule) return latestRule.selectorText;else if (element.classList.length) return `.${Array.from(element.classList).join(\".\")}`;\n return `.${Array.from(element.parentElement.classList).join(\".\")}`;\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2RldmVsb3Blcm1vZGUuanM/NjY2OSJdLCJuYW1lcyI6WyJEZXZlbG9wZXJNb2RlIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwic2VsZWN0b3JNb2RlSUQiLCJzZWxlY3Rvck1vZGUiLCJnZXQiLCJjb25zdHJ1Y3RvciIsImVuYWJsZVNlbGVjdG9ycyIsImJpbmQiLCJkaXNhYmxlU2VsZWN0b3JzIiwiZW5hYmxlZCIsIiQiLCJ3aW5kb3ciLCJvbiIsImUiLCJ3aGljaCIsImxvZyIsInNlbGVjdG9yQ2FuY2VsIiwicmVnaXN0ZXJTZXR0aW5nIiwiZGlzYWJsZWQiLCJvZmYiLCJkb2N1bWVudCIsImxhc3RTZWxlY3RvciIsImdldFNlbGVjdG9yIiwidG9FbGVtZW50IiwiYXR0YWNoIiwiY20iLCJsZW5ndGgiLCJhZGRDbGFzcyIsImhhc0NsYXNzIiwiYXBwZW5kVG8iLCJjc3MiLCJjbGllbnRZIiwiY2xpZW50WCIsInJlbW92ZSIsImtleUNvZGUiLCJjbW8iLCJjbWkiLCJEaXNjb3JkTW9kdWxlcyIsIkVsZWN0cm9uTW9kdWxlIiwiY29weSIsImhpZGUiLCJhcHBlbmQiLCJ0ZXh0Iiwib3V0ZXJIZWlnaHQiLCJzZXRJbW1lZGlhdGUiLCJzdG9wUHJvcGFnYXRpb24iLCJnZXRSdWxlcyIsImVsZW1lbnQiLCJvd25lckRvY3VtZW50Iiwic3R5bGVTaGVldHMiLCJzaGVldHMiLCJmaWx0ZXIiLCJzIiwiaHJlZiIsImluY2x1ZGVzIiwicnVsZXMiLCJtYXAiLCJjc3NSdWxlcyIsImZsYXQiLCJlbGVtZW50UnVsZXMiLCJyIiwic2VsZWN0b3JUZXh0IiwibWF0Y2hlcyIsInN0eWxlIiwic3BsaXQiLCJsYXRlc3RSdWxlIiwiY2xhc3NMaXN0IiwiQXJyYXkiLCJmcm9tIiwiam9pbiIsInBhcmVudEVsZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFZSxtRUFB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QUFDQSxLQUFLLENBQUM3QixNQUFOLEdBQWUsQ0FBaEIsQ0FBeEI7QUFDQSxRQUFJdUMsVUFBSixFQUFnQixPQUFPQSxVQUFVLENBQUNKLFlBQWxCLENBQWhCLEtBQ0ssSUFBSWQsT0FBTyxDQUFDbUIsU0FBUixDQUFrQnhDLE1BQXRCLEVBQThCLE9BQVEsSUFBR3lDLEtBQUssQ0FBQ0MsSUFBTixDQUFXckIsT0FBTyxDQUFDbUIsU0FBbkIsRUFBOEJHLElBQTlCLENBQW1DLEdBQW5DLENBQXdDLEVBQW5EO0FBQ25DLFdBQVEsSUFBR0YsS0FBSyxDQUFDQyxJQUFOLENBQVdyQixPQUFPLENBQUN1QixhQUFSLENBQXNCSixTQUFqQyxFQUE0Q0csSUFBNUMsQ0FBaUQsR0FBakQsQ0FBc0QsRUFBakU7QUFDSDs7QUFsR2tELENBQXhDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvZGV2ZWxvcGVybW9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEZXZlbG9wZXJNb2RlIGV4dGVuZHMgQnVpbHRpbiB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJEZXZlbG9wZXJNb2RlXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImRldmVsb3BlclwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJkZXZlbG9wZXJNb2RlXCI7fVxyXG4gICAgZ2V0IHNlbGVjdG9yTW9kZUlEKCkge3JldHVybiBcImNvcHlTZWxlY3RvclwiO31cclxuICAgIGdldCBzZWxlY3Rvck1vZGUoKSB7cmV0dXJuIHRoaXMuZ2V0KHRoaXMuc2VsZWN0b3JNb2RlSUQpO31cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlU2VsZWN0b3JzID0gdGhpcy5lbmFibGVTZWxlY3RvcnMuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmRpc2FibGVTZWxlY3RvcnMgPSB0aGlzLmRpc2FibGVTZWxlY3RvcnMuYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgICQod2luZG93KS5vbihcImtleWRvd24uYmREZXZtb2RlXCIsIChlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlLndoaWNoID09PSAxMTkgfHwgZS53aGljaCA9PSAxMTgpIHsvL0Y4XHJcbiAgICAgICAgICAgICAgIHRoaXMubG9nKFwiRGVidWdnZXIgQWN0aXZhdGVkXCIpO1xyXG4gICAgICAgICAgICAgICBkZWJ1Z2dlcjsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1kZWJ1Z2dlclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0b3JNb2RlKSB0aGlzLmVuYWJsZVNlbGVjdG9ycygpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0b3JDYW5jZWwgPSB0aGlzLnJlZ2lzdGVyU2V0dGluZyh0aGlzLnNlbGVjdG9yTW9kZUlELCB0aGlzLmVuYWJsZVNlbGVjdG9ycywgdGhpcy5kaXNhYmxlU2VsZWN0b3JzKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlZCgpIHtcclxuICAgICAgICAkKHdpbmRvdykub2ZmKFwia2V5ZG93bi5iZERldm1vZGVcIik7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0b3JNb2RlKSB0aGlzLmRpc2FibGVTZWxlY3RvcnMoKTtcclxuICAgICAgICBpZiAodGhpcy5zZWxlY3RvckNhbmNlbCkgdGhpcy5zZWxlY3RvckNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZVNlbGVjdG9ycygpIHtcclxuICAgICAgICAkKGRvY3VtZW50KS5vbihcImNvbnRleHRtZW51LmJkRGV2bW9kZVwiLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxhc3RTZWxlY3RvciA9IHRoaXMuZ2V0U2VsZWN0b3IoZS50b0VsZW1lbnQpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgYXR0YWNoID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICBsZXQgY20gPSAkKFwiLmNvbnRleHRNZW51LUhMWk1HaFwiKTtcclxuICAgICAgICAgICAgICAgaWYgKGNtLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICBjbSA9ICQoXCI8ZGl2IGNsYXNzPVxcXCJjb250ZXh0TWVudS1ITFpNR2ggYmQtY29udGV4dC1tZW51XFxcIj48L2Rpdj5cIik7XHJcbiAgICAgICAgICAgICAgICAgICBjbS5hZGRDbGFzcygkKFwiLmFwcCwgLmFwcC0yckVvT3BcIikuaGFzQ2xhc3MoXCJ0aGVtZS1kYXJrXCIpID8gXCJ0aGVtZS1kYXJrXCIgOiBcInRoZW1lLWxpZ2h0XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgY20uYXBwZW5kVG8oXCIuYXBwLCAuYXBwLTJyRW9PcFwiKTtcclxuICAgICAgICAgICAgICAgICAgIGNtLmNzcyhcInRvcFwiLCBlLmNsaWVudFkpO1xyXG4gICAgICAgICAgICAgICAgICAgY20uY3NzKFwibGVmdFwiLCBlLmNsaWVudFgpO1xyXG4gICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGljay5iZERldk1vZGVDdHhcIiwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGNtLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9mZihcIi5iZERldk1vZGVDdHhcIik7XHJcbiAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY29udGV4dG1lbnUuYmREZXZNb2RlQ3R4XCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICBjbS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCIuYmREZXZNb2RlQ3R4XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImtleXVwLmJkRGV2TW9kZUN0eFwiLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCIuYmREZXZNb2RlQ3R4XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICBjb25zdCBjbW8gPSAkKFwiPGRpdi8+XCIsIHtcclxuICAgICAgICAgICAgICAgICAgIFwiY2xhc3NcIjogXCJpdGVtR3JvdXAtMXRMMHV6XCJcclxuICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgIGNvbnN0IGNtaSA9ICQoXCI8ZGl2Lz5cIiwge1xyXG4gICAgICAgICAgICAgICAgICAgXCJjbGFzc1wiOiBcIml0ZW0tMVl2ZWhjXCIsXHJcbiAgICAgICAgICAgICAgICAgICBcImNsaWNrXCI6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICBEaXNjb3JkTW9kdWxlcy5FbGVjdHJvbk1vZHVsZS5jb3B5KHRoaXMubGFzdFNlbGVjdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICBjbS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIH0pLmFwcGVuZCgkKFwiPHNwYW4vPlwiLCB7dGV4dDogXCJDb3B5IFNlbGVjdG9yXCJ9KSk7XHJcbiAgICAgICAgICAgICAgIGNtby5hcHBlbmQoY21pKTtcclxuICAgICAgICAgICAgICAgY20uYXBwZW5kKGNtbyk7XHJcbiAgICAgICAgICAgICAgIGlmIChjbS5oYXNDbGFzcyhcInVuZGVmaW5lZFwiKSkgY20uY3NzKFwidG9wXCIsICBcIi09XCIgKyBjbW8ub3V0ZXJIZWlnaHQoKSk7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUoYXR0YWNoKTtcclxuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlU2VsZWN0b3JzKCkge1xyXG4gICAgICAgICQoZG9jdW1lbnQpLm9mZihcImNvbnRleHRtZW51LmJkRGV2bW9kZVwiKTtcclxuICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJjb250ZXh0bWVudS5iZERldk1vZGVDdHhcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UnVsZXMoZWxlbWVudCwgY3NzID0gZWxlbWVudC5vd25lckRvY3VtZW50LnN0eWxlU2hlZXRzKSB7XHJcbiAgICAgICAgLy8gcmV0dXJuIFtdLmNvbmNhdCguLi5bLi4uY3NzXS5tYXAocyA9PiBbLi4ucy5jc3NSdWxlcyB8fCBbXV0pKS5maWx0ZXIociA9PiByICYmIHIuc2VsZWN0b3JUZXh0ICYmIGVsZW1lbnQubWF0Y2hlcyhyLnNlbGVjdG9yVGV4dCkgJiYgci5zdHlsZS5sZW5ndGggJiYgci5zZWxlY3RvclRleHQuc3BsaXQoXCIsIFwiKS5sZW5ndGggPCA4KTtcclxuICAgICAgICBjb25zdCBzaGVldHMgPSBbLi4uY3NzXS5maWx0ZXIocyA9PiAhcy5ocmVmIHx8ICFzLmhyZWYuaW5jbHVkZXMoXCJCZXR0ZXJEaXNjb3JkQXBwXCIpKTtcclxuICAgICAgICBjb25zdCBydWxlcyA9IHNoZWV0cy5tYXAocyA9PiBbLi4uKHMuY3NzUnVsZXMgfHwgW10pXSkuZmxhdCgpO1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRSdWxlcyA9IHJ1bGVzLmZpbHRlcihyID0+IHIgJiYgci5zZWxlY3RvclRleHQgJiYgZWxlbWVudC5tYXRjaGVzKHIuc2VsZWN0b3JUZXh0KSAmJiByLnN0eWxlLmxlbmd0aCAmJiByLnNlbGVjdG9yVGV4dC5zcGxpdChcIiwgXCIpLmxlbmd0aCA8IDggJiYgIXIuc2VsZWN0b3JUZXh0LnNwbGl0KFwiLCBcIikuaW5jbHVkZXMoXCIqXCIpKTtcclxuICAgICAgICByZXR1cm4gZWxlbWVudFJ1bGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFNlbGVjdG9yKGVsZW1lbnQpIHtcclxuICAgICAgICBpZiAoZWxlbWVudC5pZCkgcmV0dXJuIGAjJHtlbGVtZW50LmlkfWA7XHJcbiAgICAgICAgY29uc3QgcnVsZXMgPSB0aGlzLmdldFJ1bGVzKGVsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IGxhdGVzdFJ1bGUgPSBydWxlc1tydWxlcy5sZW5ndGggLSAxXTtcclxuICAgICAgICBpZiAobGF0ZXN0UnVsZSkgcmV0dXJuIGxhdGVzdFJ1bGUuc2VsZWN0b3JUZXh0O1xyXG4gICAgICAgIGVsc2UgaWYgKGVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCkgcmV0dXJuIGAuJHtBcnJheS5mcm9tKGVsZW1lbnQuY2xhc3NMaXN0KS5qb2luKFwiLlwiKX1gO1xyXG4gICAgICAgIHJldHVybiBgLiR7QXJyYXkuZnJvbShlbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0KS5qb2luKFwiLlwiKX1gO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/developermode.js\n");
/***/ }),
/***/ "./src/builtins/emoteautocaps.js":
/*!***************************************!*\
!*** ./src/builtins/emoteautocaps.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class EmoteAutocaps extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"EmoteAutocapitalize\";\n }\n\n get collection() {\n return \"emotes\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"autoCaps\";\n }\n\n enabled() {\n $(\"body\").off(\".bdac\");\n $(\"body\").on(\"keyup.bdac change.bdac paste.bdac\", $(\".channelTextArea-1LDbYG textarea:first\"), () => {\n const text = $(\".channelTextArea-1LDbYG textarea:first\").val();\n if (text == undefined) return;\n const lastWord = text.split(\" \").pop();\n\n if (lastWord.length > 3) {\n if (lastWord == \"danSgame\") return;\n const ret = this.capitalize(lastWord.toLowerCase());\n\n if (ret !== null && ret !== undefined) {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].insertText(modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].getTextArea()[0], text.replace(lastWord, ret));\n }\n }\n });\n }\n\n disabled() {\n $(\"body\").off(\".bdac\");\n }\n\n capitalize(value) {\n const res = _emotes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getCategory(\"TwitchGlobal\");\n\n for (const p in res) {\n if (res.hasOwnProperty(p) && value == (p + \"\").toLowerCase()) {\n return p;\n }\n }\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Vtb3RlYXV0b2NhcHMuanM/MTY0NyJdLCJuYW1lcyI6WyJFbW90ZUF1dG9jYXBzIiwiQnVpbHRpbiIsIm5hbWUiLCJjb2xsZWN0aW9uIiwiY2F0ZWdvcnkiLCJpZCIsImVuYWJsZWQiLCIkIiwib2ZmIiwib24iLCJ0ZXh0IiwidmFsIiwidW5kZWZpbmVkIiwibGFzdFdvcmQiLCJzcGxpdCIsInBvcCIsImxlbmd0aCIsInJldCIsImNhcGl0YWxpemUiLCJ0b0xvd2VyQ2FzZSIsIlV0aWxpdGllcyIsImluc2VydFRleHQiLCJnZXRUZXh0QXJlYSIsInJlcGxhY2UiLCJkaXNhYmxlZCIsInZhbHVlIiwicmVzIiwiRW1vdGVNb2R1bGUiLCJnZXRDYXRlZ29yeSIsInAiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFFZSxtRUFBSSxNQUFNQSxhQUFOLFNBQTRCQyx3REFBNUIsQ0FBb0M7QUFDbkQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxxQkFBUDtBQUE4Qjs7QUFDMUMsTUFBSUMsVUFBSixHQUFpQjtBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFDbkMsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxTQUFQO0FBQWtCOztBQUNsQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFVBQVA7QUFBbUI7O0FBRTdCQyxTQUFPLEdBQUc7QUFDTkMsS0FBQyxDQUFDLE1BQUQsQ0FBRCxDQUFVQyxHQUFWLENBQWMsT0FBZDtBQUNBRCxLQUFDLENBQUMsTUFBRCxDQUFELENBQVVFLEVBQVYsQ0FBYSxtQ0FBYixFQUFrREYsQ0FBQyxDQUFDLHdDQUFELENBQW5ELEVBQStGLE1BQU07QUFDakcsWUFBTUcsSUFBSSxHQUFHSCxDQUFDLENBQUMsd0NBQUQsQ0FBRCxDQUE0Q0ksR0FBNUMsRUFBYjtBQUNBLFVBQUlELElBQUksSUFBSUUsU0FBWixFQUF1QjtBQUV2QixZQUFNQyxRQUFRLEdBQUdILElBQUksQ0FBQ0ksS0FBTCxDQUFXLEdBQVgsRUFBZ0JDLEdBQWhCLEVBQWpCOztBQUNBLFVBQUlGLFFBQVEsQ0FBQ0csTUFBVCxHQUFrQixDQUF0QixFQUF5QjtBQUNyQixZQUFJSCxRQUFRLElBQUksVUFBaEIsRUFBNEI7QUFDNUIsY0FBTUksR0FBRyxHQUFHLEtBQUtDLFVBQUwsQ0FBZ0JMLFFBQVEsQ0FBQ00sV0FBVCxFQUFoQixDQUFaOztBQUNBLFlBQUlGLEdBQUcsS0FBSyxJQUFSLElBQWdCQSxHQUFHLEtBQUtMLFNBQTVCLEVBQXVDO0FBQ25DUSwyREFBUyxDQUFDQyxVQUFWLENBQXFCRCxpREFBUyxDQUFDRSxXQUFWLEdBQXdCLENBQXhCLENBQXJCLEVBQWlEWixJQUFJLENBQUNhLE9BQUwsQ0FBYVYsUUFBYixFQUF1QkksR0FBdkIsQ0FBakQ7QUFDSDtBQUNKO0FBQ0osS0FaRDtBQWFIOztBQUVETyxVQUFRLEdBQUc7QUFDUGpCLEtBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUMsR0FBVixDQUFjLE9BQWQ7QUFDSDs7QUFFRFUsWUFBVSxDQUFDTyxLQUFELEVBQVE7QUFDZCxVQUFNQyxHQUFHLEdBQUdDLCtDQUFXLENBQUNDLFdBQVosQ0FBd0IsY0FBeEIsQ0FBWjs7QUFDQSxTQUFLLE1BQU1DLENBQVgsSUFBZ0JILEdBQWhCLEVBQXFCO0FBQ2pCLFVBQUlBLEdBQUcsQ0FBQ0ksY0FBSixDQUFtQkQsQ0FBbkIsS0FBeUJKLEtBQUssSUFBSSxDQUFDSSxDQUFDLEdBQUcsRUFBTCxFQUFTVixXQUFULEVBQXRDLEVBQThEO0FBQzFELGVBQU9VLENBQVA7QUFDSDtBQUNKO0FBQ0o7O0FBbENrRCxDQUF4QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL2Vtb3RlYXV0b2NhcHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcblxyXG5pbXBvcnQge1V0aWxpdGllc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmltcG9ydCBFbW90ZU1vZHVsZSBmcm9tIFwiLi9lbW90ZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBFbW90ZUF1dG9jYXBzIGV4dGVuZHMgQnVpbHRpbiB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJFbW90ZUF1dG9jYXBpdGFsaXplXCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwiZW1vdGVzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImdlbmVyYWxcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwiYXV0b0NhcHNcIjt9XHJcblxyXG4gICAgZW5hYmxlZCgpIHtcclxuICAgICAgICAkKFwiYm9keVwiKS5vZmYoXCIuYmRhY1wiKTtcclxuICAgICAgICAkKFwiYm9keVwiKS5vbihcImtleXVwLmJkYWMgY2hhbmdlLmJkYWMgcGFzdGUuYmRhY1wiLCAkKFwiLmNoYW5uZWxUZXh0QXJlYS0xTERiWUcgdGV4dGFyZWE6Zmlyc3RcIiksICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdGV4dCA9ICQoXCIuY2hhbm5lbFRleHRBcmVhLTFMRGJZRyB0ZXh0YXJlYTpmaXJzdFwiKS52YWwoKTtcclxuICAgICAgICAgICAgaWYgKHRleHQgPT0gdW5kZWZpbmVkKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgICBjb25zdCBsYXN0V29yZCA9IHRleHQuc3BsaXQoXCIgXCIpLnBvcCgpO1xyXG4gICAgICAgICAgICBpZiAobGFzdFdvcmQubGVuZ3RoID4gMykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxhc3RXb3JkID09IFwiZGFuU2dhbWVcIikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmV0ID0gdGhpcy5jYXBpdGFsaXplKGxhc3RXb3JkLnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJldCAhPT0gbnVsbCAmJiByZXQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIFV0aWxpdGllcy5pbnNlcnRUZXh0KFV0aWxpdGllcy5nZXRUZXh0QXJlYSgpWzBdLCB0ZXh0LnJlcGxhY2UobGFzdFdvcmQsIHJldCkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikub2ZmKFwiLmJkYWNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgY2FwaXRhbGl6ZSh2YWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IEVtb3RlTW9kdWxlLmdldENhdGVnb3J5KFwiVHdpdGNoR2xvYmFsXCIpO1xyXG4gICAgICAgIGZvciAoY29uc3QgcCBpbiByZXMpIHtcclxuICAgICAgICAgICAgaWYgKHJlcy5oYXNPd25Qcm9wZXJ0eShwKSAmJiB2YWx1ZSA9PSAocCArIFwiXCIpLnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/emoteautocaps.js\n");
/***/ }),
/***/ "./src/builtins/emotemenu.js":
/*!***********************************!*\
!*** ./src/builtins/emotemenu.js ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _emotes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emotes */ \"./src/builtins/emotes.js\");\n\n\n\nconst headerHTML = `<div id=\"bda-qem\">\n <button class=\"active\" id=\"bda-qem-twitch\">Twitch</button>\n <button id=\"bda-qem-favourite\">Favourite</button>\n <button id=\"bda-qem-emojis\">Emojis</buttond>\n</div>`;\nconst twitchEmoteHTML = `<div id=\"bda-qem-twitch-container\">\n <div class=\"scroller-wrap scrollerWrap-2lJEkd fade\">\n <div class=\"scroller scroller-2FKFPG\">\n <div class=\"emote-menu-inner\">\n\n </div>\n </div>\n </div>\n</div>`;\nconst favoritesHTML = `<div id=\"bda-qem-favourite-container\">\n <div class=\"scroller-wrap scrollerWrap-2lJEkd fade\">\n <div class=\"scroller scroller-2FKFPG\">\n <div class=\"emote-menu-inner\">\n\n </div>\n </div>\n </div>\n</div>`;\n\nconst makeEmote = (emote, url, options = {}) => {\n const {\n onContextMenu,\n onClick\n } = options;\n const emoteContainer = $(`<div class=\"emote-container\">\n <img class=\"emote-icon\" alt=\"${emote}\" src=\"${url}\" title=\"${emote}\">\n </div>`)[0];\n if (onContextMenu) emoteContainer.addEventListener(\"contextmenu\", onContextMenu);\n emoteContainer.addEventListener(\"click\", onClick);\n return emoteContainer;\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class EmoteMenu extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"EmoteMenu\";\n }\n\n get collection() {\n return \"emotes\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"emoteMenu\";\n }\n\n get hideEmojisID() {\n return \"hideEmojiMenu\";\n }\n\n get hideEmojis() {\n return this.get(this.hideEmojisID);\n }\n\n constructor() {\n super();\n this.lastTab = \"bda-qem-emojis\";\n this.favoriteEmotes = {};\n this.qmeHeader = $(headerHTML)[0];\n\n for (const button of this.qmeHeader.getElementsByTagName(\"button\")) button.addEventListener(\"click\", this.switchMenu.bind(this));\n\n this.teContainer = $(twitchEmoteHTML)[0];\n this.teContainerInner = this.teContainer.querySelector(\".emote-menu-inner\");\n this.faContainer = $(favoritesHTML)[0];\n this.faContainerInner = this.faContainer.querySelector(\".emote-menu-inner\");\n this.observer = new MutationObserver(mutations => {\n for (const mutation of mutations) this.observe(mutation);\n });\n this.enableHideEmojis = this.enableHideEmojis.bind(this);\n this.disableHideEmojis = this.disableHideEmojis.bind(this);\n this.updateTwitchEmotes = this.updateTwitchEmotes.bind(this);\n }\n\n initialize() {\n super.initialize();\n const fe = modules__WEBPACK_IMPORTED_MODULE_1__[\"DataStore\"].getBDData(\"bdfavemotes\");\n if (fe !== \"\" && fe !== null) this.favoriteEmotes = JSON.parse(atob(fe));\n this.updateFavorites();\n }\n\n async enabled() {\n this.log(\"Starting to observe\");\n this.observer.observe(document.getElementById(\"app-mount\"), {\n childList: true,\n subtree: true\n });\n this.hideEmojiCancel = this.registerSetting(this.hideEmojisID, this.enableHideEmojis, this.disableHideEmojis);\n if (this.hideEmojis) this.enableHideEmojis();\n if (_emotes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].emotesLoaded) this.updateTwitchEmotes();\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Events\"].on(\"emotes-loaded\", this.updateTwitchEmotes);\n }\n\n disabled() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Events\"].off(\"emotes-loaded\", this.updateTwitchEmotes);\n this.observer.disconnect();\n this.disableHideEmojis();\n if (this.hideEmojiCancel) this.hideEmojiCancel();\n }\n\n enableHideEmojis() {\n $(\".emojiPicker-3m1S-j\").addClass(\"bda-qme-hidden\");\n }\n\n disableHideEmojis() {\n $(\".emojiPicker-3m1S-j\").removeClass(\"bda-qme-hidden\");\n }\n\n insertEmote(emote) {\n const ta = modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].getTextArea();\n modules__WEBPACK_IMPORTED_MODULE_1__[\"Utilities\"].insertText(ta[0], ta.val().slice(-1) == \" \" ? ta.val() + emote : ta.val() + \" \" + emote);\n }\n\n favContext(e) {\n e.stopPropagation();\n const em = e.target.closest(\".emote-container\").children[0];\n const menu = $(`<div id=\"removemenu\" class=\"bd-context-menu context-menu theme-dark\">Remove</div>`);\n menu.css({\n top: e.pageY - $(\"#bda-qem-favourite-container\").offset().top,\n left: e.pageX - $(\"#bda-qem-favourite-container\").offset().left\n });\n $(em).parent().append(menu);\n menu.on(\"click\", e => {\n e.preventDefault();\n e.stopPropagation();\n $(em).remove();\n delete this.favoriteEmotes[$(em).attr(\"title\")];\n this.updateFavorites();\n $(document).off(\"mousedown.emotemenu\");\n });\n $(document).on(\"mousedown.emotemenu\", function (e) {\n if (e.target.id == \"removemenu\") return;\n $(\"#removemenu\").remove();\n $(document).off(\"mousedown.emotemenu\");\n });\n }\n\n switchMenu(e) {\n let id = typeof e == \"string\" ? e : $(e.target).attr(\"id\");\n if (id == \"bda-qem-emojis\" && this.hideEmojis) id = \"bda-qem-favourite\";\n const twitch = $(\"#bda-qem-twitch\");\n const fav = $(\"#bda-qem-favourite\");\n const emojis = $(\"#bda-qem-emojis\");\n twitch.removeClass(\"active\");\n fav.removeClass(\"active\");\n emojis.removeClass(\"active\");\n $(\".emojiPicker-3m1S-j\").hide();\n $(\"#bda-qem-favourite-container\").hide();\n $(\"#bda-qem-twitch-container\").hide();\n\n switch (id) {\n case \"bda-qem-twitch\":\n twitch.addClass(\"active\");\n $(\"#bda-qem-twitch-container\").show();\n break;\n\n case \"bda-qem-favourite\":\n fav.addClass(\"active\");\n $(\"#bda-qem-favourite-container\").show();\n break;\n\n case \"bda-qem-emojis\":\n emojis.addClass(\"active\");\n $(\".emojiPicker-3m1S-j\").show();\n $(\".emojiPicker-3m1S-j input\").focus();\n break;\n }\n\n if (id) this.lastTab = id;\n }\n\n observe(mutation) {\n if (!mutation.addedNodes.length || !(mutation.addedNodes[0] instanceof Element)) return;\n const node = mutation.addedNodes[0];\n if (!node.classList.contains(\"popout-3sVMXz\") || node.classList.contains(\"popoutLeft-30WmrD\") || !node.getElementsByClassName(\"emojiPicker-3m1S-j\").length) return;\n const e = $(node);\n if (this.hideEmojis) e.addClass(\"bda-qme-hidden\");else e.removeClass(\"bda-qme-hidden\");\n e.prepend(this.qmeHeader);\n e.append(this.teContainer);\n e.append(this.faContainer);\n this.switchMenu(this.lastTab);\n }\n\n favorite(name, url) {\n if (!this.favoriteEmotes.hasOwnProperty(name)) this.favoriteEmotes[name] = url;\n this.updateFavorites();\n }\n\n updateTwitchEmotes() {\n while (this.teContainerInner.firstChild) this.teContainerInner.firstChild.remove();\n\n for (const emote in _emotes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getCategory(\"TwitchGlobal\")) {\n if (!_emotes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getCategory(\"TwitchGlobal\").hasOwnProperty(emote)) continue;\n const url = _emotes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getCategory(\"TwitchGlobal\")[emote];\n const emoteElement = makeEmote(emote, url, {\n onClick: this.insertEmote.bind(this, emote)\n });\n this.teContainerInner.append(emoteElement);\n }\n }\n\n updateFavorites() {\n while (this.faContainerInner.firstChild) this.faContainerInner.firstChild.remove();\n\n for (const emote in this.favoriteEmotes) {\n const url = this.favoriteEmotes[emote];\n const emoteElement = makeEmote(emote, url, {\n onClick: this.insertEmote.bind(this, emote),\n onContextMenu: this.favContext.bind(this)\n });\n this.faContainerInner.append(emoteElement);\n }\n\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DataStore\"].setBDData(\"bdfavemotes\", btoa(JSON.stringify(this.favoriteEmotes)));\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Vtb3RlbWVudS5qcz8yYWNlIl0sIm5hbWVzIjpbImhlYWRlckhUTUwiLCJ0d2l0Y2hFbW90ZUhUTUwiLCJmYXZvcml0ZXNIVE1MIiwibWFrZUVtb3RlIiwiZW1vdGUiLCJ1cmwiLCJvcHRpb25zIiwib25Db250ZXh0TWVudSIsIm9uQ2xpY2siLCJlbW90ZUNvbnRhaW5lciIsIiQiLCJhZGRFdmVudExpc3RlbmVyIiwiRW1vdGVNZW51IiwiQnVpbHRpbiIsIm5hbWUiLCJjb2xsZWN0aW9uIiwiY2F0ZWdvcnkiLCJpZCIsImhpZGVFbW9qaXNJRCIsImhpZGVFbW9qaXMiLCJnZXQiLCJjb25zdHJ1Y3RvciIsImxhc3RUYWIiLCJmYXZvcml0ZUVtb3RlcyIsInFtZUhlYWRlciIsImJ1dHRvbiIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwic3dpdGNoTWVudSIsImJpbmQiLCJ0ZUNvbnRhaW5lciIsInRlQ29udGFpbmVySW5uZXIiLCJxdWVyeVNlbGVjdG9yIiwiZmFDb250YWluZXIiLCJmYUNvbnRhaW5lcklubmVyIiwib2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwibXV0YXRpb25zIiwibXV0YXRpb24iLCJvYnNlcnZlIiwiZW5hYmxlSGlkZUVtb2ppcyIsImRpc2FibGVIaWRlRW1vamlzIiwidXBkYXRlVHdpdGNoRW1vdGVzIiwiaW5pdGlhbGl6ZSIsImZlIiwiRGF0YVN0b3JlIiwiZ2V0QkREYXRhIiwiSlNPTiIsInBhcnNlIiwiYXRvYiIsInVwZGF0ZUZhdm9yaXRlcyIsImVuYWJsZWQiLCJsb2ciLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsImhpZGVFbW9qaUNhbmNlbCIsInJlZ2lzdGVyU2V0dGluZyIsIkVtb3RlTW9kdWxlIiwiZW1vdGVzTG9hZGVkIiwiRXZlbnRzIiwib24iLCJkaXNhYmxlZCIsIm9mZiIsImRpc2Nvbm5lY3QiLCJhZGRDbGFzcyIsInJlbW92ZUNsYXNzIiwiaW5zZXJ0RW1vdGUiLCJ0YSIsIlV0aWxpdGllcyIsImdldFRleHRBcmVhIiwiaW5zZXJ0VGV4dCIsInZhbCIsInNsaWNlIiwiZmF2Q29udGV4dCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJlbSIsInRhcmdldCIsImNsb3Nlc3QiLCJjaGlsZHJlbiIsIm1lbnUiLCJjc3MiLCJ0b3AiLCJwYWdlWSIsIm9mZnNldCIsImxlZnQiLCJwYWdlWCIsInBhcmVudCIsImFwcGVuZCIsInByZXZlbnREZWZhdWx0IiwicmVtb3ZlIiwiYXR0ciIsInR3aXRjaCIsImZhdiIsImVtb2ppcyIsImhpZGUiLCJzaG93IiwiZm9jdXMiLCJhZGRlZE5vZGVzIiwibGVuZ3RoIiwiRWxlbWVudCIsIm5vZGUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJwcmVwZW5kIiwiZmF2b3JpdGUiLCJoYXNPd25Qcm9wZXJ0eSIsImZpcnN0Q2hpbGQiLCJnZXRDYXRlZ29yeSIsImVtb3RlRWxlbWVudCIsInNldEJERGF0YSIsImJ0b2EiLCJzdHJpbmdpZnkiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBRUEsTUFBTUEsVUFBVSxHQUFJOzs7O09BQXBCO0FBTUEsTUFBTUMsZUFBZSxHQUFJOzs7Ozs7OztPQUF6QjtBQVVBLE1BQU1DLGFBQWEsR0FBSTs7Ozs7Ozs7T0FBdkI7O0FBVUEsTUFBTUMsU0FBUyxHQUFHLENBQUNDLEtBQUQsRUFBUUMsR0FBUixFQUFhQyxPQUFPLEdBQUcsRUFBdkIsS0FBOEI7QUFDNUMsUUFBTTtBQUFDQyxpQkFBRDtBQUFnQkM7QUFBaEIsTUFBMkJGLE9BQWpDO0FBQ0EsUUFBTUcsY0FBYyxHQUFHQyxDQUFDLENBQUU7dUNBQ1NOLEtBQU0sVUFBU0MsR0FBSSxZQUFXRCxLQUFNO1dBRC9DLENBQUQsQ0FFZCxDQUZjLENBQXZCO0FBR0EsTUFBSUcsYUFBSixFQUFtQkUsY0FBYyxDQUFDRSxn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Q0FBVjtBQUE4Q0cscUJBQWEsRUFBRSxLQUFLbUUsVUFBTCxDQUFnQjlDLElBQWhCLENBQXFCLElBQXJCO0FBQTdELE9BQWIsQ0FBOUI7QUFDQSxXQUFLSyxnQkFBTCxDQUFzQndELE1BQXRCLENBQTZCc0IsWUFBN0I7QUFDSDs7QUFDRG5FLHFEQUFTLENBQUNvRSxTQUFWLENBQW9CLGFBQXBCLEVBQW1DQyxJQUFJLENBQUNuRSxJQUFJLENBQUNvRSxTQUFMLENBQWUsS0FBSzNGLGNBQXBCLENBQUQsQ0FBdkM7QUFDSDs7QUFsSzhDLENBQXBDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvZW1vdGVtZW51LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJ1aWx0aW4gZnJvbSBcIi4uL3N0cnVjdHMvYnVpbHRpblwiO1xyXG5pbXBvcnQge0RhdGFTdG9yZSwgVXRpbGl0aWVzLCBFdmVudHN9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5pbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vZW1vdGVzXCI7XHJcblxyXG5jb25zdCBoZWFkZXJIVE1MID0gYDxkaXYgaWQ9XCJiZGEtcWVtXCI+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aXZlXCIgaWQ9XCJiZGEtcWVtLXR3aXRjaFwiPlR3aXRjaDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBpZD1cImJkYS1xZW0tZmF2b3VyaXRlXCI+RmF2b3VyaXRlPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIGlkPVwiYmRhLXFlbS1lbW9qaXNcIj5FbW9qaXM8L2J1dHRvbmQ+XHJcbjwvZGl2PmA7XHJcblxyXG5jb25zdCB0d2l0Y2hFbW90ZUhUTUwgPSBgPGRpdiBpZD1cImJkYS1xZW0tdHdpdGNoLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyLXdyYXAgc2Nyb2xsZXJXcmFwLTJsSkVrZCBmYWRlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIHNjcm9sbGVyLTJGS0ZQR1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1vdGUtbWVudS1pbm5lclwiPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+YDtcclxuXHJcbmNvbnN0IGZhdm9yaXRlc0hUTUwgPSBgPGRpdiBpZD1cImJkYS1xZW0tZmF2b3VyaXRlLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyLXdyYXAgc2Nyb2xsZXJXcmFwLTJsSkVrZCBmYWRlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyIHNjcm9sbGVyLTJGS0ZQR1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1vdGUtbWVudS1pbm5lclwiPlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+YDtcclxuXHJcbmNvbnN0IG1ha2VFbW90ZSA9IChlbW90ZSwgdXJsLCBvcHRpb25zID0ge30pID0+IHtcclxuICAgIGNvbnN0IHtvbkNvbnRleHRNZW51LCBvbkNsaWNrfSA9IG9wdGlvbnM7XHJcbiAgICBjb25zdCBlbW90ZUNvbnRhaW5lciA9ICQoYDxkaXYgY2xhc3M9XCJlbW90ZS1jb250YWluZXJcIj5cclxuICAgICAgICA8aW1nIGNsYXNzPVwiZW1vdGUtaWNvblwiIGFsdD1cIiR7ZW1vdGV9XCIgc3JjPVwiJHt1cmx9XCIgdGl0bGU9XCIke2Vtb3RlfVwiPlxyXG4gICAgPC9kaXY+YClbMF07XHJcbiAgICBpZiAob25Db250ZXh0TWVudSkgZW1vdGVDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcImNvbnRleHRtZW51XCIsIG9uQ29udGV4dE1lbnUpO1xyXG4gICAgZW1vdGVDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIG9uQ2xpY2spO1xyXG4gICAgcmV0dXJuIGVtb3RlQ29udGFpbmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIEVtb3RlTWVudSBleHRlbmRzIEJ1aWx0aW4ge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiRW1vdGVNZW51XCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwiZW1vdGVzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImdlbmVyYWxcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwiZW1vdGVNZW51XCI7fVxyXG4gICAgZ2V0IGhpZGVFbW9qaXNJRCgpIHtyZXR1cm4gXCJoaWRlRW1vamlNZW51XCI7fVxyXG4gICAgZ2V0IGhpZGVFbW9qaXMoKSB7cmV0dXJuIHRoaXMuZ2V0KHRoaXMuaGlkZUVtb2ppc0lEKTt9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLmxhc3RUYWIgPSBcImJkYS1xZW0tZW1vamlzXCI7XHJcbiAgICAgICAgdGhpcy5mYXZvcml0ZUVtb3RlcyA9IHt9O1xyXG5cclxuICAgICAgICB0aGlzLnFtZUhlYWRlciA9ICQoaGVhZGVySFRNTClbMF07XHJcbiAgICAgICAgZm9yIChjb25zdCBidXR0b24gb2YgdGhpcy5xbWVIZWFkZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIikpIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5zd2l0Y2hNZW51LmJpbmQodGhpcykpO1xyXG5cclxuICAgICAgICB0aGlzLnRlQ29udGFpbmVyID0gJCh0d2l0Y2hFbW90ZUhUTUwpWzBdO1xyXG4gICAgICAgIHRoaXMudGVDb250YWluZXJJbm5lciA9IHRoaXMudGVDb250YWluZXIucXVlcnlTZWxlY3RvcihcIi5lbW90ZS1tZW51LWlubmVyXCIpO1xyXG5cclxuICAgICAgICB0aGlzLmZhQ29udGFpbmVyID0gJChmYXZvcml0ZXNIVE1MKVswXTtcclxuICAgICAgICB0aGlzLmZhQ29udGFpbmVySW5uZXIgPSB0aGlzLmZhQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoXCIuZW1vdGUtbWVudS1pbm5lclwiKTtcclxuXHJcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG11dGF0aW9ucyA9PiB7Zm9yIChjb25zdCBtdXRhdGlvbiBvZiBtdXRhdGlvbnMpIHRoaXMub2JzZXJ2ZShtdXRhdGlvbik7fSk7XHJcbiAgICAgICAgdGhpcy5lbmFibGVIaWRlRW1vamlzID0gdGhpcy5lbmFibGVIaWRlRW1vamlzLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlSGlkZUVtb2ppcyA9IHRoaXMuZGlzYWJsZUhpZGVFbW9qaXMuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVR3aXRjaEVtb3RlcyA9IHRoaXMudXBkYXRlVHdpdGNoRW1vdGVzLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgY29uc3QgZmUgPSBEYXRhU3RvcmUuZ2V0QkREYXRhKFwiYmRmYXZlbW90ZXNcIik7XHJcbiAgICAgICAgaWYgKGZlICE9PSBcIlwiICYmIGZlICE9PSBudWxsKSB0aGlzLmZhdm9yaXRlRW1vdGVzID0gSlNPTi5wYXJzZShhdG9iKGZlKSk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVGYXZvcml0ZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlbmFibGVkKCkge1xyXG4gICAgICAgIHRoaXMubG9nKFwiU3RhcnRpbmcgdG8gb2JzZXJ2ZVwiKTtcclxuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJhcHAtbW91bnRcIiksIHtcclxuICAgICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxyXG4gICAgICAgICAgICBzdWJ0cmVlOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5oaWRlRW1vamlDYW5jZWwgPSB0aGlzLnJlZ2lzdGVyU2V0dGluZyh0aGlzLmhpZGVFbW9qaXNJRCwgdGhpcy5lbmFibGVIaWRlRW1vamlzLCB0aGlzLmRpc2FibGVIaWRlRW1vamlzKTtcclxuICAgICAgICBpZiAodGhpcy5oaWRlRW1vamlzKSB0aGlzLmVuYWJsZUhpZGVFbW9qaXMoKTtcclxuICAgICAgICBpZiAoRW1vdGVNb2R1bGUuZW1vdGVzTG9hZGVkKSB0aGlzLnVwZGF0ZVR3aXRjaEVtb3RlcygpO1xyXG4gICAgICAgIEV2ZW50cy5vbihcImVtb3Rlcy1sb2FkZWRcIiwgdGhpcy51cGRhdGVUd2l0Y2hFbW90ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIEV2ZW50cy5vZmYoXCJlbW90ZXMtbG9hZGVkXCIsIHRoaXMudXBkYXRlVHdpdGNoRW1vdGVzKTtcclxuICAgICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICB0aGlzLmRpc2FibGVIaWRlRW1vamlzKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZUVtb2ppQ2FuY2VsKSB0aGlzLmhpZGVFbW9qaUNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZUhpZGVFbW9qaXMoKSB7XHJcbiAgICAgICAgJChcIi5lbW9qaVBpY2tlci0zbTFTLWpcIikuYWRkQ2xhc3MoXCJiZGEtcW1lLWhpZGRlblwiKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlSGlkZUVtb2ppcygpIHtcclxuICAgICAgICAkKFwiLmVtb2ppUGlja2VyLTNtMVMtalwiKS5yZW1vdmVDbGFzcyhcImJkYS1xbWUtaGlkZGVuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGluc2VydEVtb3RlKGVtb3RlKSB7XHJcbiAgICAgICAgY29uc3QgdGEgPSBVdGlsaXRpZXMuZ2V0VGV4dEFyZWEoKTtcclxuICAgICAgICBVdGlsaXRpZXMuaW5zZXJ0VGV4dCh0YVswXSwgdGEudmFsKCkuc2xpY2UoLTEpID09IFwiIFwiID8gdGEudmFsKCkgKyBlbW90ZSA6IHRhLnZhbCgpICsgXCIgXCIgKyBlbW90ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZmF2Q29udGV4dChlKSB7XHJcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICBjb25zdCBlbSA9IGUudGFyZ2V0LmNsb3Nlc3QoXCIuZW1vdGUtY29udGFpbmVyXCIpLmNoaWxkcmVuWzBdO1xyXG4gICAgICAgIGNvbnN0IG1lbnUgPSAkKGA8ZGl2IGlkPVwicmVtb3ZlbWVudVwiIGNsYXNzPVwiYmQtY29udGV4dC1tZW51IGNvbnRleHQtbWVudSB0aGVtZS1kYXJrXCI+UmVtb3ZlPC9kaXY+YCk7XHJcbiAgICAgICAgbWVudS5jc3Moe1xyXG4gICAgICAgICAgICB0b3A6IGUucGFnZVkgLSAkKFwiI2JkYS1xZW0tZmF2b3VyaXRlLWNvbnRhaW5lclwiKS5vZmZzZXQoKS50b3AsXHJcbiAgICAgICAgICAgIGxlZnQ6IGUucGFnZVggLSAkKFwiI2JkYS1xZW0tZmF2b3VyaXRlLWNvbnRhaW5lclwiKS5vZmZzZXQoKS5sZWZ0XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgJChlbSkucGFyZW50KCkuYXBwZW5kKG1lbnUpO1xyXG4gICAgICAgIG1lbnUub24oXCJjbGlja1wiLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICQoZW0pLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICBkZWxldGUgdGhpcy5mYXZvcml0ZUVtb3Rlc1skKGVtKS5hdHRyKFwidGl0bGVcIildO1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZhdm9yaXRlcygpO1xyXG4gICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24uZW1vdGVtZW51XCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKFwibW91c2Vkb3duLmVtb3RlbWVudVwiLCBmdW5jdGlvbihlKSB7XHJcbiAgICAgICAgICAgIGlmIChlLnRhcmdldC5pZCA9PSBcInJlbW92ZW1lbnVcIikgcmV0dXJuO1xyXG4gICAgICAgICAgICAkKFwiI3JlbW92ZW1lbnVcIikucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9mZihcIm1vdXNlZG93bi5lbW90ZW1lbnVcIik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3dpdGNoTWVudShlKSB7XHJcbiAgICAgICAgbGV0IGlkID0gdHlwZW9mKGUpID09IFwic3RyaW5nXCIgPyBlIDogJChlLnRhcmdldCkuYXR0cihcImlkXCIpO1xyXG4gICAgICAgIGlmIChpZCA9PSBcImJkYS1xZW0tZW1vamlzXCIgJiYgdGhpcy5oaWRlRW1vamlzKSBpZCA9IFwiYmRhLXFlbS1mYXZvdXJpdGVcIjtcclxuICAgICAgICBjb25zdCB0d2l0Y2ggPSAkKFwiI2JkYS1xZW0tdHdpdGNoXCIpO1xyXG4gICAgICAgIGNvbnN0IGZhdiA9ICQoXCIjYmRhLXFlbS1mYXZvdXJpdGVcIik7XHJcbiAgICAgICAgY29uc3QgZW1vamlzID0gJChcIiNiZGEtcWVtLWVtb2ppc1wiKTtcclxuICAgICAgICB0d2l0Y2gucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgICAgICAgZmF2LnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG4gICAgICAgIGVtb2ppcy5yZW1vdmVDbGFzcyhcImFjdGl2ZVwiKTtcclxuXHJcbiAgICAgICAgJChcIi5lbW9qaVBpY2tlci0zbTFTLWpcIikuaGlkZSgpO1xyXG4gICAgICAgICQoXCIjYmRhLXFlbS1mYXZvdXJpdGUtY29udGFpbmVyXCIpLmhpZGUoKTtcclxuICAgICAgICAkKFwiI2JkYS1xZW0tdHdpdGNoLWNvbnRhaW5lclwiKS5oaWRlKCk7XHJcblxyXG4gICAgICAgIHN3aXRjaCAoaWQpIHtcclxuICAgICAgICAgICAgY2FzZSBcImJkYS1xZW0tdHdpdGNoXCI6XHJcbiAgICAgICAgICAgICAgICB0d2l0Y2guYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgICAgICAgICAgICAgICAkKFwiI2JkYS1xZW0tdHdpdGNoLWNvbnRhaW5lclwiKS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImJkYS1xZW0tZmF2b3VyaXRlXCI6XHJcbiAgICAgICAgICAgICAgICBmYXYuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgICAgICAgICAgICAgICAkKFwiI2JkYS1xZW0tZmF2b3VyaXRlLWNvbnRhaW5lclwiKS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImJkYS1xZW0tZW1vamlzXCI6XHJcbiAgICAgICAgICAgICAgICBlbW9qaXMuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcbiAgICAgICAgICAgICAgICAkKFwiLmVtb2ppUGlja2VyLTNtMVMtalwiKS5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICAkKFwiLmVtb2ppUGlja2VyLTNtMVMtaiBpbnB1dFwiKS5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpZCkgdGhpcy5sYXN0VGFiID0gaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb2JzZXJ2ZShtdXRhdGlvbikge1xyXG4gICAgICAgIGlmICghbXV0YXRpb24uYWRkZWROb2Rlcy5sZW5ndGggfHwgIShtdXRhdGlvbi5hZGRlZE5vZGVzWzBdIGluc3RhbmNlb2YgRWxlbWVudCkpIHJldHVybjtcclxuICAgICAgICBjb25zdCBub2RlID0gbXV0YXRpb24uYWRkZWROb2Rlc1swXTtcclxuICAgICAgICBpZiAoIW5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKFwicG9wb3V0LTNzVk1YelwiKSB8fCBub2RlLmNsYXNzTGlzdC5jb250YWlucyhcInBvcG91dExlZnQtMzBXbXJEXCIpIHx8ICFub2RlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJlbW9qaVBpY2tlci0zbTFTLWpcIikubGVuZ3RoKSByZXR1cm47XHJcblxyXG4gICAgICAgIGNvbnN0IGUgPSAkKG5vZGUpO1xyXG4gICAgICAgIGlmICh0aGlzLmhpZGVFbW9qaXMpIGUuYWRkQ2xhc3MoXCJiZGEtcW1lLWhpZGRlblwiKTtcclxuICAgICAgICBlbHNlIGUucmVtb3ZlQ2xhc3MoXCJiZGEtcW1lLWhpZGRlblwiKTtcclxuXHJcbiAgICAgICAgZS5wcmVwZW5kKHRoaXMucW1lSGVhZGVyKTtcclxuICAgICAgICBlLmFwcGVuZCh0aGlzLnRlQ29udGFpbmVyKTtcclxuICAgICAgICBlLmFwcGVuZCh0aGlzLmZhQ29udGFpbmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5zd2l0Y2hNZW51KHRoaXMubGFzdFRhYik7XHJcbiAgICB9XHJcblxyXG4gICAgZmF2b3JpdGUobmFtZSwgdXJsKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZhdm9yaXRlRW1vdGVzLmhhc093blByb3BlcnR5KG5hbWUpKSB0aGlzLmZhdm9yaXRlRW1vdGVzW25hbWVdID0gdXJsO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRmF2b3JpdGVzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVHdpdGNoRW1vdGVzKCkge1xyXG4gICAgICAgIHdoaWxlICh0aGlzLnRlQ29udGFpbmVySW5uZXIuZmlyc3RDaGlsZCkgdGhpcy50ZUNvbnRhaW5lcklubmVyLmZpcnN0Q2hpbGQucmVtb3ZlKCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBlbW90ZSBpbiBFbW90ZU1vZHVsZS5nZXRDYXRlZ29yeShcIlR3aXRjaEdsb2JhbFwiKSkge1xyXG4gICAgICAgICAgICBpZiAoIUVtb3RlTW9kdWxlLmdldENhdGVnb3J5KFwiVHdpdGNoR2xvYmFsXCIpLmhhc093blByb3BlcnR5KGVtb3RlKSkgY29udGludWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IEVtb3RlTW9kdWxlLmdldENhdGVnb3J5KFwiVHdpdGNoR2xvYmFsXCIpW2Vtb3RlXTtcclxuICAgICAgICAgICAgY29uc3QgZW1vdGVFbGVtZW50ID0gbWFrZUVtb3RlKGVtb3RlLCB1cmwsIHtvbkNsaWNrOiB0aGlzLmluc2VydEVtb3RlLmJpbmQodGhpcywgZW1vdGUpfSk7XHJcbiAgICAgICAgICAgIHRoaXMudGVDb250YWluZXJJbm5lci5hcHBlbmQoZW1vdGVFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmF2b3JpdGVzKCkge1xyXG4gICAgICAgIHdoaWxlICh0aGlzLmZhQ29udGFpbmVySW5uZXIuZmlyc3RDaGlsZCkgdGhpcy5mYUNvbnRhaW5lcklubmVyLmZpcnN0Q2hpbGQucmVtb3ZlKCk7XHJcbiAgICAgICAgZm9yIChjb25zdCBlbW90ZSBpbiB0aGlzLmZhdm9yaXRlRW1vdGVzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuZmF2b3JpdGVFbW90ZXNbZW1vdGVdO1xyXG4gICAgICAgICAgICBjb25zdCBlbW90ZUVsZW1lbnQgPSBtYWtlRW1vdGUoZW1vdGUsIHVybCwge29uQ2xpY2s6IHRoaXMuaW5zZXJ0RW1vdGUuYmluZCh0aGlzLCBlbW90ZSksIG9uQ29udGV4dE1lbnU6IHRoaXMuZmF2Q29udGV4dC5iaW5kKHRoaXMpfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZmFDb250YWluZXJJbm5lci5hcHBlbmQoZW1vdGVFbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgRGF0YVN0b3JlLnNldEJERGF0YShcImJkZmF2ZW1vdGVzXCIsIGJ0b2EoSlNPTi5zdHJpbmdpZnkodGhpcy5mYXZvcml0ZUVtb3RlcykpKTtcclxuICAgIH1cclxuXHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/builtins/emotemenu.js\n");
/***/ }),
/***/ "./src/builtins/emotes.js":
/*!********************************!*\
!*** ./src/builtins/emotes.js ***!
\********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _ui_emote__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/emote */ \"./src/ui/emote.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n\n\nconst Emotes = {\n TwitchGlobal: {},\n TwitchSubscriber: {},\n BTTV: {},\n FrankerFaceZ: {},\n BTTV2: {}\n};\nconst bdEmoteSettingIDs = {\n TwitchGlobal: \"twitch\",\n TwitchSubscriber: \"twitch\",\n BTTV: \"bttv\",\n FrankerFaceZ: \"ffz\",\n BTTV2: \"bttv\"\n};\nconst blacklist = [];\nconst overrides = [\"twitch\", \"bttv\", \"ffz\"];\nconst modifiers = [\"flip\", \"spin\", \"pulse\", \"spin2\", \"spin3\", \"1spin\", \"2spin\", \"3spin\", \"tr\", \"bl\", \"br\", \"shake\", \"shake2\", \"shake3\", \"flap\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class EmoteModule extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"Emotes\";\n }\n\n get collection() {\n return \"settings\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"emotes\";\n }\n\n get categories() {\n return Object.keys(bdEmoteSettingIDs).filter(k => this.isCategoryEnabled(bdEmoteSettingIDs[k]));\n }\n\n isCategoryEnabled(id) {\n return super.get(\"emotes\", \"categories\", id);\n }\n\n get(id) {\n return super.get(\"emotes\", \"general\", id);\n }\n\n get MessageContentComponent() {\n return modules__WEBPACK_IMPORTED_MODULE_2__[\"WebpackModules\"].getModule(m => m.defaultProps && m.defaultProps.hasOwnProperty(\"disableButtons\"));\n }\n\n get Emotes() {\n return Emotes;\n }\n\n get TwitchGlobal() {\n return Emotes.TwitchGlobal;\n }\n\n get TwitchSubscriber() {\n return Emotes.TwitchSubscriber;\n }\n\n get BTTV() {\n return Emotes.BTTV;\n }\n\n get FrankerFaceZ() {\n return Emotes.FrankerFaceZ;\n }\n\n get BTTV2() {\n return Emotes.BTTV2;\n }\n\n get blacklist() {\n return blacklist;\n }\n\n getCategory(category) {\n return Emotes[category];\n }\n\n initialize() {\n super.initialize(); // EmoteConfig;\n // emoteCollection.button = {title: \"Clear Emote Cache\", onClick: () => { this.clearEmoteData(); this.loadEmoteData(EmoteInfo); }};\n }\n\n async enabled() {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].registerCollection(\"emotes\", \"Emotes\", data__WEBPACK_IMPORTED_MODULE_1__[\"EmoteConfig\"], {\n title: \"Clear Emote Cache\",\n onClick: () => {\n this.clearEmoteData();\n this.loadEmoteData(data__WEBPACK_IMPORTED_MODULE_1__[\"EmoteInfo\"]);\n }\n }); // Disable emote module for now because it's annoying and slow\n // await this.getBlacklist();\n // await this.loadEmoteData(EmoteInfo);\n // while (!this.MessageContentComponent) await new Promise(resolve => setTimeout(resolve, 100));\n // this.patchMessageContent();\n }\n\n disabled() {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].removeCollection(\"emotes\");\n this.emptyEmotes();\n if (!this.cancelEmoteRender) return;\n this.cancelEmoteRender();\n delete this.cancelEmoteRender;\n }\n\n emptyEmotes() {\n for (const cat in Emotes) Object.assign(Emotes, {\n [cat]: {}\n });\n }\n\n patchMessageContent() {\n if (this.cancelEmoteRender) return;\n this.cancelEmoteRender = modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].monkeyPatch(this.MessageContentComponent.prototype, \"render\", {\n after: ({\n returnValue\n }) => {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].monkeyPatch(returnValue.props, \"children\", {\n silent: true,\n after: ({\n returnValue\n }) => {\n if (this.categories.length == 0) return;\n const markup = returnValue.props.children[1];\n if (!markup.props.children) return;\n const nodes = markup.props.children[1];\n if (!nodes || !nodes.length) return;\n\n for (let n = 0; n < nodes.length; n++) {\n const node = nodes[n];\n if (typeof node !== \"string\") continue;\n const words = node.split(/([^\\s]+)([\\s]|$)/g);\n\n for (let c = 0, clen = this.categories.length; c < clen; c++) {\n for (let w = 0, wlen = words.length; w < wlen; w++) {\n const emote = words[w];\n const emoteSplit = emote.split(\":\");\n const emoteName = emoteSplit[0];\n let emoteModifier = emoteSplit[1] ? emoteSplit[1] : \"\";\n let emoteOverride = emoteModifier.slice(0);\n if (emoteName.length < 4 || blacklist.includes(emoteName)) continue;\n if (!modifiers.includes(emoteModifier) || !modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].get(this.category, \"general\", \"modifiers\")) emoteModifier = \"\";\n if (!overrides.includes(emoteOverride)) emoteOverride = \"\";else emoteModifier = emoteOverride;\n let current = this.categories[c];\n\n if (emoteOverride === \"twitch\") {\n if (Emotes.TwitchGlobal[emoteName]) current = \"TwitchGlobal\";else if (Emotes.TwitchSubscriber[emoteName]) current = \"TwitchSubscriber\";\n } else if (emoteOverride === \"bttv\") {\n if (Emotes.BTTV[emoteName]) current = \"BTTV\";else if (Emotes.BTTV2[emoteName]) current = \"BTTV2\";\n } else if (emoteOverride === \"ffz\") {\n if (Emotes.FrankerFaceZ[emoteName]) current = \"FrankerFaceZ\";\n }\n\n if (!Emotes[current][emoteName] || !modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].get(this.category, \"categories\", bdEmoteSettingIDs[current])) continue;\n const results = nodes[n].match(new RegExp(`([\\\\s]|^)${modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].escape(emoteModifier ? emoteName + \":\" + emoteModifier : emoteName)}([\\\\s]|$)`));\n if (!results) continue;\n const pre = nodes[n].substring(0, results.index + results[1].length);\n const post = nodes[n].substring(results.index + results[0].length - results[2].length);\n nodes[n] = pre;\n const emoteComponent = modules__WEBPACK_IMPORTED_MODULE_2__[\"DiscordModules\"].React.createElement(_ui_emote__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n name: emoteName,\n url: Emotes[current][emoteName],\n modifier: emoteModifier\n });\n nodes.splice(n + 1, 0, post);\n nodes.splice(n + 1, 0, emoteComponent);\n }\n }\n }\n\n const onlyEmotes = nodes.every(r => {\n if (typeof r == \"string\" && r.replace(/\\s*/, \"\") == \"\") return true;else if (r.type && r.type.name == \"BDEmote\") return true;else if (r.props && r.props.children && r.props.children.props && r.props.children.props.emojiName) return true;\n return false;\n });\n if (!onlyEmotes) return;\n\n for (const node of nodes) {\n if (typeof node != \"object\") continue;\n if (node.type.name == \"BDEmote\") node.props.jumboable = true;else if (node.props && node.props.children && node.props.children.props && node.props.children.props.emojiName) node.props.children.props.jumboable = true;\n }\n }\n });\n }\n });\n }\n\n async loadEmoteData(emoteInfo) {\n this.emotesLoaded = false;\n\n const _fs = __webpack_require__(/*! fs */ \"fs\");\n\n const emoteFile = \"emote_data.json\";\n const file = data__WEBPACK_IMPORTED_MODULE_1__[\"Config\"].dataPath + emoteFile;\n\n const exists = _fs.existsSync(file);\n\n if (exists && this.isCacheValid()) {\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"Loading emotes from cache.\", {\n type: \"info\"\n });\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Loading emotes from local cache.\");\n const data = await new Promise(resolve => {\n _fs.readFile(file, \"utf8\", (err, data) => {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Emotes loaded from cache.\");\n if (err) data = {};\n resolve(data);\n });\n });\n let isValid = modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].testJSON(data);\n if (isValid) Object.assign(Emotes, JSON.parse(data));\n\n for (const e in emoteInfo) {\n isValid = Object.keys(Emotes[emoteInfo[e].variable]).length > 0;\n }\n\n if (isValid) {\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"Emotes successfully loaded.\", {\n type: \"success\"\n });\n this.emotesLoaded = true;\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].dispatch(\"emotes-loaded\");\n return;\n }\n\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Cache was corrupt, downloading...\");\n\n _fs.unlinkSync(file);\n }\n\n if (!modules__WEBPACK_IMPORTED_MODULE_2__[\"Settings\"].get(this.category, \"general\", \"download\")) return;\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"Downloading emotes in the background do not reload.\", {\n type: \"info\"\n });\n\n for (const e in emoteInfo) {\n await new Promise(r => setTimeout(r, 1000));\n const data = await this.downloadEmotes(emoteInfo[e]);\n Emotes[emoteInfo[e].variable] = data;\n }\n\n ui__WEBPACK_IMPORTED_MODULE_4__[\"Toasts\"].show(\"All emotes successfully downloaded.\", {\n type: \"success\"\n });\n\n try {\n _fs.writeFileSync(file, JSON.stringify(Emotes), \"utf8\");\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].err(\"Emotes\", \"Could not save emote data.\", err);\n }\n\n this.emotesLoaded = true;\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Events\"].dispatch(\"emotes-loaded\");\n }\n\n downloadEmotes(emoteMeta) {\n const request = __webpack_require__(/*! request */ \"request\");\n\n const options = {\n url: emoteMeta.url,\n timeout: emoteMeta.timeout ? emoteMeta.timeout : 5000\n };\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", `Downloading: ${emoteMeta.variable} (${emoteMeta.url})`);\n return new Promise((resolve, reject) => {\n request(options, (error, response, body) => {\n if (error) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].err(\"Emotes\", \"Could not download \" + emoteMeta.variable, error);\n\n if (emoteMeta.backup) {\n emoteMeta.url = emoteMeta.backup;\n emoteMeta.backup = null;\n if (emoteMeta.backupParser) emoteMeta.parser = emoteMeta.backupParser;\n return resolve(this.downloadEmotes(emoteMeta));\n }\n\n return reject({});\n }\n\n let parsedData = {};\n\n try {\n parsedData = JSON.parse(body);\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].err(\"Emotes\", \"Could not download \" + emoteMeta.variable, err);\n\n if (emoteMeta.backup) {\n emoteMeta.url = emoteMeta.backup;\n emoteMeta.backup = null;\n if (emoteMeta.backupParser) emoteMeta.parser = emoteMeta.backupParser;\n return resolve(this.downloadEmotes(emoteMeta));\n }\n\n return reject({});\n }\n\n if (typeof emoteMeta.parser === \"function\") parsedData = emoteMeta.parser(parsedData);\n\n for (const emote in parsedData) {\n if (emote.length < 4 || blacklist.includes(emote)) {\n delete parsedData[emote];\n continue;\n }\n\n parsedData[emote] = emoteMeta.getEmoteURL(parsedData[emote]);\n }\n\n resolve(parsedData);\n modules__WEBPACK_IMPORTED_MODULE_2__[\"Utilities\"].log(\"Emotes\", \"Downloaded: \" + emoteMeta.variable);\n });\n });\n }\n\n getBlacklist() {\n return new Promise(resolve => {\n $.getJSON(`https://rauenzi.github.io/BetterDiscordApp/data/emotefilter.json`, function (data) {\n resolve(blacklist.push(...data.blacklist));\n });\n });\n }\n\n isCacheValid() {\n const cacheLength = modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].getBDData(\"emoteCacheDays\") || modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"emoteCacheDays\", 7) || 7;\n const cacheDate = new Date(modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].getBDData(\"emoteCacheDate\") || null);\n const currentDate = new Date();\n const daysBetween = Math.round(Math.abs((currentDate.getTime() - cacheDate.getTime()) / (24 * 60 * 60 * 1000)));\n\n if (daysBetween > cacheLength) {\n modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"emoteCacheDate\", currentDate.toJSON());\n return false;\n }\n\n return true;\n }\n\n clearEmoteData() {\n const _fs = __webpack_require__(/*! fs */ \"fs\");\n\n const emoteFile = \"emote_data.json\";\n const file = data__WEBPACK_IMPORTED_MODULE_1__[\"Config\"].dataPath + emoteFile;\n\n const exists = _fs.existsSync(file);\n\n if (exists) _fs.unlinkSync(file);\n modules__WEBPACK_IMPORTED_MODULE_2__[\"DataStore\"].setBDData(\"emoteCacheDate\", new Date().toJSON());\n\n for (const category in Emotes) Object.assign(Emotes, {\n [category]: {}\n });\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL2Vtb3Rlcy5qcz82YTA0Il0sIm5hbWVzIjpbIkVtb3RlcyIsIlR3aXRjaEdsb2JhbCIsIlR3aXRjaFN1YnNjcmliZXIiLCJCVFRWIiwiRnJhbmtlckZhY2VaIiwiQlRUVjIiLCJiZEVtb3RlU2V0dGluZ0lEcyIsImJsYWNrbGlzdCIsIm92ZXJyaWRlcyIsIm1vZGlmaWVycyIsIkVtb3RlTW9kdWxlIiwiQnVpbHRpbiIsIm5hbWUiLCJjb2xsZWN0aW9uIiwiY2F0ZWdvcnkiLCJpZCIsImNhdGVnb3JpZXMiLCJPYmplY3QiLCJrZXlzIiwiZmlsdGVyIiwiayIsImlzQ2F0ZWdvcnlFbmFibGVkIiwiZ2V0IiwiTWVzc2FnZUNvbnRlbnRDb21wb25lbnQiLCJXZWJwYWNrTW9kdWxlcyIsImdldE1vZHVsZSIsIm0iLCJkZWZhdWx0UHJvcHMiLCJoYXNPd25Qcm9wZXJ0eSIsImdldENhdGVnb3J5IiwiaW5pdGlhbGl6ZSIsImVuYWJsZWQiLCJTZXR0aW5ncyIsInJlZ2lzdGVyQ29sbGVjdGlvbiIsIkVtb3RlQ29uZmlnIiwidGl0bGUiLCJvbkNsaWNrIiwiY2xlYXJFbW90ZURhdGEiLCJsb2FkRW1vdGVEYXRhIiwiRW1vdGVJbmZvIiwiZGlzYWJsZWQiLCJyZW1vdmVDb2xsZWN0aW9uIiwiZW1wdHlFbW90ZXMiLCJjYW5jZWxFbW90ZVJlbmRlciIsImNhdCIsImFzc2lnbiIsInBhdGNoTWVzc2FnZUNvbnRlbnQiLCJVdGlsaXRpZXMiLCJtb25rZXlQYXRjaCIsInByb3RvdHlwZSIsImFmdGVyIiwicmV0dXJuVmFsdWUiLCJwcm9wcyIsInNpbGVudCIsImxlbmd0aCIsIm1hcmt1cCIsImNoaWxkcmVuIiwibm9kZXMiLCJuIiwibm9kZSIsIndvcmRzIiwic3BsaXQiLCJjIiwiY2xlbiIsInciLCJ3bGVuIiwiZW1vdGUiLCJlbW90ZVNwbGl0IiwiZW1vdGVOYW1lIiwiZW1vdGVNb2RpZmllciIsImVtb3RlT3ZlcnJpZGUiLCJzbGljZSIsImluY2x1ZGVzIiwiY3VycmVudCIsInJlc3VsdHMiLCJtYXRjaCIsIlJlZ0V4cCIsImVzY2FwZSIsInByZSIsInN1YnN0cmluZyIsImluZGV4IiwicG9zdCIsImVtb3RlQ29tcG9uZW50IiwiRGlzY29yZE1vZHVsZXMiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJCREVtb3RlIiwidXJsIiwibW9kaWZpZXIiLCJzcGxpY2UiLCJvbmx5RW1vdGVzIiwiZXZlcnkiLCJyIiwicmVwbGFjZSIsInR5cGUiLCJlbW9qaU5hbWUiLCJqdW1ib2FibGUiLCJlbW90ZUluZm8iLCJlbW90ZXNMb2FkZWQiLCJfZnMiLCJyZXF1aXJlIiwiZW1vdGVGaWxlIiwiZmlsZSIsIkNvbmZpZyIsImRhdGFQYXRoIiwiZXhpc3RzIiwiZXhpc3RzU3luYyIsImlzQ2FjaGVWYWxpZCIsIlRvYXN0cyIsInNob3ciLCJsb2ciLCJkYXRhIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWFkRmlsZSIsImVyciIsImlzVmFsaWQiLCJ0ZXN0SlNPTiIsIkpTT04iLCJwYXJzZSIsImUiLCJ2YXJpYWJsZSIsIkV2ZW50cyIsImRpc3BhdGNoIiwidW5saW5rU3luYyIsInNldFRpbWVvdXQiLCJkb3dubG9hZEVtb3RlcyIsIndyaXRlRmlsZVN5bmMiLCJzdHJpbmdpZnkiLCJlbW90ZU1ldGEiLCJyZXF1ZXN0Iiwib3B0aW9ucyIsInRpbWVvdXQiLCJyZWplY3QiLCJlcnJvciIsInJlc3BvbnNlIiwiYm9keSIsImJhY2t1cCIsImJhY2t1cFBhcnNlciIsInBhcnNlciIsInBhcnNlZERhdGEiLCJnZXRFbW90ZVVSTCIsImdldEJsYWNrbGlzdCIsIiQiLCJnZXRKU09OIiwicHVzaCIsImNhY2hlTGVuZ3RoIiwiRGF0YVN0b3JlIiwiZ2V0QkREYXRhIiwic2V0QkREYXRhIiwiY2FjaGVEYXRlIiwiRGF0ZSIsImN1cnJlbnREYXRlIiwiZGF5c0JldHdlZW4iLCJNYXRoIiwicm91bmQiLCJhYnMiLCJnZXRUaW1lIiwidG9KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsTUFBTUEsTUFBTSxHQUFHO0FBQ1hDLGNBQVksRUFBRSxFQURIO0FBRVhDLGtCQUFnQixFQUFFLEVBRlA7QUFHWEMsTUFBSSxFQUFFLEVBSEs7QUFJWEMsY0FBWSxFQUFFLEVBSkg7QUFLWEMsT0FBSyxFQUFFO0FBTEksQ0FBZjtBQVFBLE1BQU1DLGlCQUFpQixHQUFHO0FBQ3RCTCxjQUFZLEVBQUUsUUFEUTtBQUV0QkMsa0JBQWdCLEVBQUUsUUFGSTtBQUd0QkMsTUFBSSxFQUFFLE1BSGdCO0FBSXRCQyxjQUFZLEVBQUUsS0FKUTtBQUt0QkMsT0FBSyxFQUFFO0FBTGUsQ0FBMUI7QUFRQSxNQUFNRSxTQUFTLEdBQUcsRUFBbEI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsQ0FBQyxRQUFELEVBQVcsTUFBWCxFQUFtQixLQUFuQixDQUFsQjtBQUNBLE1BQU1DLFNBQVMsR0FBRyxDQUFDLE1BQUQsRUFBUyxNQUFULEVBQWlCLE9BQWpCLEVBQTBCLE9BQTFCLEVBQW1DLE9BQW5DLEVBQTRDLE9BQTVDLEVBQXFELE9BQXJELEVBQThELE9BQTlELEVBQXVFLElBQXZFLEVBQTZFLElBQTdFLEVBQW1GLElBQW5GLEVBQXlGLE9BQXpGLEVBQWtHLFFBQWxHLEVBQTRHLFFBQTVHLEVBQXNILE1BQXRILENBQWxCO0FBRWUsbUVBQUksTUFBTUMsV0FBTixTQUEwQkMsd0RBQTFCLENBQWtDO0FBQ2pELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFDN0IsTUFBSUMsVUFBSixHQUFpQjtBQUFDLFdBQU8sVUFBUDtBQUFtQjs7QUFDckMsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxTQUFQO0FBQWtCOztBQUNsQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFFBQVA7QUFBaUI7O0FBQzNCLE1BQUlDLFVBQUosR0FBaUI7QUFBRSxXQUFPQyxNQUFNLENBQUNDLElBQVAsQ0FBWVosaUJBQVosRUFBK0JhLE1BQS9CLENBQXNDQyxDQUFDLElBQUksS0FBS0MsaUJBQUwsQ0FBdUJmLGlCQUFpQixDQUFDYyxDQUFELENBQXhDLENBQTNDLENBQVA7QUFBa0c7O0FBRXJIQyxtQkFBaUIsQ0FBQ04sRUFBRCxFQUFLO0FBQ2xCLFdBQU8sTUFBTU8sR0FBTixDQUFVLFFBQVYsRUFBb0IsWUFBcEIsRUFBa0NQLEVBQWxDLENBQVA7QUFDSDs7QUFFRE8sS0FBRyxDQUFDUCxFQUFELEVBQUs7QUFDSixXQUFPLE1BQU1PLEdBQU4sQ0FBVSxRQUFWLEVBQW9CLFNBQXBCLEVBQStCUCxFQUEvQixDQUFQO0FBQ0g7O0FBRUQsTUFBSVEsdUJBQUosR0FBOEI7QUFBQyxXQUFPQyxzREFBYyxDQUFDQyxTQUFmLENBQXlCQyxDQUFDLElBQUlBLENBQUMsQ0FBQ0MsWUFBRixJQUFrQkQsQ0FBQyxDQUFDQyxZQUFGLENBQWVDLGNBQWYsQ0FBOEIsZ0JBQTlCLENBQWhELENBQVA7QUFBeUc7O0FBRXhJLE1BQUk1QixNQUFKLEdBQWE7QUFBQyxXQUFPQSxNQUFQO0FBQWU7O0FBQzdCLE1BQUlDLFlBQUosR0FBbUI7QUFBQyxXQUFPRCxNQUFNLENBQUNDLFlBQWQ7QUFBNEI7O0FBQ2hELE1BQUlDLGdCQUFKLEdBQXVCO0FBQUMsV0FBT0YsTUFBTSxDQUFDRSxnQkFBZDtBQUFnQzs7QUFDeEQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBT0gsTUFBTSxDQUFDRyxJQUFkO0FBQW9COztBQUNoQyxNQUFJQyxZQUFKLEdBQW1CO0FBQUMsV0FBT0osTUFBTSxDQUFDSSxZQUFkO0FBQTRCOztBQUNoRCxNQUFJQyxLQUFKLEdBQVk7QUFBQyxXQUFPTCxNQUFNLENBQUNLLEtBQWQ7QUFBcUI7O0FBQ2xDLE1BQUlFLFNBQUosR0FBZ0I7QUFBQyxXQUFPQSxTQUFQO0FBQWtCOztBQUVuQ3NCLGFBQVcsQ0FBQ2YsUUFBRCxFQUFXO0FBQ2xCLFdBQU9kLE1BQU0sQ0FBQ2MsUUFBRCxDQUFiO0FBQ0g7O0FBRURnQixZQUFVLEdBQUc7QUFDVCxVQUFNQSxVQUFOLEdBRFMsQ0FFVDtBQUNBO0FBQ0g7O0FBRUQsUUFBTUMsT0FBTixHQUFnQjtBQUNaQyxvREFBUSxDQUFDQyxrQkFBVCxDQUE0QixRQUE1QixFQUFzQyxRQUF0QyxFQUFnREMsZ0RBQWhELEVBQTZEO0FBQUNDLFdBQUssRUFBRSxtQkFBUjtBQUE2QkMsYUFBTyxFQUFFLE1BQU07QUFBRSxhQUFLQyxjQUFMO0FBQXVCLGFBQUtDLGFBQUwsQ0FBbUJDLDhDQUFuQjtBQUFnQztBQUFyRyxLQUE3RCxFQURZLENBRVo7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNIOztBQUVEQyxVQUFRLEdBQUc7QUFDUFIsb0RBQVEsQ0FBQ1MsZ0JBQVQsQ0FBMEIsUUFBMUI7QUFDQSxTQUFLQyxXQUFMO0FBQ0EsUUFBSSxDQUFDLEtBQUtDLGlCQUFWLEVBQTZCO0FBQzdCLFNBQUtBLGlCQUFMO0FBQ0EsV0FBTyxLQUFLQSxpQkFBWjtBQUNIOztBQUVERCxhQUFXLEdBQUc7QUFDVixTQUFLLE1BQU1FLEdBQVgsSUFBa0I1QyxNQUFsQixFQUEwQmlCLE1BQU0sQ0FBQzRCLE1BQVAsQ0FBYzdDLE1BQWQsRUFBc0I7QUFBQyxPQUFDNEMsR0FBRCxHQUFPO0FBQVIsS0FBdEI7QUFDN0I7O0FBRURFLHFCQUFtQixHQUFHO0FBQ2xCLFFBQUksS0FBS0gsaUJBQVQsRUFBNEI7QUFDNUIsU0FBS0EsaUJBQUwsR0FBeUJJLGlEQUFTLENBQUNDLFdBQVYsQ0FBc0IsS0FBS3pCLHVCQUFMLENBQTZCMEIsU0FBbkQsRUFBOEQsUUFBOUQsRUFBd0U7QUFBQ0MsV0FBSyxFQUFFLENBQUM7QUFBQ0M7QUFBRCxPQUFELEtBQW1CO0FBQ3hISix5REFBUyxDQUFDQyxXQUFWLENBQXNCRyxXQUFXLENBQUNDLEtBQWxDLEVBQXlDLFVBQXpDLEVBQXFEO0FBQUNDLGdCQUFNLEVBQUUsSUFBVDtBQUFlSCxlQUFLLEVBQUUsQ0FBQztBQUFDQztBQUFELFdBQUQsS0FBbUI7QUFDMUYsZ0JBQUksS0FBS25DLFVBQUwsQ0FBZ0JzQyxNQUFoQixJQUEwQixDQUE5QixFQUFpQztBQUNqQyxrQkFBTUMsTUFBTSxHQUFHSixXQUFXLENBQUNDLEtBQVosQ0FBa0JJLFFBQWxCLENBQTJCLENBQTNCLENBQWY7QUFDQSxnQkFBSSxDQUFDRCxNQUFNLENBQUNILEtBQVAsQ0FBYUksUUFBbEIsRUFBNEI7QUFDNUIsa0JBQU1DLEtBQUssR0FBR0YsTUFBTSxDQUFDSCxLQUFQLENBQWFJLFFBQWIsQ0FBc0IsQ0FBdEIsQ0FBZDtBQUNBLGdCQUFJLENBQUNDLEtBQUQsSUFBVSxDQUFDQSxLQUFLLENBQUNILE1BQXJCLEVBQTZCOztBQUM3QixpQkFBSyxJQUFJSSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRCxLQUFLLENBQUNILE1BQTFCLEVBQWtDSSxDQUFDLEVBQW5DLEVBQXVDO0FBQ25DLG9CQUFNQyxJQUFJLEdBQUdGLEtBQUssQ0FBQ0MsQ0FBRCxDQUFsQjtBQUNBLGtCQUFJLE9BQU9DLElBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDL0Isb0JBQU1DLEtBQUssR0FBR0QsSUFBSSxDQUFDRSxLQUFMLENBQVcsbUJBQVgsQ0FBZDs7QUFDQSxtQkFBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBUixFQUFXQyxJQUFJLEdBQUcsS0FBSy9DLFVBQUwsQ0FBZ0JzQyxNQUF2QyxFQUErQ1EsQ0FBQyxHQUFHQyxJQUFuRCxFQUF5REQsQ0FBQyxFQUExRCxFQUE4RDtBQUMxRCxxQkFBSyxJQUFJRSxDQUFDLEdBQUcsQ0FBUixFQUFXQyxJQUFJLEdBQUdMLEtBQUssQ0FBQ04sTUFBN0IsRUFBcUNVLENBQUMsR0FBR0MsSUFBekMsRUFBK0NELENBQUMsRUFBaEQsRUFBb0Q7QUFDaEQsd0JBQU1FLEtBQUssR0FBR04sS0FBSyxDQUFDSSxDQUFELENBQW5CO0FBQ0Esd0JBQU1HLFVBQVUsR0FBR0QsS0FBSyxDQUFDTCxLQUFOLENBQVksR0FBWixDQUFuQjtBQUNBLHdCQUFNTyxTQUFTLEdBQUdELFVBQVUsQ0FBQyxDQUFELENBQTVCO0FBQ0Esc0JBQUlFLGFBQWEsR0FBR0YsVUFBVSxDQUFDLENBQUQsQ0FBVixHQUFnQkEsVUFBVSxDQUFDLENBQUQsQ0FBMUIsR0FBZ0MsRUFBcEQ7QUFDQSxzQkFBSUcsYUFBYSxHQUFHRCxhQUFhLENBQUNFLEtBQWQsQ0FBb0IsQ0FBcEIsQ0FBcEI7QUFFQSxzQkFBSUgsU0FBUyxDQUFDZCxNQUFWLEdBQW1CLENBQW5CLElBQXdCL0MsU0FBUyxDQUFDaUUsUUFBVixDQUFtQkosU0FBbkIsQ0FBNUIsRUFBMkQ7QUFDM0Qsc0JBQUksQ0FBQzNELFNBQVMsQ0FBQytELFFBQVYsQ0FBbUJILGFBQW5CLENBQUQsSUFBc0MsQ0FBQ3JDLGdEQUFRLENBQUNWLEdBQVQsQ0FBYSxLQUFLUixRQUFsQixFQUE0QixTQUE1QixFQUF1QyxXQUF2QyxDQUEzQyxFQUFnR3VELGFBQWEsR0FBRyxFQUFoQjtBQUNoRyxzQkFBSSxDQUFDN0QsU0FBUyxDQUFDZ0UsUUFBVixDQUFtQkYsYUFBbkIsQ0FBTCxFQUF3Q0EsYUFBYSxHQUFHLEVBQWhCLENBQXhDLEtBQ0tELGFBQWEsR0FBR0MsYUFBaEI7QUFFTCxzQkFBSUcsT0FBTyxHQUFHLEtBQUt6RCxVQUFMLENBQWdCOEMsQ0FBaEIsQ0FBZDs7QUFDQSxzQkFBSVEsYUFBYSxLQUFLLFFBQXRCLEVBQWdDO0FBQzVCLHdCQUFJdEUsTUFBTSxDQUFDQyxZQUFQLENBQW9CbUUsU0FBcEIsQ0FBSixFQUFvQ0ssT0FBTyxHQUFHLGNBQVYsQ0FBcEMsS0FDSyxJQUFJekUsTUFBTSxDQUFDRSxnQkFBUCxDQUF3QmtFLFNBQXhCLENBQUosRUFBd0NLLE9BQU8sR0FBRyxrQkFBVjtBQUNoRCxtQkFIRCxNQUlLLElBQUlILGFBQWEsS0FBSyxNQUF0QixFQUE4QjtBQUMvQix3QkFBSXRFLE1BQU0sQ0FBQ0csSUFBUCxDQUFZaUUsU0FBWixDQUFKLEVBQTRCSyxPQUFPLEdBQUcsTUFBVixDQUE1QixLQUNLLElBQUl6RSxNQUFNLENBQUNLLEtBQVAsQ0FBYStELFNBQWIsQ0FBSixFQUE2QkssT0FBTyxHQUFHLE9BQVY7QUFDckMsbUJBSEksTUFJQSxJQUFJSCxhQUFhLEtBQUssS0FBdEIsRUFBNkI7QUFDOUIsd0JBQUl0RSxNQUFNLENBQUNJLFlBQVAsQ0FBb0JnRSxTQUFwQixDQUFKLEVBQW9DSyxPQUFPLEdBQUcsY0FBVjtBQUN2Qzs7QUFFRCxzQkFBSSxDQUFDekUsTUFBTSxDQUFDeUUsT0FBRCxDQUFOLENBQWdCTCxTQUFoQixDQUFELElBQStCLENBQUNwQyxnREFBUSxDQUFDVixHQUFULENBQWEsS0FBS1IsUUFBbEIsRUFBNEIsWUFBNUIsRUFBMENSLGlCQUFpQixDQUFDbUUsT0FBRCxDQUEzRCxDQUFwQyxFQUEyRztBQUMzRyx3QkFBTUMsT0FBTyxHQUFHakIsS0FBSyxDQUFDQyxDQUFELENBQUwsQ0FBU2lCLEtBQVQsQ0FBZSxJQUFJQyxNQUFKLENBQVksWUFBVzdCLGlEQUFTLENBQUM4QixNQUFWLENBQWlCUixhQUFhLEdBQUdELFNBQVMsR0FBRyxHQUFaLEdBQWtCQyxhQUFyQixHQUFxQ0QsU0FBbkUsQ0FBOEUsV0FBckcsQ0FBZixDQUFoQjtBQUNBLHNCQUFJLENBQUNNLE9BQUwsRUFBYztBQUNkLHdCQUFNSSxHQUFHLEdBQUdyQixLQUFLLENBQUNDLENBQUQsQ0FBTCxDQUFTcUIsU0FBVCxDQUFtQixDQUFuQixFQUFzQkwsT0FBTyxDQUFDTSxLQUFSLEdBQWdCTixPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdwQixNQUFqRCxDQUFaO0FBQ0Esd0JBQU0yQixJQUFJLEdBQUd4QixLQUFLLENBQUNDLENBQUQsQ0FBTCxDQUFTcUIsU0FBVCxDQUFtQkwsT0FBTyxDQUFDTSxLQUFSLEdBQWdCTixPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdwQixNQUEzQixHQUFvQ29CLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV3BCLE1BQWxFLENBQWI7QUFDQUcsdUJBQUssQ0FBQ0MsQ0FBRCxDQUFMLEdBQVdvQixHQUFYO0FBQ0Esd0JBQU1JLGNBQWMsR0FBR0Msc0RBQWMsQ0FBQ0MsS0FBZixDQUFxQkMsYUFBckIsQ0FBbUNDLGlEQUFuQyxFQUE0QztBQUFDMUUsd0JBQUksRUFBRXdELFNBQVA7QUFBa0JtQix1QkFBRyxFQUFFdkYsTUFBTSxDQUFDeUUsT0FBRCxDQUFOLENBQWdCTCxTQUFoQixDQUF2QjtBQUFtRG9CLDRCQUFRLEVBQUVuQjtBQUE3RCxtQkFBNUMsQ0FBdkI7QUFDQVosdUJBQUssQ0FBQ2dDLE1BQU4sQ0FBYS9CLENBQUMsR0FBRyxDQUFqQixFQUFvQixDQUFwQixFQUF1QnVCLElBQXZCO0FBQ0F4Qix1QkFBSyxDQUFDZ0MsTUFBTixDQUFhL0IsQ0FBQyxHQUFHLENBQWpCLEVBQW9CLENBQXBCLEVBQXVCd0IsY0FBdkI7QUFDSDtBQUNKO0FBQ0o7O0FBQ0Qsa0JBQU1RLFVBQVUsR0FBR2pDLEtBQUssQ0FBQ2tDLEtBQU4sQ0FBWUMsQ0FBQyxJQUFJO0FBQ2hDLGtCQUFJLE9BQU9BLENBQVAsSUFBYSxRQUFiLElBQXlCQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxLQUFWLEVBQWlCLEVBQWpCLEtBQXdCLEVBQXJELEVBQXlELE9BQU8sSUFBUCxDQUF6RCxLQUNLLElBQUlELENBQUMsQ0FBQ0UsSUFBRixJQUFVRixDQUFDLENBQUNFLElBQUYsQ0FBT2xGLElBQVAsSUFBZSxTQUE3QixFQUF3QyxPQUFPLElBQVAsQ0FBeEMsS0FDQSxJQUFJZ0YsQ0FBQyxDQUFDeEMsS0FBRixJQUFXd0MsQ0FBQyxDQUFDeEMsS0FBRixDQUFRSSxRQUFuQixJQUErQm9DLENBQUMsQ0FBQ3hDLEtBQUYsQ0FBUUksUUFBUixDQUFpQkosS0FBaEQsSUFBeUR3QyxDQUFDLENBQUN4QyxLQUFGLENBQVFJLFFBQVIsQ0FBaUJKLEtBQWpCLENBQXVCMkMsU0FBcEYsRUFBK0YsT0FBTyxJQUFQO0FBQ3BHLHFCQUFPLEtBQVA7QUFDSCxhQUxrQixDQUFuQjtBQU1BLGdCQUFJLENBQUNMLFVBQUwsRUFBaUI7O0FBRWpCLGlCQUFLLE1BQU0vQixJQUFYLElBQW1CRixLQUFuQixFQUEwQjtBQUN0QixrQkFBSSxPQUFPRSxJQUFQLElBQWdCLFFBQXBCLEVBQThCO0FBQzlCLGtCQUFJQSxJQUFJLENBQUNtQyxJQUFMLENBQVVsRixJQUFWLElBQWtCLFNBQXRCLEVBQWlDK0MsSUFBSSxDQUFDUCxLQUFMLENBQVc0QyxTQUFYLEdBQXVCLElBQXZCLENBQWpDLEtBQ0ssSUFBSXJDLElBQUksQ0FBQ1AsS0FBTCxJQUFjTyxJQUFJLENBQUNQLEtBQUwsQ0FBV0ksUUFBekIsSUFBcUNHLElBQUksQ0FBQ1AsS0FBTCxDQUFXSSxRQUFYLENBQW9CSixLQUF6RCxJQUFrRU8sSUFBSSxDQUFDUCxLQUFMLENBQVdJLFFBQVgsQ0FBb0JKLEtBQXBCLENBQTBCMkMsU0FBaEcsRUFBMkdwQyxJQUFJLENBQUNQLEtBQUwsQ0FBV0ksUUFBWCxDQUFvQkosS0FBcEIsQ0FBMEI0QyxTQUExQixHQUFzQyxJQUF0QztBQUNuSDtBQUNKO0FBN0RvRCxTQUFyRDtBQThESDtBQS9EZ0csS0FBeEUsQ0FBekI7QUFnRUg7O0FBRUQsUUFBTTFELGFBQU4sQ0FBb0IyRCxTQUFwQixFQUErQjtBQUMzQixTQUFLQyxZQUFMLEdBQW9CLEtBQXBCOztBQUNBLFVBQU1DLEdBQUcsR0FBR0MsbUJBQU8sQ0FBQyxjQUFELENBQW5COztBQUNBLFVBQU1DLFNBQVMsR0FBRyxpQkFBbEI7QUFDQSxVQUFNQyxJQUFJLEdBQUdDLDJDQUFNLENBQUNDLFFBQVAsR0FBa0JILFNBQS9COztBQUNBLFVBQU1JLE1BQU0sR0FBR04sR0FBRyxDQUFDTyxVQUFKLENBQWVKLElBQWYsQ0FBZjs7QUFFQSxRQUFJRyxNQUFNLElBQUksS0FBS0UsWUFBTCxFQUFkLEVBQW1DO0FBQy9CQywrQ0FBTSxDQUFDQyxJQUFQLENBQVksNEJBQVosRUFBMEM7QUFBQ2YsWUFBSSxFQUFFO0FBQVAsT0FBMUM7QUFDQS9DLHVEQUFTLENBQUMrRCxHQUFWLENBQWMsUUFBZCxFQUF3QixrQ0FBeEI7QUFFQSxZQUFNQyxJQUFJLEdBQUcsTUFBTSxJQUFJQyxPQUFKLENBQVlDLE9BQU8sSUFBSTtBQUN0Q2QsV0FBRyxDQUFDZSxRQUFKLENBQWFaLElBQWIsRUFBbUIsTUFBbkIsRUFBMkIsQ0FBQ2EsR0FBRCxFQUFNSixJQUFOLEtBQWU7QUFDdENoRSwyREFBUyxDQUFDK0QsR0FBVixDQUFjLFFBQWQsRUFBd0IsMkJBQXhCO0FBQ0EsY0FBSUssR0FBSixFQUFTSixJQUFJLEdBQUcsRUFBUDtBQUNURSxpQkFBTyxDQUFDRixJQUFELENBQVA7QUFDSCxTQUpEO0FBS0gsT0FOa0IsQ0FBbkI7QUFRQSxVQUFJSyxPQUFPLEdBQUdyRSxpREFBUyxDQUFDc0UsUUFBVixDQUFtQk4sSUFBbkIsQ0FBZDtBQUNBLFVBQUlLLE9BQUosRUFBYW5HLE1BQU0sQ0FBQzRCLE1BQVAsQ0FBYzdDLE1BQWQsRUFBc0JzSCxJQUFJLENBQUNDLEtBQUwsQ0FBV1IsSUFBWCxDQUF0Qjs7QUFFYixXQUFLLE1BQU1TLENBQVgsSUFBZ0J2QixTQUFoQixFQUEyQjtBQUN2Qm1CLGVBQU8sR0FBR25HLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZbEIsTUFBTSxDQUFDaUcsU0FBUyxDQUFDdUIsQ0FBRCxDQUFULENBQWFDLFFBQWQsQ0FBbEIsRUFBMkNuRSxNQUEzQyxHQUFvRCxDQUE5RDtBQUNIOztBQUVELFVBQUk4RCxPQUFKLEVBQWE7QUFDVFIsaURBQU0sQ0FBQ0MsSUFBUCxDQUFZLDZCQUFaLEVBQTJDO0FBQUNmLGNBQUksRUFBRTtBQUFQLFNBQTNDO0FBQ0EsYUFBS0ksWUFBTCxHQUFvQixJQUFwQjtBQUNBd0Isc0RBQU0sQ0FBQ0MsUUFBUCxDQUFnQixlQUFoQjtBQUNBO0FBQ0g7O0FBRUQ1RSx1REFBUyxDQUFDK0QsR0FBVixDQUFjLFFBQWQsRUFBd0IsbUNBQXhCOztBQUNBWCxTQUFHLENBQUN5QixVQUFKLENBQWV0QixJQUFmO0FBQ0g7O0FBRUQsUUFBSSxDQUFDdEUsZ0RBQVEsQ0FBQ1YsR0FBVCxDQUFhLEtBQUtSLFFBQWxCLEVBQTRCLFNBQTVCLEVBQXVDLFVBQXZDLENBQUwsRUFBeUQ7QUFDekQ4Riw2Q0FBTSxDQUFDQyxJQUFQLENBQVkscURBQVosRUFBbUU7QUFBQ2YsVUFBSSxFQUFFO0FBQVAsS0FBbkU7O0FBRUEsU0FBSyxNQUFNMEIsQ0FBWCxJQUFnQnZCLFNBQWhCLEVBQTJCO0FBQ3ZCLFlBQU0sSUFBSWUsT0FBSixDQUFZcEIsQ0FBQyxJQUFJaUMsVUFBVSxDQUFDakMsQ0FBRCxFQUFJLElBQUosQ0FBM0IsQ0FBTjtBQUNBLFlBQU1tQixJQUFJLEdBQUcsTUFBTSxLQUFLZSxjQUFMLENBQW9CN0IsU0FBUyxDQUFDdUIsQ0FBRCxDQUE3QixDQUFuQjtBQUNBeEgsWUFBTSxDQUFDaUcsU0FBUyxDQUFDdUIsQ0FBRCxDQUFULENBQWFDLFFBQWQsQ0FBTixHQUFnQ1YsSUFBaEM7QUFDSDs7QUFFREgsNkNBQU0sQ0FBQ0MsSUFBUCxDQUFZLHFDQUFaLEVBQW1EO0FBQUNmLFVBQUksRUFBRTtBQUFQLEtBQW5EOztBQUVBLFFBQUk7QUFBRUssU0FBRyxDQUFDNEIsYUFBSixDQUFrQnpCLElBQWxCLEVBQXdCZ0IsSUFBSSxDQUFDVSxTQUFMLENBQWVoSSxNQUFmLENBQXhCLEVBQWdELE1BQWhEO0FBQTBELEtBQWhFLENBQ0EsT0FBT21ILEdBQVAsRUFBWTtBQUFFcEUsdURBQVMsQ0FBQ29FLEdBQVYsQ0FBYyxRQUFkLEVBQXdCLDRCQUF4QixFQUFzREEsR0FBdEQ7QUFBNkQ7O0FBRTNFLFNBQUtqQixZQUFMLEdBQW9CLElBQXBCO0FBQ0F3QixrREFBTSxDQUFDQyxRQUFQLENBQWdCLGVBQWhCO0FBQ0g7O0FBRURHLGdCQUFjLENBQUNHLFNBQUQsRUFBWTtBQUN0QixVQUFNQyxPQUFPLEdBQUc5QixtQkFBTyxDQUFDLHdCQUFELENBQXZCOztBQUNBLFVBQU0rQixPQUFPLEdBQUc7QUFDWjVDLFNBQUcsRUFBRTBDLFNBQVMsQ0FBQzFDLEdBREg7QUFFWjZDLGFBQU8sRUFBRUgsU0FBUyxDQUFDRyxPQUFWLEdBQW9CSCxTQUFTLENBQUNHLE9BQTlCLEdBQXdDO0FBRnJDLEtBQWhCO0FBS0FyRixxREFBUyxDQUFDK0QsR0FBVixDQUFjLFFBQWQsRUFBeUIsZ0JBQWVtQixTQUFTLENBQUNSLFFBQVMsS0FBSVEsU0FBUyxDQUFDMUMsR0FBSSxHQUE3RTtBQUVBLFdBQU8sSUFBSXlCLE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVvQixNQUFWLEtBQXFCO0FBQ3BDSCxhQUFPLENBQUNDLE9BQUQsRUFBVSxDQUFDRyxLQUFELEVBQVFDLFFBQVIsRUFBa0JDLElBQWxCLEtBQTJCO0FBQ3hDLFlBQUlGLEtBQUosRUFBVztBQUNQdkYsMkRBQVMsQ0FBQ29FLEdBQVYsQ0FBYyxRQUFkLEVBQXdCLHdCQUF3QmMsU0FBUyxDQUFDUixRQUExRCxFQUFvRWEsS0FBcEU7O0FBQ0EsY0FBSUwsU0FBUyxDQUFDUSxNQUFkLEVBQXNCO0FBQ2xCUixxQkFBUyxDQUFDMUMsR0FBVixHQUFnQjBDLFNBQVMsQ0FBQ1EsTUFBMUI7QUFDQVIscUJBQVMsQ0FBQ1EsTUFBVixHQUFtQixJQUFuQjtBQUNBLGdCQUFJUixTQUFTLENBQUNTLFlBQWQsRUFBNEJULFNBQVMsQ0FBQ1UsTUFBVixHQUFtQlYsU0FBUyxDQUFDUyxZQUE3QjtBQUM1QixtQkFBT3pCLE9BQU8sQ0FBQyxLQUFLYSxjQUFMLENBQW9CRyxTQUFwQixDQUFELENBQWQ7QUFDSDs7QUFDRCxpQkFBT0ksTUFBTSxDQUFDLEVBQUQsQ0FBYjtBQUNIOztBQUVELFlBQUlPLFVBQVUsR0FBRyxFQUFqQjs7QUFDQSxZQUFJO0FBQ0FBLG9CQUFVLEdBQUd0QixJQUFJLENBQUNDLEtBQUwsQ0FBV2lCLElBQVgsQ0FBYjtBQUNILFNBRkQsQ0FHQSxPQUFPckIsR0FBUCxFQUFZO0FBQ1JwRSwyREFBUyxDQUFDb0UsR0FBVixDQUFjLFFBQWQsRUFBd0Isd0JBQXdCYyxTQUFTLENBQUNSLFFBQTFELEVBQW9FTixHQUFwRTs7QUFDQSxjQUFJYyxTQUFTLENBQUNRLE1BQWQsRUFBc0I7QUFDbEJSLHFCQUFTLENBQUMxQyxHQUFWLEdBQWdCMEMsU0FBUyxDQUFDUSxNQUExQjtBQUNBUixxQkFBUyxDQUFDUSxNQUFWLEdBQW1CLElBQW5CO0FBQ0EsZ0JBQUlSLFNBQVMsQ0FBQ1MsWUFBZCxFQUE0QlQsU0FBUyxDQUFDVSxNQUFWLEdBQW1CVixTQUFTLENBQUNTLFlBQTdCO0FBQzVCLG1CQUFPekIsT0FBTyxDQUFDLEtBQUthLGNBQUwsQ0FBb0JHLFNBQXBCLENBQUQsQ0FBZDtBQUNIOztBQUNELGlCQUFPSSxNQUFNLENBQUMsRUFBRCxDQUFiO0FBQ0g7O0FBQ0QsWUFBSSxPQUFPSixTQUFTLENBQUNVLE1BQWpCLEtBQTZCLFVBQWpDLEVBQTZDQyxVQUFVLEdBQUdYLFNBQVMsQ0FBQ1UsTUFBVixDQUFpQkMsVUFBakIsQ0FBYjs7QUFFN0MsYUFBSyxNQUFNMUUsS0FBWCxJQUFvQjBFLFVBQXBCLEVBQWdDO0FBQzVCLGNBQUkxRSxLQUFLLENBQUNaLE1BQU4sR0FBZSxDQUFmLElBQW9CL0MsU0FBUyxDQUFDaUUsUUFBVixDQUFtQk4sS0FBbkIsQ0FBeEIsRUFBbUQ7QUFDL0MsbUJBQU8wRSxVQUFVLENBQUMxRSxLQUFELENBQWpCO0FBQ0E7QUFDSDs7QUFDRDBFLG9CQUFVLENBQUMxRSxLQUFELENBQVYsR0FBb0IrRCxTQUFTLENBQUNZLFdBQVYsQ0FBc0JELFVBQVUsQ0FBQzFFLEtBQUQsQ0FBaEMsQ0FBcEI7QUFDSDs7QUFDRCtDLGVBQU8sQ0FBQzJCLFVBQUQsQ0FBUDtBQUNBN0YseURBQVMsQ0FBQytELEdBQVYsQ0FBYyxRQUFkLEVBQXdCLGlCQUFpQm1CLFNBQVMsQ0FBQ1IsUUFBbkQ7QUFDSCxPQXJDTSxDQUFQO0FBc0NILEtBdkNNLENBQVA7QUF3Q0g7O0FBRURxQixjQUFZLEdBQUc7QUFDWCxXQUFPLElBQUk5QixPQUFKLENBQVlDLE9BQU8sSUFBSTtBQUMxQjhCLE9BQUMsQ0FBQ0MsT0FBRixDQUFXLGtFQUFYLEVBQThFLFVBQVVqQyxJQUFWLEVBQWdCO0FBQzFGRSxlQUFPLENBQUMxRyxTQUFTLENBQUMwSSxJQUFWLENBQWUsR0FBR2xDLElBQUksQ0FBQ3hHLFNBQXZCLENBQUQsQ0FBUDtBQUNILE9BRkQ7QUFHSCxLQUpNLENBQVA7QUFLSDs7QUFFRG9HLGNBQVksR0FBRztBQUNYLFVBQU11QyxXQUFXLEdBQUdDLGlEQUFTLENBQUNDLFNBQVYsQ0FBb0IsZ0JBQXBCLEtBQXlDRCxpREFBUyxDQUFDRSxTQUFWLENBQW9CLGdCQUFwQixFQUFzQyxDQUF0QyxDQUF6QyxJQUFxRixDQUF6RztBQUNBLFVBQU1DLFNBQVMsR0FBRyxJQUFJQyxJQUFKLENBQVNKLGlEQUFTLENBQUNDLFNBQVYsQ0FBb0IsZ0JBQXBCLEtBQXlDLElBQWxELENBQWxCO0FBQ0EsVUFBTUksV0FBVyxHQUFHLElBQUlELElBQUosRUFBcEI7QUFDQSxVQUFNRSxXQUFXLEdBQUdDLElBQUksQ0FBQ0MsS0FBTCxDQUFXRCxJQUFJLENBQUNFLEdBQUwsQ0FBUyxDQUFDSixXQUFXLENBQUNLLE9BQVosS0FBd0JQLFNBQVMsQ0FBQ08sT0FBVixFQUF6QixLQUFpRCxLQUFLLEVBQUwsR0FBVSxFQUFWLEdBQWUsSUFBaEUsQ0FBVCxDQUFYLENBQXBCOztBQUNBLFFBQUlKLFdBQVcsR0FBR1AsV0FBbEIsRUFBK0I7QUFDM0JDLHVEQUFTLENBQUNFLFNBQVYsQ0FBb0IsZ0JBQXBCLEVBQXNDRyxXQUFXLENBQUNNLE1BQVosRUFBdEM7QUFDQSxhQUFPLEtBQVA7QUFDSDs7QUFDRCxXQUFPLElBQVA7QUFDSDs7QUFFRHpILGdCQUFjLEdBQUc7QUFDYixVQUFNOEQsR0FBRyxHQUFHQyxtQkFBTyxDQUFDLGNBQUQsQ0FBbkI7O0FBQ0EsVUFBTUMsU0FBUyxHQUFHLGlCQUFsQjtBQUNBLFVBQU1DLElBQUksR0FBR0MsMkNBQU0sQ0FBQ0MsUUFBUCxHQUFrQkgsU0FBL0I7O0FBQ0EsVUFBTUksTUFBTSxHQUFHTixHQUFHLENBQUNPLFVBQUosQ0FBZUosSUFBZixDQUFmOztBQUNBLFFBQUlHLE1BQUosRUFBWU4sR0FBRyxDQUFDeUIsVUFBSixDQUFldEIsSUFBZjtBQUNaNkMscURBQVMsQ0FBQ0UsU0FBVixDQUFvQixnQkFBcEIsRUFBdUMsSUFBSUUsSUFBSixFQUFELENBQWFPLE1BQWIsRUFBdEM7O0FBQ0EsU0FBSyxNQUFNaEosUUFBWCxJQUF1QmQsTUFBdkIsRUFBK0JpQixNQUFNLENBQUM0QixNQUFQLENBQWM3QyxNQUFkLEVBQXNCO0FBQUMsT0FBQ2MsUUFBRCxHQUFZO0FBQWIsS0FBdEI7QUFDbEM7O0FBblFnRCxDQUF0QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL2Vtb3Rlcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmltcG9ydCB7Q29uZmlnLCBFbW90ZUluZm8sIEVtb3RlQ29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQge1V0aWxpdGllcywgV2VicGFja01vZHVsZXMsIERhdGFTdG9yZSwgRGlzY29yZE1vZHVsZXMsIEV2ZW50cywgU2V0dGluZ3N9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBCREVtb3RlIGZyb20gXCIuLi91aS9lbW90ZVwiO1xyXG5pbXBvcnQge1RvYXN0c30gZnJvbSBcInVpXCI7XHJcblxyXG5jb25zdCBFbW90ZXMgPSB7XHJcbiAgICBUd2l0Y2hHbG9iYWw6IHt9LFxyXG4gICAgVHdpdGNoU3Vic2NyaWJlcjoge30sXHJcbiAgICBCVFRWOiB7fSxcclxuICAgIEZyYW5rZXJGYWNlWjoge30sXHJcbiAgICBCVFRWMjoge31cclxufTtcclxuXHJcbmNvbnN0IGJkRW1vdGVTZXR0aW5nSURzID0ge1xyXG4gICAgVHdpdGNoR2xvYmFsOiBcInR3aXRjaFwiLFxyXG4gICAgVHdpdGNoU3Vic2NyaWJlcjogXCJ0d2l0Y2hcIixcclxuICAgIEJUVFY6IFwiYnR0dlwiLFxyXG4gICAgRnJhbmtlckZhY2VaOiBcImZmelwiLFxyXG4gICAgQlRUVjI6IFwiYnR0dlwiXHJcbn07XHJcblxyXG5jb25zdCBibGFja2xpc3QgPSBbXTtcclxuY29uc3Qgb3ZlcnJpZGVzID0gW1widHdpdGNoXCIsIFwiYnR0dlwiLCBcImZmelwiXTtcclxuY29uc3QgbW9kaWZpZXJzID0gW1wiZmxpcFwiLCBcInNwaW5cIiwgXCJwdWxzZVwiLCBcInNwaW4yXCIsIFwic3BpbjNcIiwgXCIxc3BpblwiLCBcIjJzcGluXCIsIFwiM3NwaW5cIiwgXCJ0clwiLCBcImJsXCIsIFwiYnJcIiwgXCJzaGFrZVwiLCBcInNoYWtlMlwiLCBcInNoYWtlM1wiLCBcImZsYXBcIl07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgRW1vdGVNb2R1bGUgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIkVtb3Rlc1wiO31cclxuICAgIGdldCBjb2xsZWN0aW9uKCkge3JldHVybiBcInNldHRpbmdzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImdlbmVyYWxcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwiZW1vdGVzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3JpZXMoKSB7IHJldHVybiBPYmplY3Qua2V5cyhiZEVtb3RlU2V0dGluZ0lEcykuZmlsdGVyKGsgPT4gdGhpcy5pc0NhdGVnb3J5RW5hYmxlZChiZEVtb3RlU2V0dGluZ0lEc1trXSkpOyB9XHJcblxyXG4gICAgaXNDYXRlZ29yeUVuYWJsZWQoaWQpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0KFwiZW1vdGVzXCIsIFwiY2F0ZWdvcmllc1wiLCBpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0KGlkKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldChcImVtb3Rlc1wiLCBcImdlbmVyYWxcIiwgaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBNZXNzYWdlQ29udGVudENvbXBvbmVudCgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKG0gPT4gbS5kZWZhdWx0UHJvcHMgJiYgbS5kZWZhdWx0UHJvcHMuaGFzT3duUHJvcGVydHkoXCJkaXNhYmxlQnV0dG9uc1wiKSk7fVxyXG5cclxuICAgIGdldCBFbW90ZXMoKSB7cmV0dXJuIEVtb3Rlczt9XHJcbiAgICBnZXQgVHdpdGNoR2xvYmFsKCkge3JldHVybiBFbW90ZXMuVHdpdGNoR2xvYmFsO31cclxuICAgIGdldCBUd2l0Y2hTdWJzY3JpYmVyKCkge3JldHVybiBFbW90ZXMuVHdpdGNoU3Vic2NyaWJlcjt9XHJcbiAgICBnZXQgQlRUVigpIHtyZXR1cm4gRW1vdGVzLkJUVFY7fVxyXG4gICAgZ2V0IEZyYW5rZXJGYWNlWigpIHtyZXR1cm4gRW1vdGVzLkZyYW5rZXJGYWNlWjt9XHJcbiAgICBnZXQgQlRUVjIoKSB7cmV0dXJuIEVtb3Rlcy5CVFRWMjt9XHJcbiAgICBnZXQgYmxhY2tsaXN0KCkge3JldHVybiBibGFja2xpc3Q7fVxyXG5cclxuICAgIGdldENhdGVnb3J5KGNhdGVnb3J5KSB7XHJcbiAgICAgICAgcmV0dXJuIEVtb3Rlc1tjYXRlZ29yeV07XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XHJcbiAgICAgICAgLy8gRW1vdGVDb25maWc7XHJcbiAgICAgICAgLy8gZW1vdGVDb2xsZWN0aW9uLmJ1dHRvbiA9IHt0aXRsZTogXCJDbGVhciBFbW90ZSBDYWNoZVwiLCBvbkNsaWNrOiAoKSA9PiB7IHRoaXMuY2xlYXJFbW90ZURhdGEoKTsgdGhpcy5sb2FkRW1vdGVEYXRhKEVtb3RlSW5mbyk7IH19O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgU2V0dGluZ3MucmVnaXN0ZXJDb2xsZWN0aW9uKFwiZW1vdGVzXCIsIFwiRW1vdGVzXCIsIEVtb3RlQ29uZmlnLCB7dGl0bGU6IFwiQ2xlYXIgRW1vdGUgQ2FjaGVcIiwgb25DbGljazogKCkgPT4geyB0aGlzLmNsZWFyRW1vdGVEYXRhKCk7IHRoaXMubG9hZEVtb3RlRGF0YShFbW90ZUluZm8pOyB9fSk7XHJcbiAgICAgICAgLy8gRGlzYWJsZSBlbW90ZSBtb2R1bGUgZm9yIG5vdyBiZWNhdXNlIGl0J3MgYW5ub3lpbmcgYW5kIHNsb3dcclxuICAgICAgICAvLyBhd2FpdCB0aGlzLmdldEJsYWNrbGlzdCgpO1xyXG4gICAgICAgIC8vIGF3YWl0IHRoaXMubG9hZEVtb3RlRGF0YShFbW90ZUluZm8pO1xyXG5cclxuICAgICAgICAvLyB3aGlsZSAoIXRoaXMuTWVzc2FnZUNvbnRlbnRDb21wb25lbnQpIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMDApKTtcclxuICAgICAgICAvLyB0aGlzLnBhdGNoTWVzc2FnZUNvbnRlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNhYmxlZCgpIHtcclxuICAgICAgICBTZXR0aW5ncy5yZW1vdmVDb2xsZWN0aW9uKFwiZW1vdGVzXCIpO1xyXG4gICAgICAgIHRoaXMuZW1wdHlFbW90ZXMoKTtcclxuICAgICAgICBpZiAoIXRoaXMuY2FuY2VsRW1vdGVSZW5kZXIpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhbmNlbEVtb3RlUmVuZGVyKCk7XHJcbiAgICAgICAgZGVsZXRlIHRoaXMuY2FuY2VsRW1vdGVSZW5kZXI7XHJcbiAgICB9XHJcblxyXG4gICAgZW1wdHlFbW90ZXMoKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBjYXQgaW4gRW1vdGVzKSBPYmplY3QuYXNzaWduKEVtb3Rlcywge1tjYXRdOiB7fX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHBhdGNoTWVzc2FnZUNvbnRlbnQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2FuY2VsRW1vdGVSZW5kZXIpIHJldHVybjtcclxuICAgICAgICB0aGlzLmNhbmNlbEVtb3RlUmVuZGVyID0gVXRpbGl0aWVzLm1vbmtleVBhdGNoKHRoaXMuTWVzc2FnZUNvbnRlbnRDb21wb25lbnQucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6ICh7cmV0dXJuVmFsdWV9KSA9PiB7XHJcbiAgICAgICAgICAgIFV0aWxpdGllcy5tb25rZXlQYXRjaChyZXR1cm5WYWx1ZS5wcm9wcywgXCJjaGlsZHJlblwiLCB7c2lsZW50OiB0cnVlLCBhZnRlcjogKHtyZXR1cm5WYWx1ZX0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNhdGVnb3JpZXMubGVuZ3RoID09IDApIHJldHVybjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1hcmt1cCA9IHJldHVyblZhbHVlLnByb3BzLmNoaWxkcmVuWzFdO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFtYXJrdXAucHJvcHMuY2hpbGRyZW4pIHJldHVybjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVzID0gbWFya3VwLnByb3BzLmNoaWxkcmVuWzFdO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFub2RlcyB8fCAhbm9kZXMubGVuZ3RoKSByZXR1cm47XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBuID0gMDsgbiA8IG5vZGVzLmxlbmd0aDsgbisrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW25dO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Yobm9kZSkgIT09IFwic3RyaW5nXCIpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gbm9kZS5zcGxpdCgvKFteXFxzXSspKFtcXHNdfCQpL2cpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGMgPSAwLCBjbGVuID0gdGhpcy5jYXRlZ29yaWVzLmxlbmd0aDsgYyA8IGNsZW47IGMrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCB3ID0gMCwgd2xlbiA9IHdvcmRzLmxlbmd0aDsgdyA8IHdsZW47IHcrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW1vdGUgPSB3b3Jkc1t3XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVtb3RlU3BsaXQgPSBlbW90ZS5zcGxpdChcIjpcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbW90ZU5hbWUgPSBlbW90ZVNwbGl0WzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGVtb3RlTW9kaWZpZXIgPSBlbW90ZVNwbGl0WzFdID8gZW1vdGVTcGxpdFsxXSA6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZW1vdGVPdmVycmlkZSA9IGVtb3RlTW9kaWZpZXIuc2xpY2UoMCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVtb3RlTmFtZS5sZW5ndGggPCA0IHx8IGJsYWNrbGlzdC5pbmNsdWRlcyhlbW90ZU5hbWUpKSBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbW9kaWZpZXJzLmluY2x1ZGVzKGVtb3RlTW9kaWZpZXIpIHx8ICFTZXR0aW5ncy5nZXQodGhpcy5jYXRlZ29yeSwgXCJnZW5lcmFsXCIsIFwibW9kaWZpZXJzXCIpKSBlbW90ZU1vZGlmaWVyID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3ZlcnJpZGVzLmluY2x1ZGVzKGVtb3RlT3ZlcnJpZGUpKSBlbW90ZU92ZXJyaWRlID0gXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgZW1vdGVNb2RpZmllciA9IGVtb3RlT3ZlcnJpZGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgPSB0aGlzLmNhdGVnb3JpZXNbY107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW1vdGVPdmVycmlkZSA9PT0gXCJ0d2l0Y2hcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChFbW90ZXMuVHdpdGNoR2xvYmFsW2Vtb3RlTmFtZV0pIGN1cnJlbnQgPSBcIlR3aXRjaEdsb2JhbFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKEVtb3Rlcy5Ud2l0Y2hTdWJzY3JpYmVyW2Vtb3RlTmFtZV0pIGN1cnJlbnQgPSBcIlR3aXRjaFN1YnNjcmliZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGVtb3RlT3ZlcnJpZGUgPT09IFwiYnR0dlwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEVtb3Rlcy5CVFRWW2Vtb3RlTmFtZV0pIGN1cnJlbnQgPSBcIkJUVFZcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChFbW90ZXMuQlRUVjJbZW1vdGVOYW1lXSkgY3VycmVudCA9IFwiQlRUVjJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGVtb3RlT3ZlcnJpZGUgPT09IFwiZmZ6XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoRW1vdGVzLkZyYW5rZXJGYWNlWltlbW90ZU5hbWVdKSBjdXJyZW50ID0gXCJGcmFua2VyRmFjZVpcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUVtb3Rlc1tjdXJyZW50XVtlbW90ZU5hbWVdIHx8ICFTZXR0aW5ncy5nZXQodGhpcy5jYXRlZ29yeSwgXCJjYXRlZ29yaWVzXCIsIGJkRW1vdGVTZXR0aW5nSURzW2N1cnJlbnRdKSkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHRzID0gbm9kZXNbbl0ubWF0Y2gobmV3IFJlZ0V4cChgKFtcXFxcc118Xikke1V0aWxpdGllcy5lc2NhcGUoZW1vdGVNb2RpZmllciA/IGVtb3RlTmFtZSArIFwiOlwiICsgZW1vdGVNb2RpZmllciA6IGVtb3RlTmFtZSl9KFtcXFxcc118JClgKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdHMpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJlID0gbm9kZXNbbl0uc3Vic3RyaW5nKDAsIHJlc3VsdHMuaW5kZXggKyByZXN1bHRzWzFdLmxlbmd0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3N0ID0gbm9kZXNbbl0uc3Vic3RyaW5nKHJlc3VsdHMuaW5kZXggKyByZXN1bHRzWzBdLmxlbmd0aCAtIHJlc3VsdHNbMl0ubGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzW25dID0gcHJlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW1vdGVDb21wb25lbnQgPSBEaXNjb3JkTW9kdWxlcy5SZWFjdC5jcmVhdGVFbGVtZW50KEJERW1vdGUsIHtuYW1lOiBlbW90ZU5hbWUsIHVybDogRW1vdGVzW2N1cnJlbnRdW2Vtb3RlTmFtZV0sIG1vZGlmaWVyOiBlbW90ZU1vZGlmaWVyfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2Rlcy5zcGxpY2UobiArIDEsIDAsIHBvc3QpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZXMuc3BsaWNlKG4gKyAxLCAwLCBlbW90ZUNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvbmx5RW1vdGVzID0gbm9kZXMuZXZlcnkociA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZihyKSA9PSBcInN0cmluZ1wiICYmIHIucmVwbGFjZSgvXFxzKi8sIFwiXCIpID09IFwiXCIpIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHIudHlwZSAmJiByLnR5cGUubmFtZSA9PSBcIkJERW1vdGVcIikgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoci5wcm9wcyAmJiByLnByb3BzLmNoaWxkcmVuICYmIHIucHJvcHMuY2hpbGRyZW4ucHJvcHMgJiYgci5wcm9wcy5jaGlsZHJlbi5wcm9wcy5lbW9qaU5hbWUpIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFvbmx5RW1vdGVzKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZihub2RlKSAhPSBcIm9iamVjdFwiKSBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS50eXBlLm5hbWUgPT0gXCJCREVtb3RlXCIpIG5vZGUucHJvcHMuanVtYm9hYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChub2RlLnByb3BzICYmIG5vZGUucHJvcHMuY2hpbGRyZW4gJiYgbm9kZS5wcm9wcy5jaGlsZHJlbi5wcm9wcyAmJiBub2RlLnByb3BzLmNoaWxkcmVuLnByb3BzLmVtb2ppTmFtZSkgbm9kZS5wcm9wcy5jaGlsZHJlbi5wcm9wcy5qdW1ib2FibGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9fSk7XHJcbiAgICAgICAgfX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGxvYWRFbW90ZURhdGEoZW1vdGVJbmZvKSB7XHJcbiAgICAgICAgdGhpcy5lbW90ZXNMb2FkZWQgPSBmYWxzZTtcclxuICAgICAgICBjb25zdCBfZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbiAgICAgICAgY29uc3QgZW1vdGVGaWxlID0gXCJlbW90ZV9kYXRhLmpzb25cIjtcclxuICAgICAgICBjb25zdCBmaWxlID0gQ29uZmlnLmRhdGFQYXRoICsgZW1vdGVGaWxlO1xyXG4gICAgICAgIGNvbnN0IGV4aXN0cyA9IF9mcy5leGlzdHNTeW5jKGZpbGUpO1xyXG5cclxuICAgICAgICBpZiAoZXhpc3RzICYmIHRoaXMuaXNDYWNoZVZhbGlkKCkpIHtcclxuICAgICAgICAgICAgVG9hc3RzLnNob3coXCJMb2FkaW5nIGVtb3RlcyBmcm9tIGNhY2hlLlwiLCB7dHlwZTogXCJpbmZvXCJ9KTtcclxuICAgICAgICAgICAgVXRpbGl0aWVzLmxvZyhcIkVtb3Rlc1wiLCBcIkxvYWRpbmcgZW1vdGVzIGZyb20gbG9jYWwgY2FjaGUuXCIpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xyXG4gICAgICAgICAgICAgICAgX2ZzLnJlYWRGaWxlKGZpbGUsIFwidXRmOFwiLCAoZXJyLCBkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgVXRpbGl0aWVzLmxvZyhcIkVtb3Rlc1wiLCBcIkVtb3RlcyBsb2FkZWQgZnJvbSBjYWNoZS5cIik7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycikgZGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBsZXQgaXNWYWxpZCA9IFV0aWxpdGllcy50ZXN0SlNPTihkYXRhKTtcclxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIE9iamVjdC5hc3NpZ24oRW1vdGVzLCBKU09OLnBhcnNlKGRhdGEpKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZSBpbiBlbW90ZUluZm8pIHtcclxuICAgICAgICAgICAgICAgIGlzVmFsaWQgPSBPYmplY3Qua2V5cyhFbW90ZXNbZW1vdGVJbmZvW2VdLnZhcmlhYmxlXSkubGVuZ3RoID4gMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcclxuICAgICAgICAgICAgICAgIFRvYXN0cy5zaG93KFwiRW1vdGVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuXCIsIHt0eXBlOiBcInN1Y2Nlc3NcIn0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbW90ZXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgRXZlbnRzLmRpc3BhdGNoKFwiZW1vdGVzLWxvYWRlZFwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgVXRpbGl0aWVzLmxvZyhcIkVtb3Rlc1wiLCBcIkNhY2hlIHdhcyBjb3JydXB0LCBkb3dubG9hZGluZy4uLlwiKTtcclxuICAgICAgICAgICAgX2ZzLnVubGlua1N5bmMoZmlsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIVNldHRpbmdzLmdldCh0aGlzLmNhdGVnb3J5LCBcImdlbmVyYWxcIiwgXCJkb3dubG9hZFwiKSkgcmV0dXJuO1xyXG4gICAgICAgIFRvYXN0cy5zaG93KFwiRG93bmxvYWRpbmcgZW1vdGVzIGluIHRoZSBiYWNrZ3JvdW5kIGRvIG5vdCByZWxvYWQuXCIsIHt0eXBlOiBcImluZm9cIn0pO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGUgaW4gZW1vdGVJbmZvKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCAxMDAwKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmRvd25sb2FkRW1vdGVzKGVtb3RlSW5mb1tlXSk7XHJcbiAgICAgICAgICAgIEVtb3Rlc1tlbW90ZUluZm9bZV0udmFyaWFibGVdID0gZGF0YTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFRvYXN0cy5zaG93KFwiQWxsIGVtb3RlcyBzdWNjZXNzZnVsbHkgZG93bmxvYWRlZC5cIiwge3R5cGU6IFwic3VjY2Vzc1wifSk7XHJcblxyXG4gICAgICAgIHRyeSB7IF9mcy53cml0ZUZpbGVTeW5jKGZpbGUsIEpTT04uc3RyaW5naWZ5KEVtb3RlcyksIFwidXRmOFwiKTsgfVxyXG4gICAgICAgIGNhdGNoIChlcnIpIHsgVXRpbGl0aWVzLmVycihcIkVtb3Rlc1wiLCBcIkNvdWxkIG5vdCBzYXZlIGVtb3RlIGRhdGEuXCIsIGVycik7IH1cclxuXHJcbiAgICAgICAgdGhpcy5lbW90ZXNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgIEV2ZW50cy5kaXNwYXRjaChcImVtb3Rlcy1sb2FkZWRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZG93bmxvYWRFbW90ZXMoZW1vdGVNZXRhKSB7XHJcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHJlcXVpcmUoXCJyZXF1ZXN0XCIpO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgIHVybDogZW1vdGVNZXRhLnVybCxcclxuICAgICAgICAgICAgdGltZW91dDogZW1vdGVNZXRhLnRpbWVvdXQgPyBlbW90ZU1ldGEudGltZW91dCA6IDUwMDBcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBVdGlsaXRpZXMubG9nKFwiRW1vdGVzXCIsIGBEb3dubG9hZGluZzogJHtlbW90ZU1ldGEudmFyaWFibGV9ICgke2Vtb3RlTWV0YS51cmx9KWApO1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICByZXF1ZXN0KG9wdGlvbnMsIChlcnJvciwgcmVzcG9uc2UsIGJvZHkpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIFV0aWxpdGllcy5lcnIoXCJFbW90ZXNcIiwgXCJDb3VsZCBub3QgZG93bmxvYWQgXCIgKyBlbW90ZU1ldGEudmFyaWFibGUsIGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZW1vdGVNZXRhLmJhY2t1cCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbW90ZU1ldGEudXJsID0gZW1vdGVNZXRhLmJhY2t1cDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW1vdGVNZXRhLmJhY2t1cCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbW90ZU1ldGEuYmFja3VwUGFyc2VyKSBlbW90ZU1ldGEucGFyc2VyID0gZW1vdGVNZXRhLmJhY2t1cFBhcnNlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5kb3dubG9hZEVtb3RlcyhlbW90ZU1ldGEpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdCh7fSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGV0IHBhcnNlZERhdGEgPSB7fTtcclxuICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VkRGF0YSA9IEpTT04ucGFyc2UoYm9keSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgVXRpbGl0aWVzLmVycihcIkVtb3Rlc1wiLCBcIkNvdWxkIG5vdCBkb3dubG9hZCBcIiArIGVtb3RlTWV0YS52YXJpYWJsZSwgZXJyKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZW1vdGVNZXRhLmJhY2t1cCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbW90ZU1ldGEudXJsID0gZW1vdGVNZXRhLmJhY2t1cDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZW1vdGVNZXRhLmJhY2t1cCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbW90ZU1ldGEuYmFja3VwUGFyc2VyKSBlbW90ZU1ldGEucGFyc2VyID0gZW1vdGVNZXRhLmJhY2t1cFBhcnNlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmUodGhpcy5kb3dubG9hZEVtb3RlcyhlbW90ZU1ldGEpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlamVjdCh7fSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mKGVtb3RlTWV0YS5wYXJzZXIpID09PSBcImZ1bmN0aW9uXCIpIHBhcnNlZERhdGEgPSBlbW90ZU1ldGEucGFyc2VyKHBhcnNlZERhdGEpO1xyXG5cclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZW1vdGUgaW4gcGFyc2VkRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlbW90ZS5sZW5ndGggPCA0IHx8IGJsYWNrbGlzdC5pbmNsdWRlcyhlbW90ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHBhcnNlZERhdGFbZW1vdGVdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyc2VkRGF0YVtlbW90ZV0gPSBlbW90ZU1ldGEuZ2V0RW1vdGVVUkwocGFyc2VkRGF0YVtlbW90ZV0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShwYXJzZWREYXRhKTtcclxuICAgICAgICAgICAgICAgIFV0aWxpdGllcy5sb2coXCJFbW90ZXNcIiwgXCJEb3dubG9hZGVkOiBcIiArIGVtb3RlTWV0YS52YXJpYWJsZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEJsYWNrbGlzdCgpIHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgICAgICQuZ2V0SlNPTihgaHR0cHM6Ly9yYXVlbnppLmdpdGh1Yi5pby9CZXR0ZXJEaXNjb3JkQXBwL2RhdGEvZW1vdGVmaWx0ZXIuanNvbmAsIGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGJsYWNrbGlzdC5wdXNoKC4uLmRhdGEuYmxhY2tsaXN0KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlzQ2FjaGVWYWxpZCgpIHtcclxuICAgICAgICBjb25zdCBjYWNoZUxlbmd0aCA9IERhdGFTdG9yZS5nZXRCRERhdGEoXCJlbW90ZUNhY2hlRGF5c1wiKSB8fCBEYXRhU3RvcmUuc2V0QkREYXRhKFwiZW1vdGVDYWNoZURheXNcIiwgNykgfHwgNztcclxuICAgICAgICBjb25zdCBjYWNoZURhdGUgPSBuZXcgRGF0ZShEYXRhU3RvcmUuZ2V0QkREYXRhKFwiZW1vdGVDYWNoZURhdGVcIikgfHwgbnVsbCk7XHJcbiAgICAgICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGNvbnN0IGRheXNCZXR3ZWVuID0gTWF0aC5yb3VuZChNYXRoLmFicygoY3VycmVudERhdGUuZ2V0VGltZSgpIC0gY2FjaGVEYXRlLmdldFRpbWUoKSkgLyAoMjQgKiA2MCAqIDYwICogMTAwMCkpKTtcclxuICAgICAgICBpZiAoZGF5c0JldHdlZW4gPiBjYWNoZUxlbmd0aCkge1xyXG4gICAgICAgICAgICBEYXRhU3RvcmUuc2V0QkREYXRhKFwiZW1vdGVDYWNoZURhdGVcIiwgY3VycmVudERhdGUudG9KU09OKCkpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNsZWFyRW1vdGVEYXRhKCkge1xyXG4gICAgICAgIGNvbnN0IF9mcyA9IHJlcXVpcmUoXCJmc1wiKTtcclxuICAgICAgICBjb25zdCBlbW90ZUZpbGUgPSBcImVtb3RlX2RhdGEuanNvblwiO1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBDb25maWcuZGF0YVBhdGggKyBlbW90ZUZpbGU7XHJcbiAgICAgICAgY29uc3QgZXhpc3RzID0gX2ZzLmV4aXN0c1N5bmMoZmlsZSk7XHJcbiAgICAgICAgaWYgKGV4aXN0cykgX2ZzLnVubGlua1N5bmMoZmlsZSk7XHJcbiAgICAgICAgRGF0YVN0b3JlLnNldEJERGF0YShcImVtb3RlQ2FjaGVEYXRlXCIsIChuZXcgRGF0ZSgpKS50b0pTT04oKSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBjYXRlZ29yeSBpbiBFbW90ZXMpIE9iamVjdC5hc3NpZ24oRW1vdGVzLCB7W2NhdGVnb3J5XToge319KTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/emotes.js\n");
/***/ }),
/***/ "./src/builtins/minimalmode.js":
/*!*************************************!*\
!*** ./src/builtins/minimalmode.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class MinimalMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"MinimalMode\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"minimalMode\";\n }\n\n get hideChannelsID() {\n return \"hideChannels\";\n }\n\n get hideChannels() {\n return this.get(this.hideChannelsID);\n }\n\n constructor() {\n super();\n this.enableHideChannels = this.enableHideChannels.bind(this);\n this.disableHideChannels = this.disableHideChannels.bind(this);\n }\n\n enabled() {\n $(\"body\").addClass(\"bd-minimal\");\n if (this.hideChannels) this.enableHideChannels();\n this.hideChannelCancel = this.registerSetting(this.hideChannelsID, this.enableHideChannels, this.disableHideChannels);\n }\n\n disabled() {\n $(\"body\").removeClass(\"bd-minimal\");\n if (this.hideChannels) this.disableHideChannels();\n if (this.hideChannelCancel) this.hideChannelCancel();\n }\n\n enableHideChannels() {\n $(\"body\").addClass(\"bd-minimal-chan\");\n }\n\n disableHideChannels() {\n $(\"body\").removeClass(\"bd-minimal-chan\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL21pbmltYWxtb2RlLmpzPzgzMzgiXSwibmFtZXMiOlsiTWluaW1hbE1vZGUiLCJCdWlsdGluIiwibmFtZSIsImNhdGVnb3J5IiwiaWQiLCJoaWRlQ2hhbm5lbHNJRCIsImhpZGVDaGFubmVscyIsImdldCIsImNvbnN0cnVjdG9yIiwiZW5hYmxlSGlkZUNoYW5uZWxzIiwiYmluZCIsImRpc2FibGVIaWRlQ2hhbm5lbHMiLCJlbmFibGVkIiwiJCIsImFkZENsYXNzIiwiaGlkZUNoYW5uZWxDYW5jZWwiLCJyZWdpc3RlclNldHRpbmciLCJkaXNhYmxlZCIsInJlbW92ZUNsYXNzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFFZSxtRUFBSSxNQUFNQSxXQUFOLFNBQTBCQyx3REFBMUIsQ0FBa0M7QUFDakQsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxhQUFQO0FBQXNCOztBQUNsQyxNQUFJQyxRQUFKLEdBQWU7QUFBQyxXQUFPLFlBQVA7QUFBcUI7O0FBQ3JDLE1BQUlDLEVBQUosR0FBUztBQUFDLFdBQU8sYUFBUDtBQUFzQjs7QUFDaEMsTUFBSUMsY0FBSixHQUFxQjtBQUFDLFdBQU8sY0FBUDtBQUF1Qjs7QUFDN0MsTUFBSUMsWUFBSixHQUFtQjtBQUFDLFdBQU8sS0FBS0MsR0FBTCxDQUFTLEtBQUtGLGNBQWQsQ0FBUDtBQUFzQzs7QUFFMURHLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0Msa0JBQUwsR0FBMEIsS0FBS0Esa0JBQUwsQ0FBd0JDLElBQXhCLENBQTZCLElBQTdCLENBQTFCO0FBQ0EsU0FBS0MsbUJBQUwsR0FBMkIsS0FBS0EsbUJBQUwsQ0FBeUJELElBQXpCLENBQThCLElBQTlCLENBQTNCO0FBQ0g7O0FBRURFLFNBQU8sR0FBRztBQUNOQyxLQUFDLENBQUMsTUFBRCxDQUFELENBQVVDLFFBQVYsQ0FBbUIsWUFBbkI7QUFDQSxRQUFJLEtBQUtSLFlBQVQsRUFBdUIsS0FBS0csa0JBQUw7QUFDdkIsU0FBS00saUJBQUwsR0FBeUIsS0FBS0MsZUFBTCxDQUFxQixLQUFLWCxjQUExQixFQUEwQyxLQUFLSSxrQkFBL0MsRUFBbUUsS0FBS0UsbUJBQXhFLENBQXpCO0FBQ0g7O0FBRURNLFVBQVEsR0FBRztBQUNQSixLQUFDLENBQUMsTUFBRCxDQUFELENBQVVLLFdBQVYsQ0FBc0IsWUFBdEI7QUFDQSxRQUFJLEtBQUtaLFlBQVQsRUFBdUIsS0FBS0ssbUJBQUw7QUFDdkIsUUFBSSxLQUFLSSxpQkFBVCxFQUE0QixLQUFLQSxpQkFBTDtBQUMvQjs7QUFFRE4sb0JBQWtCLEdBQUc7QUFDakJJLEtBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUMsUUFBVixDQUFtQixpQkFBbkI7QUFDSDs7QUFFREgscUJBQW1CLEdBQUc7QUFDbEJFLEtBQUMsQ0FBQyxNQUFELENBQUQsQ0FBVUssV0FBVixDQUFzQixpQkFBdEI7QUFDSDs7QUEvQmdELENBQXRDLEVBQWYiLCJmaWxlIjoiLi9zcmMvYnVpbHRpbnMvbWluaW1hbG1vZGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgTWluaW1hbE1vZGUgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIk1pbmltYWxNb2RlXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImFwcGVhcmFuY2VcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwibWluaW1hbE1vZGVcIjt9XHJcbiAgICBnZXQgaGlkZUNoYW5uZWxzSUQoKSB7cmV0dXJuIFwiaGlkZUNoYW5uZWxzXCI7fVxyXG4gICAgZ2V0IGhpZGVDaGFubmVscygpIHtyZXR1cm4gdGhpcy5nZXQodGhpcy5oaWRlQ2hhbm5lbHNJRCk7fVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5lbmFibGVIaWRlQ2hhbm5lbHMgPSB0aGlzLmVuYWJsZUhpZGVDaGFubmVscy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZUhpZGVDaGFubmVscyA9IHRoaXMuZGlzYWJsZUhpZGVDaGFubmVscy5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikuYWRkQ2xhc3MoXCJiZC1taW5pbWFsXCIpO1xyXG4gICAgICAgIGlmICh0aGlzLmhpZGVDaGFubmVscykgdGhpcy5lbmFibGVIaWRlQ2hhbm5lbHMoKTtcclxuICAgICAgICB0aGlzLmhpZGVDaGFubmVsQ2FuY2VsID0gdGhpcy5yZWdpc3RlclNldHRpbmcodGhpcy5oaWRlQ2hhbm5lbHNJRCwgdGhpcy5lbmFibGVIaWRlQ2hhbm5lbHMsIHRoaXMuZGlzYWJsZUhpZGVDaGFubmVscyk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJiZC1taW5pbWFsXCIpO1xyXG4gICAgICAgIGlmICh0aGlzLmhpZGVDaGFubmVscykgdGhpcy5kaXNhYmxlSGlkZUNoYW5uZWxzKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuaGlkZUNoYW5uZWxDYW5jZWwpIHRoaXMuaGlkZUNoYW5uZWxDYW5jZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBlbmFibGVIaWRlQ2hhbm5lbHMoKSB7XHJcbiAgICAgICAgJChcImJvZHlcIikuYWRkQ2xhc3MoXCJiZC1taW5pbWFsLWNoYW5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZUhpZGVDaGFubmVscygpIHtcclxuICAgICAgICAkKFwiYm9keVwiKS5yZW1vdmVDbGFzcyhcImJkLW1pbmltYWwtY2hhblwiKTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/minimalmode.js\n");
/***/ }),
/***/ "./src/builtins/publicservers.js":
/*!***************************************!*\
!*** ./src/builtins/publicservers.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class PublicServers extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"PublicServers\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"publicServers\";\n }\n\n enabled() {\n const wrapper = modules__WEBPACK_IMPORTED_MODULE_1__[\"BDV2\"].guildClasses.wrapper.split(\" \")[0];\n const guilds = $(`.${wrapper} .scroller-2FKFPG >:first-child`);\n guilds.after(this.button);\n }\n\n disabled() {\n $(\"#bd-pub-li\").remove();\n }\n\n get component() {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React.createElement(ui__WEBPACK_IMPORTED_MODULE_2__[\"PublicServers\"].Layer, {\n rootId: \"pubslayerroot\",\n id: \"pubslayer\"\n }, modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React.createElement(ui__WEBPACK_IMPORTED_MODULE_2__[\"PublicServers\"].Menu, {\n rootId: \"pubslayerroot\"\n }));\n }\n\n get root() {\n const _root = document.getElementById(\"pubslayerroot\");\n\n if (!_root) {\n if (!this.injectRoot()) return null;\n return this.root;\n }\n\n return _root;\n }\n\n injectRoot() {\n if (!$(\".layers, .layers-3iHuyZ\").length) return false;\n $(\".layers, .layers-3iHuyZ\").append($(\"<div/>\", {\n id: \"pubslayerroot\"\n }));\n return true;\n }\n\n render() {\n const root = this.root;\n\n if (!root) {\n this.error(\"FAILED TO LOCATE ROOT: .layers\");\n return;\n }\n\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ReactDOM.render(this.component, root);\n }\n\n get button() {\n const btn = $(\"<div/>\", {\n \"class\": modules__WEBPACK_IMPORTED_MODULE_1__[\"BDV2\"].guildClasses.listItem,\n \"id\": \"bd-pub-li\"\n }).append($(\"<div/>\", {\n \"class\": \"wrapper-25eVIn \" + modules__WEBPACK_IMPORTED_MODULE_1__[\"BDV2\"].guildClasses.circleButtonMask,\n \"text\": \"public\",\n \"id\": \"bd-pub-button\",\n \"click\": () => {\n this.render();\n }\n }));\n return btn;\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3B1YmxpY3NlcnZlcnMuanM/MWY2NSJdLCJuYW1lcyI6WyJQdWJsaWNTZXJ2ZXJzIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiZW5hYmxlZCIsIndyYXBwZXIiLCJCRFYyIiwiZ3VpbGRDbGFzc2VzIiwic3BsaXQiLCJndWlsZHMiLCIkIiwiYWZ0ZXIiLCJidXR0b24iLCJkaXNhYmxlZCIsInJlbW92ZSIsImNvbXBvbmVudCIsIkRpc2NvcmRNb2R1bGVzIiwiUmVhY3QiLCJjcmVhdGVFbGVtZW50IiwiUFNDb21wb25lbnRzIiwiTGF5ZXIiLCJyb290SWQiLCJNZW51Iiwicm9vdCIsIl9yb290IiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImluamVjdFJvb3QiLCJsZW5ndGgiLCJhcHBlbmQiLCJyZW5kZXIiLCJlcnJvciIsIlJlYWN0RE9NIiwiYnRuIiwibGlzdEl0ZW0iLCJjaXJjbGVCdXR0b25NYXNrIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVlLG1FQUFJLE1BQU1BLGFBQU4sU0FBNEJDLHdEQUE1QixDQUFvQztBQUNuRCxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLGVBQVA7QUFBd0I7O0FBQ3BDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxlQUFQO0FBQXdCOztBQUVsQ0MsU0FBTyxHQUFHO0FBQ04sVUFBTUMsT0FBTyxHQUFHQyw0Q0FBSSxDQUFDQyxZQUFMLENBQWtCRixPQUFsQixDQUEwQkcsS0FBMUIsQ0FBZ0MsR0FBaEMsRUFBcUMsQ0FBckMsQ0FBaEI7QUFDQSxVQUFNQyxNQUFNLEdBQUdDLENBQUMsQ0FBRSxJQUFHTCxPQUFRLGlDQUFiLENBQWhCO0FBQ0FJLFVBQU0sQ0FBQ0UsS0FBUCxDQUFhLEtBQUtDLE1BQWxCO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQSCxLQUFDLENBQUMsWUFBRCxDQUFELENBQWdCSSxNQUFoQjtBQUNIOztBQUVELE1BQUlDLFNBQUosR0FBZ0I7QUFDWixXQUFPQyxzREFBYyxDQUFDQyxLQUFmLENBQXFCQyxhQUFyQixDQUFtQ0MsZ0RBQVksQ0FBQ0MsS0FBaEQsRUFBdUQ7QUFDMURDLFlBQU0sRUFBRSxlQURrRDtBQUUxRGxCLFFBQUUsRUFBRTtBQUZzRCxLQUF2RCxFQUdKYSxzREFBYyxDQUFDQyxLQUFmLENBQXFCQyxhQUFyQixDQUFtQ0MsZ0RBQVksQ0FBQ0csSUFBaEQsRUFBc0Q7QUFBQ0QsWUFBTSxFQUFFO0FBQVQsS0FBdEQsQ0FISSxDQUFQO0FBSUg7O0FBRUQsTUFBSUUsSUFBSixHQUFXO0FBQ1AsVUFBTUMsS0FBSyxHQUFHQyxRQUFRLENBQUNDLGNBQVQsQ0FBd0IsZUFBeEIsQ0FBZDs7QUFDQSxRQUFJLENBQUNGLEtBQUwsRUFBWTtBQUNSLFVBQUksQ0FBQyxLQUFLRyxVQUFMLEVBQUwsRUFBd0IsT0FBTyxJQUFQO0FBQ3hCLGFBQU8sS0FBS0osSUFBWjtBQUNIOztBQUNELFdBQU9DLEtBQVA7QUFDSDs7QUFFREcsWUFBVSxHQUFHO0FBQ1QsUUFBSSxDQUFDakIsQ0FBQyxDQUFDLHlCQUFELENBQUQsQ0FBNkJrQixNQUFsQyxFQUEwQyxPQUFPLEtBQVA7QUFDMUNsQixLQUFDLENBQUMseUJBQUQsQ0FBRCxDQUE2Qm1CLE1BQTdCLENBQW9DbkIsQ0FBQyxDQUFDLFFBQUQsRUFBVztBQUM1Q1AsUUFBRSxFQUFFO0FBRHdDLEtBQVgsQ0FBckM7QUFHQSxXQUFPLElBQVA7QUFDSDs7QUFFRDJCLFFBQU0sR0FBRztBQUNMLFVBQU1QLElBQUksR0FBRyxLQUFLQSxJQUFsQjs7QUFDQSxRQUFJLENBQUNBLElBQUwsRUFBVztBQUNQLFdBQUtRLEtBQUwsQ0FBVyxnQ0FBWDtBQUNBO0FBQ0g7O0FBQ0RmLDBEQUFjLENBQUNnQixRQUFmLENBQXdCRixNQUF4QixDQUErQixLQUFLZixTQUFwQyxFQUErQ1EsSUFBL0M7QUFDSDs7QUFFRCxNQUFJWCxNQUFKLEdBQWE7QUFDVCxVQUFNcUIsR0FBRyxHQUFHdkIsQ0FBQyxDQUFDLFFBQUQsRUFBVztBQUNwQixlQUFTSiw0Q0FBSSxDQUFDQyxZQUFMLENBQWtCMkIsUUFEUDtBQUVwQixZQUFNO0FBRmMsS0FBWCxDQUFELENBR1RMLE1BSFMsQ0FHRm5CLENBQUMsQ0FBQyxRQUFELEVBQVc7QUFDbEIsZUFBUyxvQkFBb0JKLDRDQUFJLENBQUNDLFlBQUwsQ0FBa0I0QixnQkFEN0I7QUFFbEIsY0FBUSxRQUZVO0FBR2xCLFlBQU0sZUFIWTtBQUlsQixlQUFTLE1BQU07QUFBRSxhQUFLTCxNQUFMO0FBQWdCO0FBSmYsS0FBWCxDQUhDLENBQVo7QUFVQSxXQUFPRyxHQUFQO0FBQ0g7O0FBNURrRCxDQUF4QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL3B1YmxpY3NlcnZlcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQnVpbHRpbiBmcm9tIFwiLi4vc3RydWN0cy9idWlsdGluXCI7XHJcbmltcG9ydCB7QkRWMiwgRGlzY29yZE1vZHVsZXN9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCB7UHVibGljU2VydmVycyBhcyBQU0NvbXBvbmVudHN9IGZyb20gXCJ1aVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFB1YmxpY1NlcnZlcnMgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIlB1YmxpY1NlcnZlcnNcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJwdWJsaWNTZXJ2ZXJzXCI7fVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgY29uc3Qgd3JhcHBlciA9IEJEVjIuZ3VpbGRDbGFzc2VzLndyYXBwZXIuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgIGNvbnN0IGd1aWxkcyA9ICQoYC4ke3dyYXBwZXJ9IC5zY3JvbGxlci0yRktGUEcgPjpmaXJzdC1jaGlsZGApO1xyXG4gICAgICAgIGd1aWxkcy5hZnRlcih0aGlzLmJ1dHRvbik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcIiNiZC1wdWItbGlcIikucmVtb3ZlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbXBvbmVudCgpIHtcclxuICAgICAgICByZXR1cm4gRGlzY29yZE1vZHVsZXMuUmVhY3QuY3JlYXRlRWxlbWVudChQU0NvbXBvbmVudHMuTGF5ZXIsIHtcclxuICAgICAgICAgICAgcm9vdElkOiBcInB1YnNsYXllcnJvb3RcIixcclxuICAgICAgICAgICAgaWQ6IFwicHVic2xheWVyXCJcclxuICAgICAgICB9LCBEaXNjb3JkTW9kdWxlcy5SZWFjdC5jcmVhdGVFbGVtZW50KFBTQ29tcG9uZW50cy5NZW51LCB7cm9vdElkOiBcInB1YnNsYXllcnJvb3RcIn0pKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcm9vdCgpIHtcclxuICAgICAgICBjb25zdCBfcm9vdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicHVic2xheWVycm9vdFwiKTtcclxuICAgICAgICBpZiAoIV9yb290KSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pbmplY3RSb290KCkpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb290O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gX3Jvb3Q7XHJcbiAgICB9XHJcblxyXG4gICAgaW5qZWN0Um9vdCgpIHtcclxuICAgICAgICBpZiAoISQoXCIubGF5ZXJzLCAubGF5ZXJzLTNpSHV5WlwiKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAkKFwiLmxheWVycywgLmxheWVycy0zaUh1eVpcIikuYXBwZW5kKCQoXCI8ZGl2Lz5cIiwge1xyXG4gICAgICAgICAgICBpZDogXCJwdWJzbGF5ZXJyb290XCJcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLnJvb3Q7XHJcbiAgICAgICAgaWYgKCFyb290KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3IoXCJGQUlMRUQgVE8gTE9DQVRFIFJPT1Q6IC5sYXllcnNcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgRGlzY29yZE1vZHVsZXMuUmVhY3RET00ucmVuZGVyKHRoaXMuY29tcG9uZW50LCByb290KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYnV0dG9uKCkge1xyXG4gICAgICAgIGNvbnN0IGJ0biA9ICQoXCI8ZGl2Lz5cIiwge1xyXG4gICAgICAgICAgICBcImNsYXNzXCI6IEJEVjIuZ3VpbGRDbGFzc2VzLmxpc3RJdGVtLFxyXG4gICAgICAgICAgICBcImlkXCI6IFwiYmQtcHViLWxpXCJcclxuICAgICAgICB9KS5hcHBlbmQoJChcIjxkaXYvPlwiLCB7XHJcbiAgICAgICAgICAgIFwiY2xhc3NcIjogXCJ3cmFwcGVyLTI1ZVZJbiBcIiArIEJEVjIuZ3VpbGRDbGFzc2VzLmNpcmNsZUJ1dHRvbk1hc2ssXHJcbiAgICAgICAgICAgIFwidGV4dFwiOiBcInB1YmxpY1wiLFxyXG4gICAgICAgICAgICBcImlkXCI6IFwiYmQtcHViLWJ1dHRvblwiLFxyXG4gICAgICAgICAgICBcImNsaWNrXCI6ICgpID0+IHsgdGhpcy5yZW5kZXIoKTsgfVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGJ0bjtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/publicservers.js\n");
/***/ }),
/***/ "./src/builtins/voicedisconnect.js":
/*!*****************************************!*\
!*** ./src/builtins/voicedisconnect.js ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DarkMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"VoiceDisconnect\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"voiceDisconnect\";\n }\n\n constructor() {\n super();\n this.beforeUnload = this.beforeUnload.bind(this);\n }\n\n enabled() {\n window.addEventListener(\"beforeunload\", this.beforeUnload);\n }\n\n disabled() {\n window.removeEventListener(\"beforeunload\", this.beforeUnload);\n }\n\n beforeUnload() {\n modules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ChannelActions.selectVoiceChannel(null, null);\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3ZvaWNlZGlzY29ubmVjdC5qcz8yYmVmIl0sIm5hbWVzIjpbIkRhcmtNb2RlIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiY29uc3RydWN0b3IiLCJiZWZvcmVVbmxvYWQiLCJiaW5kIiwiZW5hYmxlZCIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJkaXNhYmxlZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJEaXNjb3JkTW9kdWxlcyIsIkNoYW5uZWxBY3Rpb25zIiwic2VsZWN0Vm9pY2VDaGFubmVsIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRWUsbUVBQUksTUFBTUEsUUFBTixTQUF1QkMsd0RBQXZCLENBQStCO0FBQzlDLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8saUJBQVA7QUFBMEI7O0FBQ3RDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxpQkFBUDtBQUEwQjs7QUFFcENDLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0MsWUFBTCxHQUFvQixLQUFLQSxZQUFMLENBQWtCQyxJQUFsQixDQUF1QixJQUF2QixDQUFwQjtBQUNIOztBQUVEQyxTQUFPLEdBQUc7QUFDTkMsVUFBTSxDQUFDQyxnQkFBUCxDQUF3QixjQUF4QixFQUF3QyxLQUFLSixZQUE3QztBQUNIOztBQUVESyxVQUFRLEdBQUc7QUFDUEYsVUFBTSxDQUFDRyxtQkFBUCxDQUEyQixjQUEzQixFQUEyQyxLQUFLTixZQUFoRDtBQUNIOztBQUVEQSxjQUFZLEdBQUc7QUFDWE8sMERBQWMsQ0FBQ0MsY0FBZixDQUE4QkMsa0JBQTlCLENBQWlELElBQWpELEVBQXVELElBQXZEO0FBQ0g7O0FBcEI2QyxDQUFuQyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL3ZvaWNlZGlzY29ubmVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuaW1wb3J0IHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEYXJrTW9kZSBleHRlbmRzIEJ1aWx0aW4ge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiVm9pY2VEaXNjb25uZWN0XCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcImdlbmVyYWxcIjt9XHJcbiAgICBnZXQgaWQoKSB7cmV0dXJuIFwidm9pY2VEaXNjb25uZWN0XCI7fVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgdGhpcy5iZWZvcmVVbmxvYWQgPSB0aGlzLmJlZm9yZVVubG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJiZWZvcmV1bmxvYWRcIiwgdGhpcy5iZWZvcmVVbmxvYWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiYmVmb3JldW5sb2FkXCIsIHRoaXMuYmVmb3JlVW5sb2FkKTtcclxuICAgIH1cclxuXHJcbiAgICBiZWZvcmVVbmxvYWQoKSB7XHJcbiAgICAgICAgRGlzY29yZE1vZHVsZXMuQ2hhbm5lbEFjdGlvbnMuc2VsZWN0Vm9pY2VDaGFubmVsKG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/builtins/voicedisconnect.js\n");
/***/ }),
/***/ "./src/builtins/voicemode.js":
/*!***********************************!*\
!*** ./src/builtins/voicemode.js ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class VoiceMode extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"VoiceMode\";\n }\n\n get category() {\n return \"appearance\";\n }\n\n get id() {\n return \"voiceMode\";\n }\n\n enabled() {\n $(\".scroller.guild-channels ul\").first().css(\"display\", \"none\");\n $(\".scroller.guild-channels header\").first().css(\"display\", \"none\");\n $(\".app.flex-vertical, .app-2rEoOp\").first().css(\"overflow\", \"hidden\");\n $(\".chat-3bRxxu\").first().css(\"visibility\", \"hidden\").css(\"min-width\", \"0px\");\n $(\".flex-vertical.channels-wrap\").first().css(\"flex-grow\", \"100000\");\n $(\".guild-header .btn.btn-hamburger\").first().css(\"visibility\", \"hidden\");\n }\n\n disabled() {\n $(\".scroller.guild-channels ul\").first().css(\"display\", \"\");\n $(\".scroller.guild-channels header\").first().css(\"display\", \"\");\n $(\".app.flex-vertical, .app-2rEoOp\").first().css(\"overflow\", \"\");\n $(\".chat-3bRxxu\").first().css(\"visibility\", \"\").css(\"min-width\", \"\");\n $(\".flex-vertical.channels-wrap\").first().css(\"flex-grow\", \"\");\n $(\".guild-header .btn.btn-hamburger\").first().css(\"visibility\", \"\");\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3ZvaWNlbW9kZS5qcz80M2E3Il0sIm5hbWVzIjpbIlZvaWNlTW9kZSIsIkJ1aWx0aW4iLCJuYW1lIiwiY2F0ZWdvcnkiLCJpZCIsImVuYWJsZWQiLCIkIiwiZmlyc3QiLCJjc3MiLCJkaXNhYmxlZCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBRWUsbUVBQUksTUFBTUEsU0FBTixTQUF3QkMsd0RBQXhCLENBQWdDO0FBQy9DLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sV0FBUDtBQUFvQjs7QUFDaEMsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUNyQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLFdBQVA7QUFBb0I7O0FBRTlCQyxTQUFPLEdBQUc7QUFDTkMsS0FBQyxDQUFDLDZCQUFELENBQUQsQ0FBaUNDLEtBQWpDLEdBQXlDQyxHQUF6QyxDQUE2QyxTQUE3QyxFQUF3RCxNQUF4RDtBQUNBRixLQUFDLENBQUMsaUNBQUQsQ0FBRCxDQUFxQ0MsS0FBckMsR0FBNkNDLEdBQTdDLENBQWlELFNBQWpELEVBQTRELE1BQTVEO0FBQ0FGLEtBQUMsQ0FBQyxpQ0FBRCxDQUFELENBQXFDQyxLQUFyQyxHQUE2Q0MsR0FBN0MsQ0FBaUQsVUFBakQsRUFBNkQsUUFBN0Q7QUFDQUYsS0FBQyxDQUFDLGNBQUQsQ0FBRCxDQUFrQkMsS0FBbEIsR0FBMEJDLEdBQTFCLENBQThCLFlBQTlCLEVBQTRDLFFBQTVDLEVBQXNEQSxHQUF0RCxDQUEwRCxXQUExRCxFQUF1RSxLQUF2RTtBQUNBRixLQUFDLENBQUMsOEJBQUQsQ0FBRCxDQUFrQ0MsS0FBbEMsR0FBMENDLEdBQTFDLENBQThDLFdBQTlDLEVBQTJELFFBQTNEO0FBQ0FGLEtBQUMsQ0FBQyxrQ0FBRCxDQUFELENBQXNDQyxLQUF0QyxHQUE4Q0MsR0FBOUMsQ0FBa0QsWUFBbEQsRUFBZ0UsUUFBaEU7QUFDSDs7QUFFREMsVUFBUSxHQUFHO0FBQ1BILEtBQUMsQ0FBQyw2QkFBRCxDQUFELENBQWlDQyxLQUFqQyxHQUF5Q0MsR0FBekMsQ0FBNkMsU0FBN0MsRUFBd0QsRUFBeEQ7QUFDQUYsS0FBQyxDQUFDLGlDQUFELENBQUQsQ0FBcUNDLEtBQXJDLEdBQTZDQyxHQUE3QyxDQUFpRCxTQUFqRCxFQUE0RCxFQUE1RDtBQUNBRixLQUFDLENBQUMsaUNBQUQsQ0FBRCxDQUFxQ0MsS0FBckMsR0FBNkNDLEdBQTdDLENBQWlELFVBQWpELEVBQTZELEVBQTdEO0FBQ0FGLEtBQUMsQ0FBQyxjQUFELENBQUQsQ0FBa0JDLEtBQWxCLEdBQTBCQyxHQUExQixDQUE4QixZQUE5QixFQUE0QyxFQUE1QyxFQUFnREEsR0FBaEQsQ0FBb0QsV0FBcEQsRUFBaUUsRUFBakU7QUFDQUYsS0FBQyxDQUFDLDhCQUFELENBQUQsQ0FBa0NDLEtBQWxDLEdBQTBDQyxHQUExQyxDQUE4QyxXQUE5QyxFQUEyRCxFQUEzRDtBQUNBRixLQUFDLENBQUMsa0NBQUQsQ0FBRCxDQUFzQ0MsS0FBdEMsR0FBOENDLEdBQTlDLENBQWtELFlBQWxELEVBQWdFLEVBQWhFO0FBQ0g7O0FBckI4QyxDQUFwQyxFQUFmIiwiZmlsZSI6Ii4vc3JjL2J1aWx0aW5zL3ZvaWNlbW9kZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBWb2ljZU1vZGUgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIlZvaWNlTW9kZVwiO31cclxuICAgIGdldCBjYXRlZ29yeSgpIHtyZXR1cm4gXCJhcHBlYXJhbmNlXCI7fVxyXG4gICAgZ2V0IGlkKCkge3JldHVybiBcInZvaWNlTW9kZVwiO31cclxuXHJcbiAgICBlbmFibGVkKCkge1xyXG4gICAgICAgICQoXCIuc2Nyb2xsZXIuZ3VpbGQtY2hhbm5lbHMgdWxcIikuZmlyc3QoKS5jc3MoXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcclxuICAgICAgICAkKFwiLnNjcm9sbGVyLmd1aWxkLWNoYW5uZWxzIGhlYWRlclwiKS5maXJzdCgpLmNzcyhcImRpc3BsYXlcIiwgXCJub25lXCIpO1xyXG4gICAgICAgICQoXCIuYXBwLmZsZXgtdmVydGljYWwsIC5hcHAtMnJFb09wXCIpLmZpcnN0KCkuY3NzKFwib3ZlcmZsb3dcIiwgXCJoaWRkZW5cIik7XHJcbiAgICAgICAgJChcIi5jaGF0LTNiUnh4dVwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJoaWRkZW5cIikuY3NzKFwibWluLXdpZHRoXCIsIFwiMHB4XCIpO1xyXG4gICAgICAgICQoXCIuZmxleC12ZXJ0aWNhbC5jaGFubmVscy13cmFwXCIpLmZpcnN0KCkuY3NzKFwiZmxleC1ncm93XCIsIFwiMTAwMDAwXCIpO1xyXG4gICAgICAgICQoXCIuZ3VpbGQtaGVhZGVyIC5idG4uYnRuLWhhbWJ1cmdlclwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJoaWRkZW5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZWQoKSB7XHJcbiAgICAgICAgJChcIi5zY3JvbGxlci5ndWlsZC1jaGFubmVscyB1bFwiKS5maXJzdCgpLmNzcyhcImRpc3BsYXlcIiwgXCJcIik7XHJcbiAgICAgICAgJChcIi5zY3JvbGxlci5ndWlsZC1jaGFubmVscyBoZWFkZXJcIikuZmlyc3QoKS5jc3MoXCJkaXNwbGF5XCIsIFwiXCIpO1xyXG4gICAgICAgICQoXCIuYXBwLmZsZXgtdmVydGljYWwsIC5hcHAtMnJFb09wXCIpLmZpcnN0KCkuY3NzKFwib3ZlcmZsb3dcIiwgXCJcIik7XHJcbiAgICAgICAgJChcIi5jaGF0LTNiUnh4dVwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJcIikuY3NzKFwibWluLXdpZHRoXCIsIFwiXCIpO1xyXG4gICAgICAgICQoXCIuZmxleC12ZXJ0aWNhbC5jaGFubmVscy13cmFwXCIpLmZpcnN0KCkuY3NzKFwiZmxleC1ncm93XCIsIFwiXCIpO1xyXG4gICAgICAgICQoXCIuZ3VpbGQtaGVhZGVyIC5idG4uYnRuLWhhbWJ1cmdlclwiKS5maXJzdCgpLmNzcyhcInZpc2liaWxpdHlcIiwgXCJcIik7XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/builtins/voicemode.js\n");
/***/ }),
/***/ "./src/builtins/windowprefs.js":
/*!*************************************!*\
!*** ./src/builtins/windowprefs.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _structs_builtin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../structs/builtin */ \"./src/structs/builtin.js\");\n\n\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class WindowPrefs extends _structs_builtin__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n get name() {\n return \"WindowPrefs\";\n }\n\n get category() {\n return \"window\";\n }\n\n get id() {\n return \"transparency\";\n }\n\n get WindowConfigFile() {\n if (this._windowConfigFile) return this._windowConfigFile;\n\n const electron = __webpack_require__(/*! electron */ \"electron\").remote.app;\n\n const base = electron.getAppPath();\n const roamingBase = electron.getPath(\"userData\");\n const roamingLocation = path.resolve(roamingBase, electron.getVersion(), \"modules\", \"discord_desktop_core\", \"injector\", \"config.json\");\n const location = path.resolve(base, \"..\", \"app\", \"config.json\");\n const realLocation = fs.existsSync(location) ? location : fs.existsSync(roamingLocation) ? roamingLocation : null;\n if (!realLocation) return this._windowConfigFile = null;\n return this._windowConfigFile = realLocation;\n }\n\n enabled() {\n this.setWindowPreference(\"transparent\", true);\n this.setWindowPreference(\"backgroundColor\", null);\n }\n\n disabled() {\n this.setWindowPreference(\"transparent\", false);\n this.setWindowPreference(\"backgroundColor\", \"#2f3136\");\n }\n\n getAllWindowPreferences() {\n if (!this.WindowConfigFile) return {};\n return require(this.WindowConfigFile);\n }\n\n getWindowPreference(key) {\n if (!this.WindowConfigFile) return undefined;\n return this.getAllWindowPreferences()[key];\n }\n\n setWindowPreference(key, value) {\n if (!this.WindowConfigFile) return;\n const prefs = this.getAllWindowPreferences();\n prefs[key] = value;\n delete __webpack_require__.c[this.WindowConfigFile];\n fs.writeFileSync(this.WindowConfigFile, JSON.stringify(prefs, null, 4));\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2J1aWx0aW5zL3dpbmRvd3ByZWZzLmpzP2I0YTciXSwibmFtZXMiOlsiZnMiLCJyZXF1aXJlIiwicGF0aCIsIldpbmRvd1ByZWZzIiwiQnVpbHRpbiIsIm5hbWUiLCJjYXRlZ29yeSIsImlkIiwiV2luZG93Q29uZmlnRmlsZSIsIl93aW5kb3dDb25maWdGaWxlIiwiZWxlY3Ryb24iLCJyZW1vdGUiLCJhcHAiLCJiYXNlIiwiZ2V0QXBwUGF0aCIsInJvYW1pbmdCYXNlIiwiZ2V0UGF0aCIsInJvYW1pbmdMb2NhdGlvbiIsInJlc29sdmUiLCJnZXRWZXJzaW9uIiwibG9jYXRpb24iLCJyZWFsTG9jYXRpb24iLCJleGlzdHNTeW5jIiwiZW5hYmxlZCIsInNldFdpbmRvd1ByZWZlcmVuY2UiLCJkaXNhYmxlZCIsImdldEFsbFdpbmRvd1ByZWZlcmVuY2VzIiwiX19ub25fd2VicGFja19yZXF1aXJlX18iLCJnZXRXaW5kb3dQcmVmZXJlbmNlIiwia2V5IiwidW5kZWZpbmVkIiwidmFsdWUiLCJwcmVmcyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7O0FBRUEsTUFBTUEsRUFBRSxHQUFHQyxtQkFBTyxDQUFDLGNBQUQsQ0FBbEI7O0FBQ0EsTUFBTUMsSUFBSSxHQUFHRCxtQkFBTyxDQUFDLGtCQUFELENBQXBCOztBQUVlLG1FQUFJLE1BQU1FLFdBQU4sU0FBMEJDLHdEQUExQixDQUFrQztBQUNqRCxNQUFJQyxJQUFKLEdBQVc7QUFBQyxXQUFPLGFBQVA7QUFBc0I7O0FBQ2xDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFDakMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxjQUFQO0FBQXVCOztBQUVqQyxNQUFJQyxnQkFBSixHQUF1QjtBQUNuQixRQUFJLEtBQUtDLGlCQUFULEVBQTRCLE9BQU8sS0FBS0EsaUJBQVo7O0FBQzVCLFVBQU1DLFFBQVEsR0FBR1QsbUJBQU8sQ0FBQywwQkFBRCxDQUFQLENBQW9CVSxNQUFwQixDQUEyQkMsR0FBNUM7O0FBQ0EsVUFBTUMsSUFBSSxHQUFHSCxRQUFRLENBQUNJLFVBQVQsRUFBYjtBQUNBLFVBQU1DLFdBQVcsR0FBR0wsUUFBUSxDQUFDTSxPQUFULENBQWlCLFVBQWpCLENBQXBCO0FBQ0EsVUFBTUMsZUFBZSxHQUFHZixJQUFJLENBQUNnQixPQUFMLENBQWFILFdBQWIsRUFBMEJMLFFBQVEsQ0FBQ1MsVUFBVCxFQUExQixFQUFpRCxTQUFqRCxFQUE0RCxzQkFBNUQsRUFBb0YsVUFBcEYsRUFBZ0csYUFBaEcsQ0FBeEI7QUFDQSxVQUFNQyxRQUFRLEdBQUdsQixJQUFJLENBQUNnQixPQUFMLENBQWFMLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsS0FBekIsRUFBZ0MsYUFBaEMsQ0FBakI7QUFDQSxVQUFNUSxZQUFZLEdBQUdyQixFQUFFLENBQUNzQixVQUFILENBQWNGLFFBQWQsSUFBMEJBLFFBQTFCLEdBQXFDcEIsRUFBRSxDQUFDc0IsVUFBSCxDQUFjTCxlQUFkLElBQWlDQSxlQUFqQyxHQUFtRCxJQUE3RztBQUNBLFFBQUksQ0FBQ0ksWUFBTCxFQUFtQixPQUFPLEtBQUtaLGlCQUFMLEdBQXlCLElBQWhDO0FBQ25CLFdBQU8sS0FBS0EsaUJBQUwsR0FBeUJZLFlBQWhDO0FBQ0g7O0FBRURFLFNBQU8sR0FBRztBQUNOLFNBQUtDLG1CQUFMLENBQXlCLGFBQXpCLEVBQXdDLElBQXhDO0FBQ0EsU0FBS0EsbUJBQUwsQ0FBeUIsaUJBQXpCLEVBQTRDLElBQTVDO0FBQ0g7O0FBRURDLFVBQVEsR0FBRztBQUNQLFNBQUtELG1CQUFMLENBQXlCLGFBQXpCLEVBQXdDLEtBQXhDO0FBQ0EsU0FBS0EsbUJBQUwsQ0FBeUIsaUJBQXpCLEVBQTRDLFNBQTVDO0FBQ0g7O0FBRURFLHlCQUF1QixHQUFHO0FBQ3RCLFFBQUksQ0FBQyxLQUFLbEIsZ0JBQVYsRUFBNEIsT0FBTyxFQUFQO0FBQzVCLFdBQU9tQixPQUF1QixDQUFDLEtBQUtuQixnQkFBTixDQUE5QjtBQUNIOztBQUVEb0IscUJBQW1CLENBQUNDLEdBQUQsRUFBTTtBQUNyQixRQUFJLENBQUMsS0FBS3JCLGdCQUFWLEVBQTRCLE9BQU9zQixTQUFQO0FBQzVCLFdBQU8sS0FBS0osdUJBQUwsR0FBK0JHLEdBQS9CLENBQVA7QUFDSDs7QUFFREwscUJBQW1CLENBQUNLLEdBQUQsRUFBTUUsS0FBTixFQUFhO0FBQzVCLFFBQUksQ0FBQyxLQUFLdkIsZ0JBQVYsRUFBNEI7QUFDNUIsVUFBTXdCLEtBQUssR0FBRyxLQUFLTix1QkFBTCxFQUFkO0FBQ0FNLFNBQUssQ0FBQ0gsR0FBRCxDQUFMLEdBQWFFLEtBQWI7QUFDQSxXQUFPOUIscUJBQUEsQ0FBYyxLQUFLTyxnQkFBbkIsQ0FBUDtBQUNBUixNQUFFLENBQUNpQyxhQUFILENBQWlCLEtBQUt6QixnQkFBdEIsRUFBd0MwQixJQUFJLENBQUNDLFNBQUwsQ0FBZUgsS0FBZixFQUFzQixJQUF0QixFQUE0QixDQUE1QixDQUF4QztBQUNIOztBQTNDZ0QsQ0FBdEMsRUFBZiIsImZpbGUiOiIuL3NyYy9idWlsdGlucy93aW5kb3dwcmVmcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdWlsdGluIGZyb20gXCIuLi9zdHJ1Y3RzL2J1aWx0aW5cIjtcclxuXHJcbmNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xyXG5jb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBuZXcgY2xhc3MgV2luZG93UHJlZnMgZXh0ZW5kcyBCdWlsdGluIHtcclxuICAgIGdldCBuYW1lKCkge3JldHVybiBcIldpbmRvd1ByZWZzXCI7fVxyXG4gICAgZ2V0IGNhdGVnb3J5KCkge3JldHVybiBcIndpbmRvd1wiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJ0cmFuc3BhcmVuY3lcIjt9XHJcblxyXG4gICAgZ2V0IFdpbmRvd0NvbmZpZ0ZpbGUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3dpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybiB0aGlzLl93aW5kb3dDb25maWdGaWxlO1xyXG4gICAgICAgIGNvbnN0IGVsZWN0cm9uID0gcmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZS5hcHA7XHJcbiAgICAgICAgY29uc3QgYmFzZSA9IGVsZWN0cm9uLmdldEFwcFBhdGgoKTtcclxuICAgICAgICBjb25zdCByb2FtaW5nQmFzZSA9IGVsZWN0cm9uLmdldFBhdGgoXCJ1c2VyRGF0YVwiKTtcclxuICAgICAgICBjb25zdCByb2FtaW5nTG9jYXRpb24gPSBwYXRoLnJlc29sdmUocm9hbWluZ0Jhc2UsIGVsZWN0cm9uLmdldFZlcnNpb24oKSwgXCJtb2R1bGVzXCIsIFwiZGlzY29yZF9kZXNrdG9wX2NvcmVcIiwgXCJpbmplY3RvclwiLCBcImNvbmZpZy5qc29uXCIpO1xyXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gcGF0aC5yZXNvbHZlKGJhc2UsIFwiLi5cIiwgXCJhcHBcIiwgXCJjb25maWcuanNvblwiKTtcclxuICAgICAgICBjb25zdCByZWFsTG9jYXRpb24gPSBmcy5leGlzdHNTeW5jKGxvY2F0aW9uKSA/IGxvY2F0aW9uIDogZnMuZXhpc3RzU3luYyhyb2FtaW5nTG9jYXRpb24pID8gcm9hbWluZ0xvY2F0aW9uIDogbnVsbDtcclxuICAgICAgICBpZiAoIXJlYWxMb2NhdGlvbikgcmV0dXJuIHRoaXMuX3dpbmRvd0NvbmZpZ0ZpbGUgPSBudWxsO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl93aW5kb3dDb25maWdGaWxlID0gcmVhbExvY2F0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZWQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRXaW5kb3dQcmVmZXJlbmNlKFwidHJhbnNwYXJlbnRcIiwgdHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRXaW5kb3dQcmVmZXJlbmNlKFwiYmFja2dyb3VuZENvbG9yXCIsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2FibGVkKCkge1xyXG4gICAgICAgIHRoaXMuc2V0V2luZG93UHJlZmVyZW5jZShcInRyYW5zcGFyZW50XCIsIGZhbHNlKTtcclxuICAgICAgICB0aGlzLnNldFdpbmRvd1ByZWZlcmVuY2UoXCJiYWNrZ3JvdW5kQ29sb3JcIiwgXCIjMmYzMTM2XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFsbFdpbmRvd1ByZWZlcmVuY2VzKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5XaW5kb3dDb25maWdGaWxlKSByZXR1cm4ge307XHJcbiAgICAgICAgcmV0dXJuIF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHRoaXMuV2luZG93Q29uZmlnRmlsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0V2luZG93UHJlZmVyZW5jZShrZXkpIHtcclxuICAgICAgICBpZiAoIXRoaXMuV2luZG93Q29uZmlnRmlsZSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxXaW5kb3dQcmVmZXJlbmNlcygpW2tleV07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0V2luZG93UHJlZmVyZW5jZShrZXksIHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLldpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybjtcclxuICAgICAgICBjb25zdCBwcmVmcyA9IHRoaXMuZ2V0QWxsV2luZG93UHJlZmVyZW5jZXMoKTtcclxuICAgICAgICBwcmVmc1trZXldID0gdmFsdWU7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVpcmUuY2FjaGVbdGhpcy5XaW5kb3dDb25maWdGaWxlXTtcclxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMuV2luZG93Q29uZmlnRmlsZSwgSlNPTi5zdHJpbmdpZnkocHJlZnMsIG51bGwsIDQpKTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/builtins/windowprefs.js\n");
/***/ }),
/***/ "./src/data/config.js":
/*!****************************!*\
!*** ./src/data/config.js ***!
\****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n local: false,\n localServer: \"//localhost:8080\",\n minified: true,\n version: \"0.3.0\",\n branch: \"master\",\n repo: \"rauenzi\",\n minSupportedVersion: \"0.3.0\",\n bbdVersion: \"0.2.17\"\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvY29uZmlnLmpzPzRiYWEiXSwibmFtZXMiOlsibG9jYWwiLCJsb2NhbFNlcnZlciIsIm1pbmlmaWVkIiwidmVyc2lvbiIsImJyYW5jaCIsInJlcG8iLCJtaW5TdXBwb3J0ZWRWZXJzaW9uIiwiYmJkVmVyc2lvbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBZTtBQUNYQSxPQUFLLEVBQUUsS0FESTtBQUVYQyxhQUFXLEVBQUUsa0JBRkY7QUFHWEMsVUFBUSxFQUFFLElBSEM7QUFJWEMsU0FBTyxFQUFFLE9BSkU7QUFLWEMsUUFBTSxFQUFFLFFBTEc7QUFNWEMsTUFBSSxFQUFFLFNBTks7QUFPWEMscUJBQW1CLEVBQUUsT0FQVjtBQVFYQyxZQUFVLEVBQUU7QUFSRCxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvY29uZmlnLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgbG9jYWw6IGZhbHNlLFxyXG4gICAgbG9jYWxTZXJ2ZXI6IFwiLy9sb2NhbGhvc3Q6ODA4MFwiLFxyXG4gICAgbWluaWZpZWQ6IHRydWUsXHJcbiAgICB2ZXJzaW9uOiBcIjAuMy4wXCIsXHJcbiAgICBicmFuY2g6IFwibWFzdGVyXCIsXHJcbiAgICByZXBvOiBcInJhdWVuemlcIixcclxuICAgIG1pblN1cHBvcnRlZFZlcnNpb246IFwiMC4zLjBcIixcclxuICAgIGJiZFZlcnNpb246IFwiMC4yLjE3XCJcclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/config.js\n");
/***/ }),
/***/ "./src/data/data.js":
/*!**************************!*\
!*** ./src/data/data.js ***!
\**************************/
/*! exports provided: Config, EmoteInfo, EmoteConfig, SettingsConfig */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./config */ \"./src/data/config.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Config\", function() { return _config__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _emotes_info__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./emotes/info */ \"./src/data/emotes/info.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteInfo\", function() { return _emotes_info__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _emotes_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emotes/config */ \"./src/data/emotes/config.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EmoteConfig\", function() { return _emotes_config__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _settings_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./settings/config */ \"./src/data/settings/config.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingsConfig\", function() { return _settings_config__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvZGF0YS5qcz9kNWM3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9zcmMvZGF0YS9kYXRhLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcclxuaW1wb3J0IEVtb3RlSW5mbyBmcm9tIFwiLi9lbW90ZXMvaW5mb1wiO1xyXG5pbXBvcnQgRW1vdGVDb25maWcgZnJvbSBcIi4vZW1vdGVzL2NvbmZpZ1wiO1xyXG5pbXBvcnQgU2V0dGluZ3NDb25maWcgZnJvbSBcIi4vc2V0dGluZ3MvY29uZmlnXCI7XHJcblxyXG5leHBvcnQge0NvbmZpZywgRW1vdGVJbmZvLCBFbW90ZUNvbmZpZywgU2V0dGluZ3NDb25maWd9OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/data/data.js\n");
/***/ }),
/***/ "./src/data/emotes/config.js":
/*!***********************************!*\
!*** ./src/data/emotes/config.js ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ([{\n type: \"category\",\n id: \"general\",\n name: \"General\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"download\",\n name: \"Download Emotes\",\n note: \"Download emotes once a week to stay up to date\",\n value: true\n }, {\n type: \"switch\",\n id: \"emoteMenu\",\n name: \"Emote Menu\",\n note: \"Show Twitch/Favourite emotes in emote menu\",\n value: true\n }, {\n type: \"switch\",\n id: \"hideEmojiMenu\",\n name: \"Hide Emoji Menu\",\n note: \"Hides Discord's emoji menu when using emote menu\",\n value: false,\n enableWith: \"emoteMenu\"\n }, {\n type: \"switch\",\n id: \"autoCaps\",\n name: \"Emote Autocapitalization\",\n note: \"Autocapitalize emote commands\",\n value: false\n }, {\n type: \"switch\",\n id: \"showNames\",\n name: \"Show Names\",\n note: \"Show emote names on hover\",\n value: true\n }, {\n type: \"switch\",\n id: \"modifiers\",\n name: \"Show Emote Modifiers\",\n note: \"Enable emote mods (flip, spin, pulse, spin2, spin3, 1spin, 2spin, 3spin, tr, bl, br, shake, shake2, shake3, flap)\",\n value: true\n }, {\n type: \"switch\",\n id: \"animateOnHover\",\n name: \"Animate On Hover\",\n note: \"Only animate the emote modifiers on hover\",\n value: false\n }]\n}, {\n type: \"category\",\n id: \"categories\",\n name: \"Categories\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"twitch\",\n name: \"Twitch\",\n note: \"Show Twitch global & subscriber emotes\",\n value: true\n }, {\n type: \"switch\",\n id: \"ffz\",\n name: \"FrankerFaceZ\",\n note: \"Show emotes from FFZ\",\n value: true\n }, {\n type: \"switch\",\n id: \"bttv\",\n name: \"BetterTTV\",\n note: \"Show emotes from BTTV\",\n value: true\n }]\n}]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvZW1vdGVzL2NvbmZpZy5qcz8yZDVkIl0sIm5hbWVzIjpbInR5cGUiLCJpZCIsIm5hbWUiLCJjb2xsYXBzaWJsZSIsInNldHRpbmdzIiwibm90ZSIsInZhbHVlIiwiZW5hYmxlV2l0aCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBZSxnRUFDWDtBQUNJQSxNQUFJLEVBQUUsVUFEVjtBQUVJQyxJQUFFLEVBQUUsU0FGUjtBQUdJQyxNQUFJLEVBQUUsU0FIVjtBQUlJQyxhQUFXLEVBQUUsSUFKakI7QUFLSUMsVUFBUSxFQUFFLENBQ047QUFDSUosUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFVBRlI7QUFHSUMsUUFBSSxFQUFFLGlCQUhWO0FBSUlHLFFBQUksRUFBRSxnREFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQURNLEVBUU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFdBRlI7QUFHSUMsUUFBSSxFQUFFLFlBSFY7QUFJSUcsUUFBSSxFQUFFLDRDQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBUk0sRUFlTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsZUFGUjtBQUdJQyxRQUFJLEVBQUUsaUJBSFY7QUFJSUcsUUFBSSxFQUFFLGtEQUpWO0FBS0lDLFNBQUssRUFBRSxLQUxYO0FBTUlDLGNBQVUsRUFBRTtBQU5oQixHQWZNLEVBdUJOO0FBQ0lQLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxVQUZSO0FBR0lDLFFBQUksRUFBRSwwQkFIVjtBQUlJRyxRQUFJLEVBQUUsK0JBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0F2Qk0sRUE4Qk47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFdBRlI7QUFHSUMsUUFBSSxFQUFFLFlBSFY7QUFJSUcsUUFBSSxFQUFFLDJCQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBOUJNLEVBcUNOO0FBQ0lOLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxXQUZSO0FBR0lDLFFBQUksRUFBRSxzQkFIVjtBQUlJRyxRQUFJLEVBQUUsbUhBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FyQ00sRUE0Q047QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLGdCQUZSO0FBR0lDLFFBQUksRUFBRSxrQkFIVjtBQUlJRyxRQUFJLEVBQUUsMkNBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0E1Q007QUFMZCxDQURXLEVBMkRYO0FBQ0lOLE1BQUksRUFBRSxVQURWO0FBRUlDLElBQUUsRUFBRSxZQUZSO0FBR0lDLE1BQUksRUFBRSxZQUhWO0FBSUlDLGFBQVcsRUFBRSxJQUpqQjtBQUtJQyxVQUFRLEVBQUUsQ0FDTjtBQUNJSixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsUUFGUjtBQUdJQyxRQUFJLEVBQUUsUUFIVjtBQUlJRyxRQUFJLEVBQUUsd0NBSlY7QUFLSUMsU0FBSyxFQUFFO0FBTFgsR0FETSxFQVFOO0FBQ0lOLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxLQUZSO0FBR0lDLFFBQUksRUFBRSxjQUhWO0FBSUlHLFFBQUksRUFBRSxzQkFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQVJNLEVBZU47QUFDSU4sUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLE1BRlI7QUFHSUMsUUFBSSxFQUFFLFdBSFY7QUFJSUcsUUFBSSxFQUFFLHVCQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBZk07QUFMZCxDQTNEVyxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvZW1vdGVzL2NvbmZpZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFtcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiZ2VuZXJhbFwiLFxyXG4gICAgICAgIG5hbWU6IFwiR2VuZXJhbFwiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJkb3dubG9hZFwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJEb3dubG9hZCBFbW90ZXNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRG93bmxvYWQgZW1vdGVzIG9uY2UgYSB3ZWVrIHRvIHN0YXkgdXAgdG8gZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImVtb3RlTWVudVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJFbW90ZSBNZW51XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3cgVHdpdGNoL0Zhdm91cml0ZSBlbW90ZXMgaW4gZW1vdGUgbWVudVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImhpZGVFbW9qaU1lbnVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiSGlkZSBFbW9qaSBNZW51XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGVzIERpc2NvcmQncyBlbW9qaSBtZW51IHdoZW4gdXNpbmcgZW1vdGUgbWVudVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlV2l0aDogXCJlbW90ZU1lbnVcIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwiYXV0b0NhcHNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRW1vdGUgQXV0b2NhcGl0YWxpemF0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkF1dG9jYXBpdGFsaXplIGVtb3RlIGNvbW1hbmRzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInNob3dOYW1lc1wiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJTaG93IE5hbWVzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIlNob3cgZW1vdGUgbmFtZXMgb24gaG92ZXJcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJtb2RpZmllcnNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiU2hvdyBFbW90ZSBNb2RpZmllcnNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRW5hYmxlIGVtb3RlIG1vZHMgKGZsaXAsIHNwaW4sIHB1bHNlLCBzcGluMiwgc3BpbjMsIDFzcGluLCAyc3BpbiwgM3NwaW4sIHRyLCBibCwgYnIsIHNoYWtlLCBzaGFrZTIsIHNoYWtlMywgZmxhcClcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJhbmltYXRlT25Ib3ZlclwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJBbmltYXRlIE9uIEhvdmVyXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIk9ubHkgYW5pbWF0ZSB0aGUgZW1vdGUgbW9kaWZpZXJzIG9uIGhvdmVyXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImNhdGVnb3JpZXNcIixcclxuICAgICAgICBuYW1lOiBcIkNhdGVnb3JpZXNcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidHdpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlR3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJTaG93IFR3aXRjaCBnbG9iYWwgJiBzdWJzY3JpYmVyIGVtb3Rlc1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImZmelwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJGcmFua2VyRmFjZVpcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiU2hvdyBlbW90ZXMgZnJvbSBGRlpcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJidHR2XCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkJldHRlclRUVlwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJTaG93IGVtb3RlcyBmcm9tIEJUVFZcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICB9XHJcbl07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/data/emotes/config.js\n");
/***/ }),
/***/ "./src/data/emotes/info.js":
/*!*********************************!*\
!*** ./src/data/emotes/info.js ***!
\*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n TwitchGlobal: {\n url: \"https://twitchemotes.com/api_cache/v3/global.json\",\n backup: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_global.json`,\n variable: \"TwitchGlobal\",\n getEmoteURL: e => `https://static-cdn.jtvnw.net/emoticons/v1/${e.id}/1.0`,\n getOldData: (url, name) => {\n return {\n id: url.match(/\\/([0-9]+)\\//)[1],\n code: name,\n emoticon_set: 0,\n description: null\n };\n }\n },\n TwitchSubscriber: {\n url: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_twitch_subscriber.json`,\n variable: \"TwitchSubscriber\",\n getEmoteURL: e => `https://static-cdn.jtvnw.net/emoticons/v1/${e}/1.0`,\n getOldData: url => url.match(/\\/([0-9]+)\\//)[1]\n },\n FrankerFaceZ: {\n url: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_ffz.json`,\n variable: \"FrankerFaceZ\",\n getEmoteURL: e => `https://cdn.frankerfacez.com/emoticon/${e}/1`,\n getOldData: url => url.match(/\\/([0-9]+)\\//)[1]\n },\n BTTV: {\n url: \"https://api.betterttv.net/emotes\",\n variable: \"BTTV\",\n parser: data => {\n const emotes = {};\n\n for (let e = 0, len = data.emotes.length; e < len; e++) {\n const emote = data.emotes[e];\n emotes[emote.regex] = emote.url;\n }\n\n return emotes;\n },\n getEmoteURL: e => `${e}`,\n getOldData: url => url\n },\n BTTV2: {\n url: `https://rauenzi.github.io/BetterDiscordApp/data/emotedata_bttv.json`,\n variable: \"BTTV2\",\n oldVariable: \"emotesBTTV2\",\n getEmoteURL: e => `https://cdn.betterttv.net/emote/${e}/1x`,\n getOldData: url => url.match(/emote\\/(.+)\\//)[1]\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvZW1vdGVzL2luZm8uanM/OWY4ZSJdLCJuYW1lcyI6WyJUd2l0Y2hHbG9iYWwiLCJ1cmwiLCJiYWNrdXAiLCJ2YXJpYWJsZSIsImdldEVtb3RlVVJMIiwiZSIsImlkIiwiZ2V0T2xkRGF0YSIsIm5hbWUiLCJtYXRjaCIsImNvZGUiLCJlbW90aWNvbl9zZXQiLCJkZXNjcmlwdGlvbiIsIlR3aXRjaFN1YnNjcmliZXIiLCJGcmFua2VyRmFjZVoiLCJCVFRWIiwicGFyc2VyIiwiZGF0YSIsImVtb3RlcyIsImxlbiIsImxlbmd0aCIsImVtb3RlIiwicmVnZXgiLCJCVFRWMiIsIm9sZFZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFlO0FBQ1hBLGNBQVksRUFBRTtBQUNWQyxPQUFHLEVBQUUsbURBREs7QUFFVkMsVUFBTSxFQUFHLDhFQUZDO0FBR1ZDLFlBQVEsRUFBRSxjQUhBO0FBSVZDLGVBQVcsRUFBR0MsQ0FBRCxJQUFRLDZDQUE0Q0EsQ0FBQyxDQUFDQyxFQUFHLE1BSjVEO0FBS1ZDLGNBQVUsRUFBRSxDQUFDTixHQUFELEVBQU1PLElBQU4sS0FBZTtBQUFFLGFBQU87QUFBQ0YsVUFBRSxFQUFFTCxHQUFHLENBQUNRLEtBQUosQ0FBVSxjQUFWLEVBQTBCLENBQTFCLENBQUw7QUFBbUNDLFlBQUksRUFBRUYsSUFBekM7QUFBK0NHLG9CQUFZLEVBQUUsQ0FBN0Q7QUFBZ0VDLG1CQUFXLEVBQUU7QUFBN0UsT0FBUDtBQUE0RjtBQUwvRyxHQURIO0FBUVhDLGtCQUFnQixFQUFFO0FBQ2RaLE9BQUcsRUFBRyxrRkFEUTtBQUVkRSxZQUFRLEVBQUUsa0JBRkk7QUFHZEMsZUFBVyxFQUFHQyxDQUFELElBQVEsNkNBQTRDQSxDQUFFLE1BSHJEO0FBSWRFLGNBQVUsRUFBR04sR0FBRCxJQUFTQSxHQUFHLENBQUNRLEtBQUosQ0FBVSxjQUFWLEVBQTBCLENBQTFCO0FBSlAsR0FSUDtBQWNYSyxjQUFZLEVBQUU7QUFDVmIsT0FBRyxFQUFHLG9FQURJO0FBRVZFLFlBQVEsRUFBRSxjQUZBO0FBR1ZDLGVBQVcsRUFBR0MsQ0FBRCxJQUFRLHlDQUF3Q0EsQ0FBRSxJQUhyRDtBQUlWRSxjQUFVLEVBQUdOLEdBQUQsSUFBU0EsR0FBRyxDQUFDUSxLQUFKLENBQVUsY0FBVixFQUEwQixDQUExQjtBQUpYLEdBZEg7QUFvQlhNLE1BQUksRUFBRTtBQUNGZCxPQUFHLEVBQUUsa0NBREg7QUFFRkUsWUFBUSxFQUFFLE1BRlI7QUFHRmEsVUFBTSxFQUFHQyxJQUFELElBQVU7QUFDZCxZQUFNQyxNQUFNLEdBQUcsRUFBZjs7QUFDQSxXQUFLLElBQUliLENBQUMsR0FBRyxDQUFSLEVBQVdjLEdBQUcsR0FBR0YsSUFBSSxDQUFDQyxNQUFMLENBQVlFLE1BQWxDLEVBQTBDZixDQUFDLEdBQUdjLEdBQTlDLEVBQW1EZCxDQUFDLEVBQXBELEVBQXdEO0FBQ3BELGNBQU1nQixLQUFLLEdBQUdKLElBQUksQ0FBQ0MsTUFBTCxDQUFZYixDQUFaLENBQWQ7QUFDQWEsY0FBTSxDQUFDRyxLQUFLLENBQUNDLEtBQVAsQ0FBTixHQUFzQkQsS0FBSyxDQUFDcEIsR0FBNUI7QUFDSDs7QUFDRCxhQUFPaUIsTUFBUDtBQUNILEtBVkM7QUFXRmQsZUFBVyxFQUFHQyxDQUFELElBQVEsR0FBRUEsQ0FBRSxFQVh2QjtBQVlGRSxjQUFVLEVBQUdOLEdBQUQsSUFBU0E7QUFabkIsR0FwQks7QUFrQ1hzQixPQUFLLEVBQUU7QUFDSHRCLE9BQUcsRUFBRyxxRUFESDtBQUVIRSxZQUFRLEVBQUUsT0FGUDtBQUdIcUIsZUFBVyxFQUFFLGFBSFY7QUFJSHBCLGVBQVcsRUFBR0MsQ0FBRCxJQUFRLG1DQUFrQ0EsQ0FBRSxLQUp0RDtBQUtIRSxjQUFVLEVBQUdOLEdBQUQsSUFBU0EsR0FBRyxDQUFDUSxLQUFKLENBQVUsZUFBVixFQUEyQixDQUEzQjtBQUxsQjtBQWxDSSxDQUFmIiwiZmlsZSI6Ii4vc3JjL2RhdGEvZW1vdGVzL2luZm8uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB7XHJcbiAgICBUd2l0Y2hHbG9iYWw6IHtcclxuICAgICAgICB1cmw6IFwiaHR0cHM6Ly90d2l0Y2hlbW90ZXMuY29tL2FwaV9jYWNoZS92My9nbG9iYWwuanNvblwiLFxyXG4gICAgICAgIGJhY2t1cDogYGh0dHBzOi8vcmF1ZW56aS5naXRodWIuaW8vQmV0dGVyRGlzY29yZEFwcC9kYXRhL2Vtb3RlZGF0YV90d2l0Y2hfZ2xvYmFsLmpzb25gLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIlR3aXRjaEdsb2JhbFwiLFxyXG4gICAgICAgIGdldEVtb3RlVVJMOiAoZSkgPT4gYGh0dHBzOi8vc3RhdGljLWNkbi5qdHZudy5uZXQvZW1vdGljb25zL3YxLyR7ZS5pZH0vMS4wYCxcclxuICAgICAgICBnZXRPbGREYXRhOiAodXJsLCBuYW1lKSA9PiB7IHJldHVybiB7aWQ6IHVybC5tYXRjaCgvXFwvKFswLTldKylcXC8vKVsxXSwgY29kZTogbmFtZSwgZW1vdGljb25fc2V0OiAwLCBkZXNjcmlwdGlvbjogbnVsbH07IH1cclxuICAgIH0sXHJcbiAgICBUd2l0Y2hTdWJzY3JpYmVyOiB7XHJcbiAgICAgICAgdXJsOiBgaHR0cHM6Ly9yYXVlbnppLmdpdGh1Yi5pby9CZXR0ZXJEaXNjb3JkQXBwL2RhdGEvZW1vdGVkYXRhX3R3aXRjaF9zdWJzY3JpYmVyLmpzb25gLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIlR3aXRjaFN1YnNjcmliZXJcIixcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGBodHRwczovL3N0YXRpYy1jZG4uanR2bncubmV0L2Vtb3RpY29ucy92MS8ke2V9LzEuMGAsXHJcbiAgICAgICAgZ2V0T2xkRGF0YTogKHVybCkgPT4gdXJsLm1hdGNoKC9cXC8oWzAtOV0rKVxcLy8pWzFdXHJcbiAgICB9LFxyXG4gICAgRnJhbmtlckZhY2VaOiB7XHJcbiAgICAgICAgdXJsOiBgaHR0cHM6Ly9yYXVlbnppLmdpdGh1Yi5pby9CZXR0ZXJEaXNjb3JkQXBwL2RhdGEvZW1vdGVkYXRhX2Zmei5qc29uYCxcclxuICAgICAgICB2YXJpYWJsZTogXCJGcmFua2VyRmFjZVpcIixcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGBodHRwczovL2Nkbi5mcmFua2VyZmFjZXouY29tL2Vtb3RpY29uLyR7ZX0vMWAsXHJcbiAgICAgICAgZ2V0T2xkRGF0YTogKHVybCkgPT4gdXJsLm1hdGNoKC9cXC8oWzAtOV0rKVxcLy8pWzFdXHJcbiAgICB9LFxyXG4gICAgQlRUVjoge1xyXG4gICAgICAgIHVybDogXCJodHRwczovL2FwaS5iZXR0ZXJ0dHYubmV0L2Vtb3Rlc1wiLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIkJUVFZcIixcclxuICAgICAgICBwYXJzZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVtb3RlcyA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBlID0gMCwgbGVuID0gZGF0YS5lbW90ZXMubGVuZ3RoOyBlIDwgbGVuOyBlKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVtb3RlID0gZGF0YS5lbW90ZXNbZV07XHJcbiAgICAgICAgICAgICAgICBlbW90ZXNbZW1vdGUucmVnZXhdID0gZW1vdGUudXJsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBlbW90ZXM7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGAke2V9YCxcclxuICAgICAgICBnZXRPbGREYXRhOiAodXJsKSA9PiB1cmxcclxuICAgIH0sXHJcbiAgICBCVFRWMjoge1xyXG4gICAgICAgIHVybDogYGh0dHBzOi8vcmF1ZW56aS5naXRodWIuaW8vQmV0dGVyRGlzY29yZEFwcC9kYXRhL2Vtb3RlZGF0YV9idHR2Lmpzb25gLFxyXG4gICAgICAgIHZhcmlhYmxlOiBcIkJUVFYyXCIsXHJcbiAgICAgICAgb2xkVmFyaWFibGU6IFwiZW1vdGVzQlRUVjJcIixcclxuICAgICAgICBnZXRFbW90ZVVSTDogKGUpID0+IGBodHRwczovL2Nkbi5iZXR0ZXJ0dHYubmV0L2Vtb3RlLyR7ZX0vMXhgLFxyXG4gICAgICAgIGdldE9sZERhdGE6ICh1cmwpID0+IHVybC5tYXRjaCgvZW1vdGVcXC8oLispXFwvLylbMV1cclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/data/emotes/info.js\n");
/***/ }),
/***/ "./src/data/settings/config.js":
/*!*************************************!*\
!*** ./src/data/settings/config.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ([{\n type: \"category\",\n id: \"general\",\n name: \"General\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"emotes\",\n name: \"Emote System\",\n note: \"Enables BD's emote system\",\n value: true\n }, {\n type: \"switch\",\n id: \"publicServers\",\n name: \"Public Servers\",\n note: \"Display public servers button\",\n value: true\n }, {\n type: \"switch\",\n id: \"voiceDisconnect\",\n name: \"Voice Disconnect\",\n note: \"Disconnect from voice server when closing Discord\",\n value: false\n }, {\n type: \"switch\",\n id: \"twentyFourHour\",\n name: \"24 Hour Timestamps\",\n note: \"Hides channels when in minimal mode\",\n value: false\n }, {\n type: \"switch\",\n id: \"classNormalizer\",\n name: \"Normalize Classes\",\n note: \"Adds stable classes to elements to help themes. (e.g. adds .da-channels to .channels-Ie2l6A)\",\n value: true\n }, {\n type: \"switch\",\n id: \"showToasts\",\n name: \"Show Toasts\",\n note: \"Shows a small notification for important information\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"appearance\",\n name: \"Appearance\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"voiceMode\",\n name: \"Voice Mode\",\n note: \"Hides everything that isn't voice chat\",\n value: false\n }, {\n type: \"switch\",\n id: \"minimalMode\",\n name: \"Minimal Mode\",\n note: \"Hide elements and reduce the size of elements\",\n value: false\n }, {\n type: \"switch\",\n id: \"hideChannels\",\n name: \"Hide Channels\",\n note: \"Hides channels when in minimal mode\",\n value: false,\n enableWith: \"minimalMode\"\n }, {\n type: \"switch\",\n id: \"darkMode\",\n name: \"Dark Mode\",\n note: \"Make certain elements dark by default\",\n value: true\n }, {\n type: \"switch\",\n id: \"coloredText\",\n name: \"Colored Text\",\n note: \"Make text colour the same as role color\",\n value: false\n }]\n}, {\n type: \"category\",\n id: \"content\",\n name: \"Content Manager\",\n collapsible: true,\n settings: [{\n type: \"switch\",\n id: \"contentErrors\",\n name: \"Show Content Errors\",\n note: \"Shows a modal with plugin/theme errors\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoScroll\",\n name: \"Scroll To Settings\",\n note: \"Auto-scrolls to a plugin's settings when the button is clicked (only if out of view)\",\n value: true\n }, {\n type: \"switch\",\n id: \"autoReload\",\n name: \"Automatic Loading\",\n note: \"Automatically loads, reloads, and unloads plugins and themes\",\n value: true\n }]\n}, {\n type: \"category\",\n id: \"developer\",\n name: \"Developer Settings\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"developerMode\",\n name: \"Developer Mode\",\n note: \"Allows activating debugger when pressing F8\",\n value: false\n }, {\n type: \"switch\",\n id: \"copySelector\",\n name: \"Copy Selector\",\n note: \"Adds a \\\"Copy Selector\\\" option to context menus when developer mode is active\",\n value: false,\n enableWith: \"developerMode\"\n }]\n}, {\n type: \"category\",\n id: \"window\",\n name: \"Window Preferences\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"transparency\",\n name: \"Enable Transparency\",\n note: \"Enables the main window to be see-through (requires restart)\",\n value: false\n }, {\n type: \"switch\",\n id: \"frame\",\n name: \"Window Frame\",\n note: \"Adds the native os window frame to the main window\",\n value: false,\n hidden: true\n }]\n}, {\n type: \"category\",\n id: \"customcss\",\n name: \"Custom CSS\",\n collapsible: true,\n shown: false,\n settings: [{\n type: \"switch\",\n id: \"customcss\",\n name: \"Custom CSS\",\n note: \"Enables the Custom CSS tab\",\n value: true\n }, {\n type: \"switch\",\n id: \"liveUpdate\",\n name: \"Live Update\",\n note: \"Updates the css as you type\",\n value: false\n }, {\n type: \"switch\",\n id: \"startDetached\",\n name: \"Start Detached\",\n note: \"Clicking the Custom CSS tab opens the editor in a separate window\",\n value: false,\n disableWith: \"nativeOpen\"\n }, {\n type: \"switch\",\n id: \"nativeOpen\",\n name: \"Open in Native Editor\",\n note: \"Clicking the Custom CSS tab opens your custom css in your native editor\",\n value: false,\n disableWith: \"startDetached\"\n }]\n}]);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2RhdGEvc2V0dGluZ3MvY29uZmlnLmpzP2ZmOGUiXSwibmFtZXMiOlsidHlwZSIsImlkIiwibmFtZSIsImNvbGxhcHNpYmxlIiwic2V0dGluZ3MiLCJub3RlIiwidmFsdWUiLCJlbmFibGVXaXRoIiwic2hvd24iLCJoaWRkZW4iLCJkaXNhYmxlV2l0aCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBZSxnRUFDWDtBQUNJQSxNQUFJLEVBQUUsVUFEVjtBQUVJQyxJQUFFLEVBQUUsU0FGUjtBQUdJQyxNQUFJLEVBQUUsU0FIVjtBQUlJQyxhQUFXLEVBQUUsSUFKakI7QUFLSUMsVUFBUSxFQUFFLENBQ047QUFDSUosUUFBSSxFQUFFLFFBRFY7QUFFSUMsTUFBRSxFQUFFLFFBRlI7QUFHSUMsUUFBSSxFQUFFLGNBSFY7QUFJSUcsUUFBSSxFQUFFLDJCQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBRE0sRUFRTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsZUFGUjtBQUdJQyxRQUFJLEVBQUUsZ0JBSFY7QUFJSUcsUUFBSSxFQUFFLCtCQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBUk0sRUFlTjtBQUNJTixRQUFJLEVBQUUsUUFEVjtBQUVJQyxNQUFFLEVBQUUsaUJBRlI7QUFHSUMsUUFBSSxFQUFFLGtCQUhWO0FBSUlHLFFBQUksRUFBRSxtREFKVjtBQUtJQyxTQUFLLEVBQUU7QUFMWCxHQWZNLEVBc0JOO0FBQ0lOLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxnQkFGUjtBQUdJQyxRQUFJLEVBQUUsb0JBSFY7QUFJSUcsUUFBSSxFQUFFLHFDQUpWO0FBS0lDLFNBQUssRUFBRTtBQUxYLEdBdEJNLEVBNkJOO0FBQ0lOLFFBQUksRUFBRSxRQURWO0FBRUlDLE1BQUUsRUFBRSxpQkFGUjtBQUdJQyxRQUFJLEVBQUUsbUJBSFY7QUFJSUcsUUFBSSxFQUFFLDhGQUpWO0FBS0lDLFNBQUssRUFBRTtB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LEVBQUUseUVBSlY7QUFLSUMsU0FBSyxFQUFFLEtBTFg7QUFNSUksZUFBVyxFQUFFO0FBTmpCLEdBdkJNO0FBTmQsQ0E1S1csQ0FBZiIsImZpbGUiOiIuL3NyYy9kYXRhL3NldHRpbmdzL2NvbmZpZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFtcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiZ2VuZXJhbFwiLFxyXG4gICAgICAgIG5hbWU6IFwiR2VuZXJhbFwiLFxyXG4gICAgICAgIGNvbGxhcHNpYmxlOiB0cnVlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJlbW90ZXNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRW1vdGUgU3lzdGVtXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkVuYWJsZXMgQkQncyBlbW90ZSBzeXN0ZW1cIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJwdWJsaWNTZXJ2ZXJzXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlB1YmxpYyBTZXJ2ZXJzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkRpc3BsYXkgcHVibGljIHNlcnZlcnMgYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidm9pY2VEaXNjb25uZWN0XCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlZvaWNlIERpc2Nvbm5lY3RcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiRGlzY29ubmVjdCBmcm9tIHZvaWNlIHNlcnZlciB3aGVuIGNsb3NpbmcgRGlzY29yZFwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJ0d2VudHlGb3VySG91clwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCIyNCBIb3VyIFRpbWVzdGFtcHNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiSGlkZXMgY2hhbm5lbHMgd2hlbiBpbiBtaW5pbWFsIG1vZGVcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImNsYXNzTm9ybWFsaXplclwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJOb3JtYWxpemUgQ2xhc3Nlc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBZGRzIHN0YWJsZSBjbGFzc2VzIHRvIGVsZW1lbnRzIHRvIGhlbHAgdGhlbWVzLiAoZS5nLiBhZGRzIC5kYS1jaGFubmVscyB0byAuY2hhbm5lbHMtSWUybDZBKVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInNob3dUb2FzdHNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiU2hvdyBUb2FzdHNcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiU2hvd3MgYSBzbWFsbCBub3RpZmljYXRpb24gZm9yIGltcG9ydGFudCBpbmZvcm1hdGlvblwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgdHlwZTogXCJjYXRlZ29yeVwiLFxyXG4gICAgICAgIGlkOiBcImFwcGVhcmFuY2VcIixcclxuICAgICAgICBuYW1lOiBcIkFwcGVhcmFuY2VcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzZXR0aW5nczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwidm9pY2VNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIlZvaWNlIE1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiSGlkZXMgZXZlcnl0aGluZyB0aGF0IGlzbid0IHZvaWNlIGNoYXRcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwibWluaW1hbE1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiTWluaW1hbCBNb2RlXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkhpZGUgZWxlbWVudHMgYW5kIHJlZHVjZSB0aGUgc2l6ZSBvZiBlbGVtZW50c1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJoaWRlQ2hhbm5lbHNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiSGlkZSBDaGFubmVsc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJIaWRlcyBjaGFubmVscyB3aGVuIGluIG1pbmltYWwgbW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZW5hYmxlV2l0aDogXCJtaW5pbWFsTW9kZVwiXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJkYXJrTW9kZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJEYXJrIE1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiTWFrZSBjZXJ0YWluIGVsZW1lbnRzIGRhcmsgYnkgZGVmYXVsdFwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImNvbG9yZWRUZXh0XCIsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIkNvbG9yZWQgVGV4dFwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJNYWtlIHRleHQgY29sb3VyIHRoZSBzYW1lIGFzIHJvbGUgY29sb3JcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiY29udGVudFwiLFxyXG4gICAgICAgIG5hbWU6IFwiQ29udGVudCBNYW5hZ2VyXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImNvbnRlbnRFcnJvcnNcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiU2hvdyBDb250ZW50IEVycm9yc1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJTaG93cyBhIG1vZGFsIHdpdGggcGx1Z2luL3RoZW1lIGVycm9yc1wiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImF1dG9TY3JvbGxcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiU2Nyb2xsIFRvIFNldHRpbmdzXCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkF1dG8tc2Nyb2xscyB0byBhIHBsdWdpbidzIHNldHRpbmdzIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkIChvbmx5IGlmIG91dCBvZiB2aWV3KVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImF1dG9SZWxvYWRcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiQXV0b21hdGljIExvYWRpbmdcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQXV0b21hdGljYWxseSBsb2FkcywgcmVsb2FkcywgYW5kIHVubG9hZHMgcGx1Z2lucyBhbmQgdGhlbWVzXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiZGV2ZWxvcGVyXCIsXHJcbiAgICAgICAgbmFtZTogXCJEZXZlbG9wZXIgU2V0dGluZ3NcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzaG93bjogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImRldmVsb3Blck1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiRGV2ZWxvcGVyIE1vZGVcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQWxsb3dzIGFjdGl2YXRpbmcgZGVidWdnZXIgd2hlbiBwcmVzc2luZyBGOFwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjb3B5U2VsZWN0b3JcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiQ29weSBTZWxlY3RvclwiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJBZGRzIGEgXFxcIkNvcHkgU2VsZWN0b3JcXFwiIG9wdGlvbiB0byBjb250ZXh0IG1lbnVzIHdoZW4gZGV2ZWxvcGVyIG1vZGUgaXMgYWN0aXZlXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBlbmFibGVXaXRoOiBcImRldmVsb3Blck1vZGVcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwid2luZG93XCIsXHJcbiAgICAgICAgbmFtZTogXCJXaW5kb3cgUHJlZmVyZW5jZXNcIixcclxuICAgICAgICBjb2xsYXBzaWJsZTogdHJ1ZSxcclxuICAgICAgICBzaG93bjogZmFsc2UsXHJcbiAgICAgICAgc2V0dGluZ3M6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInRyYW5zcGFyZW5jeVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJFbmFibGUgVHJhbnNwYXJlbmN5XCIsXHJcbiAgICAgICAgICAgICAgICBub3RlOiBcIkVuYWJsZXMgdGhlIG1haW4gd2luZG93IHRvIGJlIHNlZS10aHJvdWdoIChyZXF1aXJlcyByZXN0YXJ0KVwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJmcmFtZVwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJXaW5kb3cgRnJhbWVcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQWRkcyB0aGUgbmF0aXZlIG9zIHdpbmRvdyBmcmFtZSB0byB0aGUgbWFpbiB3aW5kb3dcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGhpZGRlbjogdHJ1ZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICB0eXBlOiBcImNhdGVnb3J5XCIsXHJcbiAgICAgICAgaWQ6IFwiY3VzdG9tY3NzXCIsXHJcbiAgICAgICAgbmFtZTogXCJDdXN0b20gQ1NTXCIsXHJcbiAgICAgICAgY29sbGFwc2libGU6IHRydWUsXHJcbiAgICAgICAgc2hvd246IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3dpdGNoXCIsXHJcbiAgICAgICAgICAgICAgICBpZDogXCJjdXN0b21jc3NcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiQ3VzdG9tIENTU1wiLFxyXG4gICAgICAgICAgICAgICAgbm90ZTogXCJFbmFibGVzIHRoZSBDdXN0b20gQ1NTIHRhYlwiLFxyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHRydWVcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcImxpdmVVcGRhdGVcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiTGl2ZSBVcGRhdGVcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiVXBkYXRlcyB0aGUgY3NzIGFzIHlvdSB0eXBlXCIsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzd2l0Y2hcIixcclxuICAgICAgICAgICAgICAgIGlkOiBcInN0YXJ0RGV0YWNoZWRcIixcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwiU3RhcnQgRGV0YWNoZWRcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQ2xpY2tpbmcgdGhlIEN1c3RvbSBDU1MgdGFiIG9wZW5zIHRoZSBlZGl0b3IgaW4gYSBzZXBhcmF0ZSB3aW5kb3dcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGRpc2FibGVXaXRoOiBcIm5hdGl2ZU9wZW5cIlxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInN3aXRjaFwiLFxyXG4gICAgICAgICAgICAgICAgaWQ6IFwibmF0aXZlT3BlblwiLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJPcGVuIGluIE5hdGl2ZSBFZGl0b3JcIixcclxuICAgICAgICAgICAgICAgIG5vdGU6IFwiQ2xpY2tpbmcgdGhlIEN1c3RvbSBDU1MgdGFiIG9wZW5zIHlvdXIgY3VzdG9tIGNzcyBpbiB5b3VyIG5hdGl2ZSBlZGl0b3JcIixcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGRpc2FibGVXaXRoOiBcInN0YXJ0RGV0YWNoZWRcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5dOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/data/settings/config.js\n");
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/*! exports provided: default, patchModuleLoad */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CoreWrapper; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"patchModuleLoad\", function() { return patchModuleLoad; });\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _modules_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/core */ \"./src/modules/core.js\");\n/* harmony import */ var _modules_pluginapi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony import */ var _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony import */ var _modules_thememanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/thememanager */ \"./src/modules/thememanager.js\");\n/* harmony import */ var _modules_oldstorage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/oldstorage */ \"./src/modules/oldstorage.js\");\n/* harmony import */ var _modules_emitter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var _modules_datastore__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _builtins_emotes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./builtins/emotes */ \"./src/builtins/emotes.js\");\n\n\n\n\n\n\n\n\n\n // Perform some setup\n// proxyLocalStorage();\n\nconst loadingIcon = document.createElement(\"div\");\nloadingIcon.className = \"bd-loaderv2\";\nloadingIcon.title = \"BandagedBD is loading...\";\ndocument.body.appendChild(loadingIcon); // window.Core = Core;\n\nwindow.BdApi = _modules_pluginapi__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; // window.settings = SettingsInfo;\n// window.settingsCookie = SettingsCookie;\n// window.pluginCookie = PluginCookie;\n// window.themeCookie = ThemeCookie;\n\nwindow.pluginModule = _modules_pluginmanager__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\nwindow.themeModule = _modules_thememanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; // window.bdthemes = Themes;\n// window.bdplugins = Plugins;\n\nwindow.bdEmotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_9__[\"default\"].Emotes;\nwindow.bemotes = _builtins_emotes__WEBPACK_IMPORTED_MODULE_9__[\"default\"].blacklist;\nwindow.bdPluginStorage = _modules_oldstorage__WEBPACK_IMPORTED_MODULE_5__[\"bdPluginStorage\"];\nwindow.settingsModule = _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nwindow.DataStore = _modules_datastore__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\nwindow.BDEvents = _modules_emitter__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\nwindow.bdConfig = data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"];\nclass CoreWrapper {\n constructor(config) {\n _modules_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setConfig(config);\n }\n\n init() {\n _modules_core__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init();\n }\n\n}\nfunction patchModuleLoad() {\n const namespace = \"betterdiscord\";\n const prefix = `${namespace}/`;\n\n const Module = __webpack_require__(/*! module */ \"module\");\n\n const load = Module._load; // const resolveFilename = Module._resolveFilename;\n\n Module._load = function (request) {\n if (request === namespace || request.startsWith(prefix)) {\n const requested = request.substr(prefix.length);\n if (requested == \"api\") return _modules_pluginapi__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n\n return load.apply(this, arguments);\n }; // Module._resolveFilename = function (request, parent, isMain) {\n // if (request === \"betterdiscord\" || request.startsWith(\"betterdiscord/\")) {\n // const contentPath = PluginManager.getPluginPathByModule(parent);\n // if (contentPath) return request;\n // }\n // return resolveFilename.apply(this, arguments);\n // };\n\n\n return function () {\n Module._load = load;\n };\n} // export function getPluginByModule(module) {\n// return this.localContent.find(plugin => module.filename === plugin.contentPath || module.filename.startsWith(plugin.contentPath + path.sep));\n// }\n// export function getPluginPathByModule(module) {\n// return Object.keys(this.pluginApiInstances).find(contentPath => module.filename === contentPath || module.filename.startsWith(contentPath + path.sep));\n// }\n// var settingsPanel, emoteModule, quickEmoteMenu, voiceMode,, dMode, publicServersModule;\n// var bdConfig = null;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL2luZGV4LmpzP2I2MzUiXSwibmFtZXMiOlsibG9hZGluZ0ljb24iLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsIndpbmRvdyIsIkJkQXBpIiwicGx1Z2luTW9kdWxlIiwiUGx1Z2luTWFuYWdlciIsInRoZW1lTW9kdWxlIiwiVGhlbWVNYW5hZ2VyIiwiYmRFbW90ZXMiLCJFbW90ZU1vZHVsZSIsIkVtb3RlcyIsImJlbW90ZXMiLCJibGFja2xpc3QiLCJiZFBsdWdpblN0b3JhZ2UiLCJzZXR0aW5nc01vZHVsZSIsIlNldHRpbmdzIiwiRGF0YVN0b3JlIiwiQkRFdmVudHMiLCJFdmVudHMiLCJiZENvbmZpZyIsIkNvbmZpZyIsIkNvcmVXcmFwcGVyIiwiY29uc3RydWN0b3IiLCJjb25maWciLCJDb3JlIiwic2V0Q29uZmlnIiwiaW5pdCIsInBhdGNoTW9kdWxlTG9hZCIsIm5hbWVzcGFjZSIsInByZWZpeCIsIk1vZHVsZSIsInJlcXVpcmUiLCJsb2FkIiwiX2xvYWQiLCJyZXF1ZXN0Iiwic3RhcnRzV2l0aCIsInJlcXVlc3RlZCIsInN1YnN0ciIsImxlbmd0aCIsImFwcGx5IiwiYXJndW1lbnRzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtDQUdBO0FBQ0E7O0FBQ0EsTUFBTUEsV0FBVyxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsS0FBdkIsQ0FBcEI7QUFDQUYsV0FBVyxDQUFDRyxTQUFaLEdBQXdCLGFBQXhCO0FBQ0FILFdBQVcsQ0FBQ0ksS0FBWixHQUFvQiwwQkFBcEI7QUFDQUgsUUFBUSxDQUFDSSxJQUFULENBQWNDLFdBQWQsQ0FBMEJOLFdBQTFCLEUsQ0FFQTs7QUFDQU8sTUFBTSxDQUFDQyxLQUFQLEdBQWVBLDBEQUFmLEMsQ0FDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQUQsTUFBTSxDQUFDRSxZQUFQLEdBQXNCQyw4REFBdEI7QUFDQUgsTUFBTSxDQUFDSSxXQUFQLEdBQXFCQyw2REFBckIsQyxDQUNBO0FBQ0E7O0FBQ0FMLE1BQU0sQ0FBQ00sUUFBUCxHQUFrQkMsd0RBQVcsQ0FBQ0MsTUFBOUI7QUFDQVIsTUFBTSxDQUFDUyxPQUFQLEdBQWlCRix3REFBVyxDQUFDRyxTQUE3QjtBQUNBVixNQUFNLENBQUNXLGVBQVAsR0FBeUJBLG1FQUF6QjtBQUNBWCxNQUFNLENBQUNZLGNBQVAsR0FBd0JDLGdFQUF4QjtBQUNBYixNQUFNLENBQUNjLFNBQVAsR0FBbUJBLDBEQUFuQjtBQUdBZCxNQUFNLENBQUNlLFFBQVAsR0FBa0JDLHdEQUFsQjtBQUNBaEIsTUFBTSxDQUFDaUIsUUFBUCxHQUFrQkMsMkNBQWxCO0FBRWUsTUFBTUMsV0FBTixDQUFrQjtBQUM3QkMsYUFBVyxDQUFDQyxNQUFELEVBQVM7QUFDaEJDLHlEQUFJLENBQUNDLFNBQUwsQ0FBZUYsTUFBZjtBQUNIOztBQUVERyxNQUFJLEdBQUc7QUFDSEYseURBQUksQ0FBQ0UsSUFBTDtBQUNIOztBQVA0QjtBQVUxQixTQUFTQyxlQUFULEdBQTJCO0FBQzlCLFFBQU1DLFNBQVMsR0FBRyxlQUFsQjtBQUNBLFFBQU1DLE1BQU0sR0FBSSxHQUFFRCxTQUFVLEdBQTVCOztBQUNBLFFBQU1FLE1BQU0sR0FBR0MsbUJBQU8sQ0FBQyxzQkFBRCxDQUF0Qjs7QUFDQSxRQUFNQyxJQUFJLEdBQUdGLE1BQU0sQ0FBQ0csS0FBcEIsQ0FKOEIsQ0FLOUI7O0FBRUFILFFBQU0sQ0FBQ0csS0FBUCxHQUFlLFVBQVVDLE9BQVYsRUFBbUI7QUFDOUIsUUFBSUEsT0FBTyxLQUFLTixTQUFaLElBQXlCTSxPQUFPLENBQUNDLFVBQVIsQ0FBbUJOLE1BQW5CLENBQTdCLEVBQXlEO0FBQ3JELFlBQU1PLFNBQVMsR0FBR0YsT0FBTyxDQUFDRyxNQUFSLENBQWVSLE1BQU0sQ0FBQ1MsTUFBdEIsQ0FBbEI7QUFDQSxVQUFJRixTQUFTLElBQUksS0FBakIsRUFBd0IsT0FBT2pDLDBEQUFQO0FBQzNCOztBQUVELFdBQU82QixJQUFJLENBQUNPLEtBQUwsQ0FBVyxJQUFYLEVBQWlCQyxTQUFqQixDQUFQO0FBQ0gsR0FQRCxDQVA4QixDQWdCOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7OztBQUVBLFNBQU8sWUFBVztBQUNkVixVQUFNLENBQUNHLEtBQVAsR0FBZUQsSUFBZjtBQUNILEdBRkQ7QUFHSCxDLENBRUQ7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgQ29yZSBmcm9tIFwiLi9tb2R1bGVzL2NvcmVcIjtcclxuaW1wb3J0IEJkQXBpIGZyb20gXCIuL21vZHVsZXMvcGx1Z2luYXBpXCI7XHJcbmltcG9ydCBQbHVnaW5NYW5hZ2VyIGZyb20gXCIuL21vZHVsZXMvcGx1Z2lubWFuYWdlclwiO1xyXG5pbXBvcnQgVGhlbWVNYW5hZ2VyIGZyb20gXCIuL21vZHVsZXMvdGhlbWVtYW5hZ2VyXCI7XHJcbmltcG9ydCB7YmRQbHVnaW5TdG9yYWdlfSBmcm9tIFwiLi9tb2R1bGVzL29sZHN0b3JhZ2VcIjtcclxuaW1wb3J0IEV2ZW50cyBmcm9tIFwiLi9tb2R1bGVzL2VtaXR0ZXJcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL21vZHVsZXMvc2V0dGluZ3NtYW5hZ2VyXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vbW9kdWxlcy9kYXRhc3RvcmVcIjtcclxuaW1wb3J0IEVtb3RlTW9kdWxlIGZyb20gXCIuL2J1aWx0aW5zL2Vtb3Rlc1wiO1xyXG5cclxuLy8gUGVyZm9ybSBzb21lIHNldHVwXHJcbi8vIHByb3h5TG9jYWxTdG9yYWdlKCk7XHJcbmNvbnN0IGxvYWRpbmdJY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTtcclxubG9hZGluZ0ljb24uY2xhc3NOYW1lID0gXCJiZC1sb2FkZXJ2MlwiO1xyXG5sb2FkaW5nSWNvbi50aXRsZSA9IFwiQmFuZGFnZWRCRCBpcyBsb2FkaW5nLi4uXCI7XHJcbmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobG9hZGluZ0ljb24pO1xyXG5cclxuLy8gd2luZG93LkNvcmUgPSBDb3JlO1xyXG53aW5kb3cuQmRBcGkgPSBCZEFwaTtcclxuLy8gd2luZG93LnNldHRpbmdzID0gU2V0dGluZ3NJbmZvO1xyXG4vLyB3aW5kb3cuc2V0dGluZ3NDb29raWUgPSBTZXR0aW5nc0Nvb2tpZTtcclxuLy8gd2luZG93LnBsdWdpbkNvb2tpZSA9IFBsdWdpbkNvb2tpZTtcclxuLy8gd2luZG93LnRoZW1lQ29va2llID0gVGhlbWVDb29raWU7XHJcbndpbmRvdy5wbHVnaW5Nb2R1bGUgPSBQbHVnaW5NYW5hZ2VyO1xyXG53aW5kb3cudGhlbWVNb2R1bGUgPSBUaGVtZU1hbmFnZXI7XHJcbi8vIHdpbmRvdy5iZHRoZW1lcyA9IFRoZW1lcztcclxuLy8gd2luZG93LmJkcGx1Z2lucyA9IFBsdWdpbnM7XHJcbndpbmRvdy5iZEVtb3RlcyA9IEVtb3RlTW9kdWxlLkVtb3Rlcztcclxud2luZG93LmJlbW90ZXMgPSBFbW90ZU1vZHVsZS5ibGFja2xpc3Q7XHJcbndpbmRvdy5iZFBsdWdpblN0b3JhZ2UgPSBiZFBsdWdpblN0b3JhZ2U7XHJcbndpbmRvdy5zZXR0aW5nc01vZHVsZSA9IFNldHRpbmdzO1xyXG53aW5kb3cuRGF0YVN0b3JlID0gRGF0YVN0b3JlO1xyXG5cclxuXHJcbndpbmRvdy5CREV2ZW50cyA9IEV2ZW50cztcclxud2luZG93LmJkQ29uZmlnID0gQ29uZmlnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29yZVdyYXBwZXIge1xyXG4gICAgY29uc3RydWN0b3IoY29uZmlnKSB7XHJcbiAgICAgICAgQ29yZS5zZXRDb25maWcoY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIENvcmUuaW5pdCgpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hNb2R1bGVMb2FkKCkge1xyXG4gICAgY29uc3QgbmFtZXNwYWNlID0gXCJiZXR0ZXJkaXNjb3JkXCI7XHJcbiAgICBjb25zdCBwcmVmaXggPSBgJHtuYW1lc3BhY2V9L2A7XHJcbiAgICBjb25zdCBNb2R1bGUgPSByZXF1aXJlKFwibW9kdWxlXCIpO1xyXG4gICAgY29uc3QgbG9hZCA9IE1vZHVsZS5fbG9hZDtcclxuICAgIC8vIGNvbnN0IHJlc29sdmVGaWxlbmFtZSA9IE1vZHVsZS5fcmVzb2x2ZUZpbGVuYW1lO1xyXG5cclxuICAgIE1vZHVsZS5fbG9hZCA9IGZ1bmN0aW9uIChyZXF1ZXN0KSB7XHJcbiAgICAgICAgaWYgKHJlcXVlc3QgPT09IG5hbWVzcGFjZSB8fCByZXF1ZXN0LnN0YXJ0c1dpdGgocHJlZml4KSkge1xyXG4gICAgICAgICAgICBjb25zdCByZXF1ZXN0ZWQgPSByZXF1ZXN0LnN1YnN0cihwcmVmaXgubGVuZ3RoKTtcclxuICAgICAgICAgICAgaWYgKHJlcXVlc3RlZCA9PSBcImFwaVwiKSByZXR1cm4gQmRBcGk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbG9hZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvLyBNb2R1bGUuX3Jlc29sdmVGaWxlbmFtZSA9IGZ1bmN0aW9uIChyZXF1ZXN0LCBwYXJlbnQsIGlzTWFpbikge1xyXG4gICAgLy8gICAgIGlmIChyZXF1ZXN0ID09PSBcImJldHRlcmRpc2NvcmRcIiB8fCByZXF1ZXN0LnN0YXJ0c1dpdGgoXCJiZXR0ZXJkaXNjb3JkL1wiKSkge1xyXG4gICAgLy8gICAgICAgICBjb25zdCBjb250ZW50UGF0aCA9IFBsdWdpbk1hbmFnZXIuZ2V0UGx1Z2luUGF0aEJ5TW9kdWxlKHBhcmVudCk7XHJcbiAgICAvLyAgICAgICAgIGlmIChjb250ZW50UGF0aCkgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICByZXR1cm4gcmVzb2x2ZUZpbGVuYW1lLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgICAvLyB9O1xyXG5cclxuICAgIHJldHVybiBmdW5jdGlvbigpIHtcclxuICAgICAgICBNb2R1bGUuX2xvYWQgPSBsb2FkO1xyXG4gICAgfTtcclxufVxyXG5cclxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldFBsdWdpbkJ5TW9kdWxlKG1vZHVsZSkge1xyXG4vLyAgICAgcmV0dXJuIHRoaXMubG9jYWxDb250ZW50LmZpbmQocGx1Z2luID0+IG1vZHVsZS5maWxlbmFtZSA9PT0gcGx1Z2luLmNvbnRlbnRQYXRoIHx8IG1vZHVsZS5maWxlbmFtZS5zdGFydHNXaXRoKHBsdWdpbi5jb250ZW50UGF0aCArIHBhdGguc2VwKSk7XHJcbi8vIH1cclxuXHJcbi8vIGV4cG9ydCBmdW5jdGlvbiBnZXRQbHVnaW5QYXRoQnlNb2R1bGUobW9kdWxlKSB7XHJcbi8vICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5wbHVnaW5BcGlJbnN0YW5jZXMpLmZpbmQoY29udGVudFBhdGggPT4gbW9kdWxlLmZpbGVuYW1lID09PSBjb250ZW50UGF0aCB8fCBtb2R1bGUuZmlsZW5hbWUuc3RhcnRzV2l0aChjb250ZW50UGF0aCArIHBhdGguc2VwKSk7XHJcbi8vIH1cclxuXHJcbi8vIHZhciBzZXR0aW5nc1BhbmVsLCBlbW90ZU1vZHVsZSwgcXVpY2tFbW90ZU1lbnUsIHZvaWNlTW9kZSwsIGRNb2RlLCBwdWJsaWNTZXJ2ZXJzTW9kdWxlO1xyXG4vLyB2YXIgYmRDb25maWcgPSBudWxsOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/index.js\n");
/***/ }),
/***/ "./src/modules/bdv2.js":
/*!*****************************!*\
!*** ./src/modules/bdv2.js ***!
\*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var _pluginapi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony import */ var _ui_icons_bdlogo__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ui/icons/bdlogo */ \"./src/ui/icons/bdlogo.jsx\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class V2 {\n constructor() {\n this.editorDetached = false;\n }\n\n initialize() {\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchSocial.bind(this), \"BD Social Patch\")();\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchGuildPills.bind(this), \"BD Guild Pills Patch\")();\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchGuildListItems.bind(this), \"BD Guild List Items Patch\")();\n _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].suppressErrors(this.patchGuildSeparator.bind(this), \"BD Guild Separator Patch\")();\n }\n\n get messageClasses() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"message\", \"containerCozy\");\n }\n\n get guildClasses() {\n const guildsWrapper = _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"wrapper\", \"unreadMentionsBar\");\n const guilds = _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"guildsError\", \"selected\");\n const pill = _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"blobContainer\");\n return Object.assign({}, guildsWrapper, guilds, pill);\n }\n\n get MessageContentComponent() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getModule(m => m.defaultProps && m.defaultProps.hasOwnProperty(\"disableButtons\"));\n }\n\n get TimeFormatter() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"dateFormat\");\n }\n\n get TooltipWrapper() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByDisplayName(\"TooltipDeprecated\");\n }\n\n get NativeModule() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getByProps(\"setBadge\");\n }\n\n get Tooltips() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getModule(m => m.hide && m.show && !m.search && !m.submit && !m.search && !m.activateRagingDemon && !m.dismiss);\n }\n\n get KeyGenerator() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getModule(m => m.toString && /\"binary\"/.test(m.toString()));\n }\n\n patchSocial() {\n if (this.socialPatch) return;\n const TabBar = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModule(m => m.displayName == \"TabBar\");\n const Anchor = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModule(m => m.displayName == \"Anchor\");\n if (!TabBar || !Anchor) return;\n this.socialPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(TabBar.prototype, \"render\", {\n after: data => {\n const children = data.returnValue.props.children;\n if (!children || !children.length) return;\n if (children[children.length - 2].type.displayName !== \"Separator\") return;\n if (!children[children.length - 1].type.toString().includes(\"socialLinks\")) return;\n const original = children[children.length - 1].type;\n\n const newOne = function () {\n const returnVal = original(...arguments);\n returnVal.props.children.push(_pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].React.createElement(Anchor, {\n className: \"bd-social-link\",\n href: \"https://github.com/rauenzi/BetterDiscordApp\",\n rel: \"author\",\n title: \"BandagedBD\",\n target: \"_blank\"\n }, _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].React.createElement(_ui_icons_bdlogo__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n size: \"16px\",\n className: \"bd-social-logo\"\n })));\n return returnVal;\n };\n\n children[children.length - 1].type = newOne;\n }\n });\n }\n\n patchGuildListItems() {\n if (this.guildListItemsPatch) return;\n const listItemClass = this.guildClasses.listItem.split(\" \")[0];\n const blobClass = this.guildClasses.blobContainer.split(\" \")[0];\n const reactInstance = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getInternalInstance(document.querySelector(`.${listItemClass} .${blobClass}`).parentElement);\n const GuildComponent = reactInstance.return.type;\n if (!GuildComponent) return;\n this.guildListItemsPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(GuildComponent.prototype, \"render\", {\n after: data => {\n const returnValue = data.returnValue;\n const guildData = data.thisObject.props;\n returnValue.props.className += \" bd-guild\";\n if (guildData.unread) returnValue.props.className += \" bd-unread\";\n if (guildData.selected) returnValue.props.className += \" bd-selected\";\n if (guildData.audio) returnValue.props.className += \" bd-audio\";\n if (guildData.video) returnValue.props.className += \" bd-video\";\n if (guildData.badge) returnValue.props.className += \" bd-badge\";\n if (guildData.animatable) returnValue.props.className += \" bd-animatable\";\n return returnValue;\n }\n });\n }\n\n patchGuildPills() {\n if (this.guildPillPatch) return;\n const guildPill = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModule(m => m.default && m.default.toString && m.default.toString().includes(\"translate3d\"));\n if (!guildPill) return;\n this.guildPillPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(guildPill, \"default\", {\n after: data => {\n const props = data.methodArguments[0];\n if (props.unread) data.returnValue.props.className += \" bd-unread\";\n if (props.selected) data.returnValue.props.className += \" bd-selected\";\n if (props.hovered) data.returnValue.props.className += \" bd-hovered\";\n return data.returnValue;\n }\n });\n }\n\n patchGuildSeparator() {\n if (this.guildSeparatorPatch) return;\n const Guilds = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModuleByDisplayName(\"Guilds\");\n const guildComponents = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].findModuleByProps(\"renderListItem\");\n if (!guildComponents || !Guilds) return;\n\n const GuildSeparator = function () {\n const returnValue = guildComponents.Separator(...arguments);\n returnValue.props.className += \" bd-guild-separator\";\n return returnValue;\n };\n\n this.guildSeparatorPatch = _pluginapi__WEBPACK_IMPORTED_MODULE_1__[\"default\"].monkeyPatch(Guilds.prototype, \"render\", {\n after: data => {\n data.returnValue.props.children[1].props.children[3].type = GuildSeparator;\n }\n });\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvYmR2Mi5qcz9mZmJlIl0sIm5hbWVzIjpbIlYyIiwiY29uc3RydWN0b3IiLCJlZGl0b3JEZXRhY2hlZCIsImluaXRpYWxpemUiLCJCZEFwaSIsInN1cHByZXNzRXJyb3JzIiwicGF0Y2hTb2NpYWwiLCJiaW5kIiwicGF0Y2hHdWlsZFBpbGxzIiwicGF0Y2hHdWlsZExpc3RJdGVtcyIsInBhdGNoR3VpbGRTZXBhcmF0b3IiLCJtZXNzYWdlQ2xhc3NlcyIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0QnlQcm9wcyIsImd1aWxkQ2xhc3NlcyIsImd1aWxkc1dyYXBwZXIiLCJndWlsZHMiLCJwaWxsIiwiT2JqZWN0IiwiYXNzaWduIiwiTWVzc2FnZUNvbnRlbnRDb21wb25lbnQiLCJnZXRNb2R1bGUiLCJtIiwiZGVmYXVsdFByb3BzIiwiaGFzT3duUHJvcGVydHkiLCJUaW1lRm9ybWF0dGVyIiwiVG9vbHRpcFdyYXBwZXIiLCJnZXRCeURpc3BsYXlOYW1lIiwiTmF0aXZlTW9kdWxlIiwiVG9vbHRpcHMiLCJoaWRlIiwic2hvdyIsInNlYXJjaCIsInN1Ym1pdCIsImFjdGl2YXRlUmFnaW5nRGVtb24iLCJkaXNtaXNzIiwiS2V5R2VuZXJhdG9yIiwidG9TdHJpbmciLCJ0ZXN0Iiwic29jaWFsUGF0Y2giLCJUYWJCYXIiLCJmaW5kTW9kdWxlIiwiZGlzcGxheU5hbWUiLCJBbmNob3IiLCJtb25rZXlQYXRjaCIsInByb3RvdHlwZSIsImFmdGVyIiwiZGF0YSIsImNoaWxkcmVuIiwicmV0dXJuVmFsdWUiLCJwcm9wcyIsImxlbmd0aCIsInR5cGUiLCJpbmNsdWRlcyIsIm9yaWdpbmFsIiwibmV3T25lIiwicmV0dXJuVmFsIiwiYXJndW1lbnRzIiwicHVzaCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImhyZWYiLCJyZWwiLCJ0aXRsZSIsInRhcmdldCIsIkJETG9nbyIsInNpemUiLCJndWlsZExpc3RJdGVtc1BhdGNoIiwibGlzdEl0ZW1DbGFzcyIsImxpc3RJdGVtIiwic3BsaXQiLCJibG9iQ2xhc3MiLCJibG9iQ29udGFpbmVyIiwicmVhY3RJbnN0YW5jZSIsImdldEludGVybmFsSW5zdGFuY2UiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXJlbnRFbGVtZW50IiwiR3VpbGRDb21wb25lbnQiLCJyZXR1cm4iLCJndWlsZERhdGEiLCJ0aGlzT2JqZWN0IiwidW5yZWFkIiwic2VsZWN0ZWQiLCJhdWRpbyIsInZpZGVvIiwiYmFkZ2UiLCJhbmltYXRhYmxlIiwiZ3VpbGRQaWxsUGF0Y2giLCJndWlsZFBpbGwiLCJkZWZhdWx0IiwibWV0aG9kQXJndW1lbnRzIiwiaG92ZXJlZCIsImd1aWxkU2VwYXJhdG9yUGF0Y2giLCJHdWlsZHMiLCJmaW5kTW9kdWxlQnlEaXNwbGF5TmFtZSIsImd1aWxkQ29tcG9uZW50cyIsImZpbmRNb2R1bGVCeVByb3BzIiwiR3VpbGRTZXBhcmF0b3IiLCJTZXBhcmF0b3IiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRWUsbUVBQUksTUFBTUEsRUFBTixDQUFTO0FBRXhCQyxhQUFXLEdBQUc7QUFDVixTQUFLQyxjQUFMLEdBQXNCLEtBQXRCO0FBQ0g7O0FBRURDLFlBQVUsR0FBRztBQUNUQyxzREFBSyxDQUFDQyxjQUFOLENBQXFCLEtBQUtDLFdBQUwsQ0FBaUJDLElBQWpCLENBQXNCLElBQXRCLENBQXJCLEVBQWtELGlCQUFsRDtBQUNBSCxzREFBSyxDQUFDQyxjQUFOLENBQXFCLEtBQUtHLGVBQUwsQ0FBcUJELElBQXJCLENBQTBCLElBQTFCLENBQXJCLEVBQXNELHNCQUF0RDtBQUNBSCxzREFBSyxDQUFDQyxjQUFOLENBQXFCLEtBQUtJLG1CQUFMLENBQXlCRixJQUF6QixDQUE4QixJQUE5QixDQUFyQixFQUEwRCwyQkFBMUQ7QUFDQUgsc0RBQUssQ0FBQ0MsY0FBTixDQUFxQixLQUFLSyxtQkFBTCxDQUF5QkgsSUFB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QUFDbkIsZUFBT2QsSUFBSSxDQUFDRSxXQUFaO0FBQ0g7QUFONkQsS0FBeEMsQ0FBdEI7QUFPSDs7QUFFRHZDLHFCQUFtQixHQUFHO0FBQ2xCLFFBQUksS0FBS29GLG1CQUFULEVBQThCO0FBQzlCLFVBQU1DLE1BQU0sR0FBRzNGLGtEQUFLLENBQUM0Rix1QkFBTixDQUE4QixRQUE5QixDQUFmO0FBQ0EsVUFBTUMsZUFBZSxHQUFHN0Ysa0RBQUssQ0FBQzhGLGlCQUFOLENBQXdCLGdCQUF4QixDQUF4QjtBQUNBLFFBQUksQ0FBQ0QsZUFBRCxJQUFvQixDQUFDRixNQUF6QixFQUFpQzs7QUFDakMsVUFBTUksY0FBYyxHQUFHLFlBQVc7QUFDOUIsWUFBTWxELFdBQVcsR0FBR2dELGVBQWUsQ0FBQ0csU0FBaEIsQ0FBMEIsR0FBRzNDLFNBQTdCLENBQXBCO0FBQ0FSLGlCQUFXLENBQUNDLEtBQVosQ0FBa0JXLFNBQWxCLElBQStCLHFCQUEvQjtBQUNBLGFBQU9aLFdBQVA7QUFDSCxLQUpEOztBQUtBLFNBQUs2QyxtQkFBTCxHQUEyQjFGLGtEQUFLLENBQUN3QyxXQUFOLENBQWtCbUQsTUFBTSxDQUFDbEQsU0FBekIsRUFBb0MsUUFBcEMsRUFBOEM7QUFBQ0MsV0FBSyxFQUFHQyxJQUFELElBQVU7QUFDdkZBLFlBQUksQ0FBQ0UsV0FBTCxDQUFpQkMsS0FBakIsQ0FBdUJGLFFBQXZCLENBQWdDLENBQWhDLEVBQW1DRSxLQUFuQyxDQUF5Q0YsUUFBekMsQ0FBa0QsQ0FBbEQsRUFBcURJLElBQXJELEdBQTREK0MsY0FBNUQ7QUFDSDtBQUZ3RSxLQUE5QyxDQUEzQjtBQUdIOztBQWpHdUIsQ0FBYixFQUFmIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvYmR2Mi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBXZWJwYWNrTW9kdWxlcyBmcm9tIFwiLi93ZWJwYWNrbW9kdWxlc1wiO1xyXG5pbXBvcnQgQmRBcGkgZnJvbSBcIi4vcGx1Z2luYXBpXCI7XHJcbmltcG9ydCBCRExvZ28gZnJvbSBcIi4uL3VpL2ljb25zL2JkbG9nb1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IGNsYXNzIFYyIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmVkaXRvckRldGFjaGVkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpIHtcclxuICAgICAgICBCZEFwaS5zdXBwcmVzc0Vycm9ycyh0aGlzLnBhdGNoU29jaWFsLmJpbmQodGhpcyksIFwiQkQgU29jaWFsIFBhdGNoXCIpKCk7XHJcbiAgICAgICAgQmRBcGkuc3VwcHJlc3NFcnJvcnModGhpcy5wYXRjaEd1aWxkUGlsbHMuYmluZCh0aGlzKSwgXCJCRCBHdWlsZCBQaWxscyBQYXRjaFwiKSgpO1xyXG4gICAgICAgIEJkQXBpLnN1cHByZXNzRXJyb3JzKHRoaXMucGF0Y2hHdWlsZExpc3RJdGVtcy5iaW5kKHRoaXMpLCBcIkJEIEd1aWxkIExpc3QgSXRlbXMgUGF0Y2hcIikoKTtcclxuICAgICAgICBCZEFwaS5zdXBwcmVzc0Vycm9ycyh0aGlzLnBhdGNoR3VpbGRTZXBhcmF0b3IuYmluZCh0aGlzKSwgXCJCRCBHdWlsZCBTZXBhcmF0b3IgUGF0Y2hcIikoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbWVzc2FnZUNsYXNzZXMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJtZXNzYWdlXCIsIFwiY29udGFpbmVyQ296eVwiKTt9XHJcbiAgICBnZXQgZ3VpbGRDbGFzc2VzKCkge1xyXG5cdFx0Y29uc3QgZ3VpbGRzV3JhcHBlciA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJ3cmFwcGVyXCIsIFwidW5yZWFkTWVudGlvbnNCYXJcIik7XHJcbiAgICAgICAgY29uc3QgZ3VpbGRzID0gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImd1aWxkc0Vycm9yXCIsIFwic2VsZWN0ZWRcIik7XHJcbiAgICAgICAgY29uc3QgcGlsbCA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJibG9iQ29udGFpbmVyXCIpO1xyXG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBndWlsZHNXcmFwcGVyLCBndWlsZHMsIHBpbGwpO1xyXG5cdH1cclxuXHJcbiAgICBnZXQgTWVzc2FnZUNvbnRlbnRDb21wb25lbnQoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZShtID0+IG0uZGVmYXVsdFByb3BzICYmIG0uZGVmYXVsdFByb3BzLmhhc093blByb3BlcnR5KFwiZGlzYWJsZUJ1dHRvbnNcIikpO31cclxuICAgIGdldCBUaW1lRm9ybWF0dGVyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZGF0ZUZvcm1hdFwiKTt9XHJcbiAgICBnZXQgVG9vbHRpcFdyYXBwZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5RGlzcGxheU5hbWUoXCJUb29sdGlwRGVwcmVjYXRlZFwiKTt9XHJcbiAgICBnZXQgTmF0aXZlTW9kdWxlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwic2V0QmFkZ2VcIik7fVxyXG4gICAgZ2V0IFRvb2x0aXBzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRNb2R1bGUobSA9PiBtLmhpZGUgJiYgbS5zaG93ICYmICFtLnNlYXJjaCAmJiAhbS5zdWJtaXQgJiYgIW0uc2VhcmNoICYmICFtLmFjdGl2YXRlUmFnaW5nRGVtb24gJiYgIW0uZGlzbWlzcyk7fVxyXG4gICAgZ2V0IEtleUdlbmVyYXRvcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKG0gPT4gbS50b1N0cmluZyAmJiAvXCJiaW5hcnlcIi8udGVzdChtLnRvU3RyaW5nKCkpKTt9XHJcblxyXG4gICAgcGF0Y2hTb2NpYWwoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc29jaWFsUGF0Y2gpIHJldHVybjtcclxuICAgICAgICBjb25zdCBUYWJCYXIgPSBCZEFwaS5maW5kTW9kdWxlKG0gPT4gbS5kaXNwbGF5TmFtZSA9PSBcIlRhYkJhclwiKTtcclxuICAgICAgICBjb25zdCBBbmNob3IgPSBCZEFwaS5maW5kTW9kdWxlKG0gPT4gbS5kaXNwbGF5TmFtZSA9PSBcIkFuY2hvclwiKTtcclxuICAgICAgICBpZiAoIVRhYkJhciB8fCAhQW5jaG9yKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5zb2NpYWxQYXRjaCA9IEJkQXBpLm1vbmtleVBhdGNoKFRhYkJhci5wcm90b3R5cGUsIFwicmVuZGVyXCIsIHthZnRlcjogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBkYXRhLnJldHVyblZhbHVlLnByb3BzLmNoaWxkcmVuO1xyXG4gICAgICAgICAgICBpZiAoIWNoaWxkcmVuIHx8ICFjaGlsZHJlbi5sZW5ndGgpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDJdLnR5cGUuZGlzcGxheU5hbWUgIT09IFwiU2VwYXJhdG9yXCIpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKCFjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXS50eXBlLnRvU3RyaW5nKCkuaW5jbHVkZXMoXCJzb2NpYWxMaW5rc1wiKSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLnR5cGU7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld09uZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmV0dXJuVmFsID0gb3JpZ2luYWwoLi4uYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgIHJldHVyblZhbC5wcm9wcy5jaGlsZHJlbi5wdXNoKEJkQXBpLlJlYWN0LmNyZWF0ZUVsZW1lbnQoQW5jaG9yLCB7Y2xhc3NOYW1lOiBcImJkLXNvY2lhbC1saW5rXCIsIGhyZWY6IFwiaHR0cHM6Ly9naXRodWIuY29tL3JhdWVuemkvQmV0dGVyRGlzY29yZEFwcFwiLCByZWw6IFwiYXV0aG9yXCIsIHRpdGxlOiBcIkJhbmRhZ2VkQkRcIiwgdGFyZ2V0OiBcIl9ibGFua1wifSxcclxuICAgICAgICAgICAgICAgICAgICBCZEFwaS5SZWFjdC5jcmVhdGVFbGVtZW50KEJETG9nbywge3NpemU6IFwiMTZweFwiLCBjbGFzc05hbWU6IFwiYmQtc29jaWFsLWxvZ29cIn0pXHJcbiAgICAgICAgICAgICAgICApKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5WYWw7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGNoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdLnR5cGUgPSBuZXdPbmU7XHJcbiAgICAgICAgfX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHBhdGNoR3VpbGRMaXN0SXRlbXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3VpbGRMaXN0SXRlbXNQYXRjaCkgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGxpc3RJdGVtQ2xhc3MgPSB0aGlzLmd1aWxkQ2xhc3Nlcy5saXN0SXRlbS5zcGxpdChcIiBcIilbMF07XHJcbiAgICAgICAgY29uc3QgYmxvYkNsYXNzID0gdGhpcy5ndWlsZENsYXNzZXMuYmxvYkNvbnRhaW5lci5zcGxpdChcIiBcIilbMF07XHJcbiAgICAgICAgY29uc3QgcmVhY3RJbnN0YW5jZSA9IEJkQXBpLmdldEludGVybmFsSW5zdGFuY2UoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7bGlzdEl0ZW1DbGFzc30gLiR7YmxvYkNsYXNzfWApLnBhcmVudEVsZW1lbnQpO1xyXG4gICAgICAgIGNvbnN0IEd1aWxkQ29tcG9uZW50ID0gcmVhY3RJbnN0YW5jZS5yZXR1cm4udHlwZTtcclxuICAgICAgICBpZiAoIUd1aWxkQ29tcG9uZW50KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5ndWlsZExpc3RJdGVtc1BhdGNoID0gQmRBcGkubW9ua2V5UGF0Y2goR3VpbGRDb21wb25lbnQucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJldHVyblZhbHVlID0gZGF0YS5yZXR1cm5WYWx1ZTtcclxuICAgICAgICAgICAgY29uc3QgZ3VpbGREYXRhID0gZGF0YS50aGlzT2JqZWN0LnByb3BzO1xyXG4gICAgICAgICAgICByZXR1cm5WYWx1ZS5wcm9wcy5jbGFzc05hbWUgKz0gXCIgYmQtZ3VpbGRcIjtcclxuICAgICAgICAgICAgaWYgKGd1aWxkRGF0YS51bnJlYWQpIHJldHVyblZhbHVlLnByb3BzLmNsYXNzTmFtZSArPSBcIiBiZC11bnJlYWRcIjtcclxuICAgICAgICAgICAgaWYgKGd1aWxkRGF0YS5zZWxlY3RlZCkgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLXNlbGVjdGVkXCI7XHJcbiAgICAgICAgICAgIGlmIChndWlsZERhdGEuYXVkaW8pIHJldHVyblZhbHVlLnByb3BzLmNsYXNzTmFtZSArPSBcIiBiZC1hdWRpb1wiO1xyXG4gICAgICAgICAgICBpZiAoZ3VpbGREYXRhLnZpZGVvKSByZXR1cm5WYWx1ZS5wcm9wcy5jbGFzc05hbWUgKz0gXCIgYmQtdmlkZW9cIjtcclxuICAgICAgICAgICAgaWYgKGd1aWxkRGF0YS5iYWRnZSkgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLWJhZGdlXCI7XHJcbiAgICAgICAgICAgIGlmIChndWlsZERhdGEuYW5pbWF0YWJsZSkgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLWFuaW1hdGFibGVcIjtcclxuICAgICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gICAgICAgIH19KTtcclxuICAgIH1cclxuXHJcbiAgICBwYXRjaEd1aWxkUGlsbHMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ3VpbGRQaWxsUGF0Y2gpIHJldHVybjtcclxuICAgICAgICBjb25zdCBndWlsZFBpbGwgPSBCZEFwaS5maW5kTW9kdWxlKG0gPT4gbS5kZWZhdWx0ICYmIG0uZGVmYXVsdC50b1N0cmluZyAmJiBtLmRlZmF1bHQudG9TdHJpbmcoKS5pbmNsdWRlcyhcInRyYW5zbGF0ZTNkXCIpKTtcclxuICAgICAgICBpZiAoIWd1aWxkUGlsbCkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuZ3VpbGRQaWxsUGF0Y2ggPSBCZEFwaS5tb25rZXlQYXRjaChndWlsZFBpbGwsIFwiZGVmYXVsdFwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0gZGF0YS5tZXRob2RBcmd1bWVudHNbMF07XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy51bnJlYWQpIGRhdGEucmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLXVucmVhZFwiO1xyXG4gICAgICAgICAgICBpZiAocHJvcHMuc2VsZWN0ZWQpIGRhdGEucmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLXNlbGVjdGVkXCI7XHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5ob3ZlcmVkKSBkYXRhLnJldHVyblZhbHVlLnByb3BzLmNsYXNzTmFtZSArPSBcIiBiZC1ob3ZlcmVkXCI7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJldHVyblZhbHVlO1xyXG4gICAgICAgIH19KTtcclxuICAgIH1cclxuXHJcbiAgICBwYXRjaEd1aWxkU2VwYXJhdG9yKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmd1aWxkU2VwYXJhdG9yUGF0Y2gpIHJldHVybjtcclxuICAgICAgICBjb25zdCBHdWlsZHMgPSBCZEFwaS5maW5kTW9kdWxlQnlEaXNwbGF5TmFtZShcIkd1aWxkc1wiKTtcclxuICAgICAgICBjb25zdCBndWlsZENvbXBvbmVudHMgPSBCZEFwaS5maW5kTW9kdWxlQnlQcm9wcyhcInJlbmRlckxpc3RJdGVtXCIpO1xyXG4gICAgICAgIGlmICghZ3VpbGRDb21wb25lbnRzIHx8ICFHdWlsZHMpIHJldHVybjtcclxuICAgICAgICBjb25zdCBHdWlsZFNlcGFyYXRvciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICBjb25zdCByZXR1cm5WYWx1ZSA9IGd1aWxkQ29tcG9uZW50cy5TZXBhcmF0b3IoLi4uYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgcmV0dXJuVmFsdWUucHJvcHMuY2xhc3NOYW1lICs9IFwiIGJkLWd1aWxkLXNlcGFyYXRvclwiO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0dXJuVmFsdWU7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmd1aWxkU2VwYXJhdG9yUGF0Y2ggPSBCZEFwaS5tb25rZXlQYXRjaChHdWlsZHMucHJvdG90eXBlLCBcInJlbmRlclwiLCB7YWZ0ZXI6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGRhdGEucmV0dXJuVmFsdWUucHJvcHMuY2hpbGRyZW5bMV0ucHJvcHMuY2hpbGRyZW5bM10udHlwZSA9IEd1aWxkU2VwYXJhdG9yO1xyXG4gICAgICAgIH19KTtcclxuICAgIH1cclxuXHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/bdv2.js\n");
/***/ }),
/***/ "./src/modules/contentmanager.js":
/*!***************************************!*\
!*** ./src/modules/contentmanager.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ContentManager; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../structs/contenterror */ \"./src/structs/contenterror.js\");\n/* harmony import */ var _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../structs/metaerror */ \"./src/structs/metaerror.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nconst Module = __webpack_require__(/*! module */ \"module\").Module;\n\nModule.globalPaths.push(path.resolve(__webpack_require__(/*! electron */ \"electron\").remote.app.getAppPath(), \"node_modules\"));\nconst splitRegex = /[^\\S\\r\\n]*?\\n[^\\S\\r\\n]*?\\*[^\\S\\r\\n]?/;\nconst escapedAtRegex = /^\\\\@/;\nclass ContentManager {\n get name() {\n return \"\";\n }\n\n get moduleExtension() {\n return \"\";\n }\n\n get extension() {\n return \"\";\n }\n\n get contentFolder() {\n return \"\";\n }\n\n get prefix() {\n return \"content\";\n }\n\n get collection() {\n return \"settings\";\n }\n\n get category() {\n return \"content\";\n }\n\n get id() {\n return \"autoReload\";\n }\n\n emit(event, ...args) {\n return _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].emit(`${this.prefix}-${event}`, ...args);\n }\n\n constructor() {\n this.timeCache = {};\n this.contentList = [];\n this.state = {};\n this.originalRequire = Module._extensions[this.moduleExtension];\n Module._extensions[this.moduleExtension] = this.getContentRequire();\n _settingsmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"].on(this.collection, this.category, this.id, enabled => {\n if (enabled) this.watchContent();else this.unwatchContent();\n });\n } // Subclasses should overload this and modify the content object as needed to fully load it\n\n\n initializeContent() {\n return;\n } // Subclasses should overload this and modify the content as needed to require() the file\n\n\n getContentModification(module, content) {\n return content;\n }\n\n startContent() {\n return;\n }\n\n stopContent() {\n return;\n }\n\n loadState() {\n const saved = _datastore__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getData(`${this.prefix}s`);\n if (!saved) return;\n Object.assign(this.state, saved);\n }\n\n saveState() {\n _datastore__WEBPACK_IMPORTED_MODULE_3__[\"default\"].setData(`${this.prefix}s`, this.state);\n }\n\n watchContent() {\n if (this.watcher) return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].err(this.name, \"Already watching content.\");\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(this.name, \"Starting to watch content.\");\n this.watcher = fs.watch(this.contentFolder, {\n persistent: false\n }, async (eventType, filename) => {\n if (!eventType || !filename || !filename.endsWith(this.extension)) return;\n await new Promise(r => setTimeout(r, 50));\n\n try {\n fs.statSync(path.resolve(this.contentFolder, filename));\n } catch (err) {\n if (err.code !== \"ENOENT\") return;\n delete this.timeCache[filename];\n this.unloadContent(filename, true);\n }\n\n if (!fs.statSync(path.resolve(this.contentFolder, filename)).isFile()) return;\n const stats = fs.statSync(path.resolve(this.contentFolder, filename));\n if (!stats || !stats.mtime || !stats.mtime.getTime()) return;\n if (typeof stats.mtime.getTime() !== \"number\") return;\n if (this.timeCache[filename] == stats.mtime.getTime()) return;\n this.timeCache[filename] = stats.mtime.getTime();\n if (eventType == \"rename\") this.loadContent(filename, true);\n if (eventType == \"change\") this.reloadContent(filename, true);\n });\n }\n\n unwatchContent() {\n if (!this.watcher) return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].err(this.name, \"Was not watching content.\");\n this.watcher.close();\n delete this.watcher;\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(this.name, \"No longer watching content.\");\n }\n\n extractMeta(content) {\n const firstLine = content.split(\"\\n\")[0];\n const hasOldMeta = firstLine.includes(\"//META\");\n if (hasOldMeta) return this.parseOldMeta(content);\n const hasNewMeta = firstLine.includes(\"/**\");\n if (hasNewMeta) return this.parseNewMeta(content);\n throw new _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__[\"default\"](\"META was not found.\");\n }\n\n parseOldMeta(content) {\n const meta = content.split(\"\\n\")[0];\n const metaData = meta.substring(meta.lastIndexOf(\"//META\") + 6, meta.lastIndexOf(\"*//\"));\n if (!_utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].testJSON(metaData)) throw new _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__[\"default\"](\"META could not be parsed.\");\n const parsed = JSON.parse(metaData);\n if (!parsed.name) throw new _structs_metaerror__WEBPACK_IMPORTED_MODULE_5__[\"default\"](\"META missing name data.\");\n return parsed;\n }\n\n parseNewMeta(content) {\n const block = content.split(\"/**\", 2)[1].split(\"*/\", 1)[0];\n const out = {};\n let field = \"\";\n let accum = \"\";\n\n for (const line of block.split(splitRegex)) {\n if (line.length === 0) continue;\n\n if (line.charAt(0) === \"@\" && line.charAt(1) !== \" \") {\n out[field] = accum;\n const l = line.indexOf(\" \");\n field = line.substr(1, l - 1);\n accum = line.substr(l + 1);\n } else {\n accum += \" \" + line.replace(\"\\\\n\", \"\\n\").replace(escapedAtRegex, \"@\");\n }\n }\n\n out[field] = accum.trim();\n delete out[\"\"];\n return out;\n }\n\n getContentRequire() {\n const self = this; // const baseFolder = this.contentFolder;\n\n const originalRequire = this.originalRequire;\n return function (module, filename) {\n const possiblePath = path.resolve(self.contentFolder, path.basename(filename));\n if (!fs.existsSync(possiblePath) || filename !== fs.realpathSync(possiblePath)) return Reflect.apply(originalRequire, this, arguments);\n let content = fs.readFileSync(filename, \"utf8\");\n content = _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].stripBOM(content);\n const meta = self.extractMeta(content);\n meta.id = meta.name;\n meta.filename = path.basename(filename);\n content = self.getContentModification(module, content, meta);\n\n module._compile(content, filename);\n };\n } // Subclasses should use the return (if not ContentError) and push to this.contentList\n\n\n loadContent(filename, shouldToast = false) {\n if (typeof filename === \"undefined\") return;\n\n try {\n require(path.resolve(this.contentFolder, filename));\n } catch (error) {\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](filename, filename, \"Could not be compiled.\", {\n message: error.message,\n stack: error.stack\n });\n }\n\n const content = require(path.resolve(this.contentFolder, filename));\n\n if (this.contentList.find(c => c.id == content.id)) return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, filename, `There is already a plugin with name ${content.name}`);\n const error = this.initializeContent(content);\n if (error) return error;\n this.contentList.push(content);\n if (shouldToast) ui__WEBPACK_IMPORTED_MODULE_6__[\"Toasts\"].success(`${content.name} v${content.version} was loaded.`);\n this.emit(\"loaded\", content.id);\n if (!this.state[content.id]) return this.state[content.id] = false;\n return this.startContent(content);\n }\n\n unloadContent(idOrFileOrContent, shouldToast = true, isReload = false) {\n const content = typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n if (!content) return false;\n if (this.state[content.id]) isReload ? this.stopContent(content) : this.disableContent(content);\n delete require.cache[require.resolve(path.resolve(this.contentFolder, content.filename))];\n this.contentList.splice(this.contentList.indexOf(content), 1);\n this.emit(\"unloaded\", content.id);\n if (shouldToast) ui__WEBPACK_IMPORTED_MODULE_6__[\"Toasts\"].success(`${content.name} was unloaded.`);\n return true;\n }\n\n reloadContent(idOrFileOrContent, shouldToast = true) {\n const content = typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n const didUnload = this.unloadContent(content, shouldToast, true);\n if (!didUnload) return didUnload;\n return this.loadContent(content.filename, shouldToast);\n }\n\n isLoaded(idOrFile) {\n const content = this.contentList.find(c => c.id == idOrFile || c.filename == idOrFile);\n if (!content) return false;\n return true;\n }\n\n isEnabled(idOrFile) {\n const content = this.contentList.find(c => c.id == idOrFile || c.filename == idOrFile);\n if (!content) return false;\n return this.state[content.id];\n }\n\n enableContent(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n if (this.state[content.id]) return;\n this.state[content.id] = true;\n this.startContent(content);\n this.saveState();\n }\n\n disableContent(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n if (!this.state[content.id]) return;\n this.state[content.id] = false;\n this.stopContent(content);\n this.saveState();\n }\n\n toggleContent(id) {\n if (this.state[id]) this.disableContent(id);else this.enableContent(id);\n }\n\n loadNewContent() {\n const files = fs.readdirSync(this.contentFolder);\n const removed = this.contentList.filter(t => !files.includes(t.filename)).map(c => c.id);\n const added = files.filter(f => !this.contentList.find(t => t.filename == f) && f.endsWith(this.extension) && fs.statSync(path.resolve(this.contentFolder, f)).isFile());\n return {\n added,\n removed\n };\n }\n\n updateList() {\n const results = this.loadNewContent();\n\n for (const filename of results.added) this.loadContent(filename);\n\n for (const name of results.removed) this.unloadContent(name);\n }\n\n loadAllContent() {\n this.loadState();\n const errors = [];\n const files = fs.readdirSync(this.contentFolder);\n\n for (const filename of files) {\n if (!fs.statSync(path.resolve(this.contentFolder, filename)).isFile() || !filename.endsWith(this.extension)) continue;\n const content = this.loadContent(filename, false);\n if (content instanceof _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) errors.push(content);\n }\n\n this.saveState();\n if (_settingsmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"].get(this.collection, this.category, this.id)) this.watchContent();\n return errors;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvY29udGVudG1hbmFnZXIuanM/OTA0MyJdLCJuYW1lcyI6WyJwYXRoIiwicmVxdWlyZSIsImZzIiwiTW9kdWxlIiwiZ2xvYmFsUGF0aHMiLCJwdXNoIiwicmVzb2x2ZSIsInJlbW90ZSIsImFwcCIsImdldEFwcFBhdGgiLCJzcGxpdFJlZ2V4IiwiZXNjYXBlZEF0UmVnZXgiLCJDb250ZW50TWFuYWdlciIsIm5hbWUiLCJtb2R1bGVFeHRlbnNpb24iLCJleHRlbnNpb24iLCJjb250ZW50Rm9sZGVyIiwicHJlZml4IiwiY29sbGVjdGlvbiIsImNhdGVnb3J5IiwiaWQiLCJlbWl0IiwiZXZlbnQiLCJhcmdzIiwiRXZlbnRzIiwiY29uc3RydWN0b3IiLCJ0aW1lQ2FjaGUiLCJjb250ZW50TGlzdCIsInN0YXRlIiwib3JpZ2luYWxSZXF1aXJlIiwiX2V4dGVuc2lvbnMiLCJnZXRDb250ZW50UmVxdWlyZSIsIlNldHRpbmdzIiwib24iLCJlbmFibGVkIiwid2F0Y2hDb250ZW50IiwidW53YXRjaENvbnRlbnQiLCJpbml0aWFsaXplQ29udGVudCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJjb250ZW50Iiwic3RhcnRDb250ZW50Iiwic3RvcENvbnRlbnQiLCJsb2FkU3RhdGUiLCJzYXZlZCIsIkRhdGFTdG9yZSIsImdldERhdGEiLCJPYmplY3QiLCJhc3NpZ24iLCJzYXZlU3RhdGUiLCJzZXREYXRhIiwid2F0Y2hlciIsIlV0aWxpdGllcyIsImVyciIsImxvZyIsIndhdGNoIiwicGVyc2lzdGVudCIsImV2ZW50VHlwZSIsImZpbGVuYW1lIiwiZW5kc1dpdGgiLCJQcm9taXNlIiwiciIsInNldFRpbWVvdXQiLCJzdGF0U3luYyIsImNvZGUiLCJ1bmxvYWRDb250ZW50IiwiaXNGaWxlIiwic3RhdHMiLCJtdGltZSIsImdldFRpbWUiLCJsb2FkQ29udGVudCIsInJlbG9hZENvbnRlbnQiLCJjbG9zZSIsImV4dHJhY3RNZXRhIiwiZmlyc3RMaW5lIiwic3BsaXQiLCJoYXNPbGRNZXRhIiwiaW5jbHVkZXMiLCJwYXJzZU9sZE1ldGEiLCJoYXNOZXdNZXRhIiwicGFyc2VOZXdNZXRhIiwiTWV0YUVycm9yIiwibWV0YSIsIm1ldGFEYXRhIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJ0ZXN0SlNPTiIsInBhcnNlZCIsIkpTT04iLCJwYXJzZSIsImJsb2NrIiwib3V0IiwiZmllbGQiLCJhY2N1bSIsImxpbmUiLCJsZW5ndGgiLCJjaGFyQXQiLCJsIiwiaW5kZXhPZiIsInN1YnN0ciIsInJlcGxhY2UiLCJ0cmltIiwic2VsZiIsInBvc3NpYmxlUGF0aCIsImJhc2VuYW1lIiwiZXhpc3RzU3luYyIsInJlYWxwYXRoU3luYyIsIlJlZmxlY3QiLCJhcHBseSIsImFyZ3VtZW50cyIsInJlYWRGaWxlU3luYyIsInN0cmlwQk9NIiwiX2NvbXBpbGUiLCJzaG91bGRUb2FzdCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwiZXJyb3IiLCJDb250ZW50RXJyb3IiLCJtZXNzYWdlIiwic3RhY2siLCJmaW5kIiwiYyIsIlRvYXN0cyIsInN1Y2Nlc3MiLCJ2ZXJzaW9uIiwiaWRPckZpbGVPckNvbnRlbnQiLCJpc1JlbG9hZCIsImRpc2FibGVDb250ZW50IiwiY2FjaGUiLCJzcGxpY2UiLCJkaWRVbmxvYWQiLCJpc0xvYWRlZCIsImlkT3JGaWxlIiwiaXNFbmFibGVkIiwiZW5hYmxlQ29udGVudCIsImlkT3JDb250ZW50IiwicCIsInRvZ2dsZUNvbnRlbnQiLCJsb2FkTmV3Q29udGVudCIsImZpbGVzIiwicmVhZGRpclN5bmMiLCJyZW1vdmVkIiwiZmlsdGVyIiwidCIsIm1hcCIsImFkZGVkIiwiZiIsInVwZGF0ZUxpc3QiLCJyZXN1bHRzIiwibG9hZEFsbENvbnRlbnQiLCJlcnJvcnMiLCJnZXQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1BLElBQUksR0FBR0MsbUJBQU8sQ0FBQyxrQkFBRCxDQUFwQjs7QUFDQSxNQUFNQyxFQUFFLEdBQUdELG1CQUFPLENBQUMsY0FBRCxDQUFsQjs7QUFDQSxNQUFNRSxNQUFNLEdBQUdGLG1CQUFPLENBQUMsc0JBQUQsQ0FBUCxDQUFrQkUsTUFBakM7O0FBQ0FBLE1BQU0sQ0FBQ0MsV0FBUCxDQUFtQkMsSUFBbkIsQ0FBd0JMLElBQUksQ0FBQ00sT0FBTCxDQUFhTCxtQkFBTyxDQUFDLDBCQUFELENBQVAsQ0FBb0JNLE1BQXBCLENBQTJCQyxHQUEzQixDQUErQkMsVUFBL0IsRUFBYixFQUEwRCxjQUExRCxDQUF4QjtBQUVBLE1BQU1DLFVBQVUsR0FBRyxzQ0FBbkI7QUFDQSxNQUFNQyxjQUFjLEdBQUcsTUFBdkI7QUFFZSxNQUFNQyxjQUFOLENBQXFCO0FBRWhDLE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sRUFBUDtBQUFXOztBQUN2QixNQUFJQyxlQUFKLEdBQXNCO0FBQUMsV0FBTyxFQUFQO0FBQVc7O0FBQ2xDLE1BQUlDLFNBQUosR0FBZ0I7QUFBQyxXQUFPLEVBQVA7QUFBVzs7QUFDNUIsTUFBSUMsYUFBSixHQUFvQjtBQUFDLFdBQU8sRUFBUDtBQUFXOztBQUNoQyxNQUFJQyxNQUFKLEdBQWE7QUFBQyxXQUFPLFNBQVA7QUFBa0I7O0FBQ2hDLE1BQUlDLFVBQUosR0FBaUI7QUFBQyxXQUFPLFVBQVA7QUFBbUI7O0FBQ3JDLE1BQUlDLFFBQUosR0FBZTtBQUFDLFdBQU8sU0FBUDtBQUFrQjs7QUFDbEMsTUFBSUMsRUFBSixHQUFTO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUMvQkMsTUFBSSxDQUFDQyxLQUFELEVBQVEsR0FBR0MsSUFBWCxFQUFpQjtBQUFDLFdBQU9DLGdEQUFNLENBQUNILElBQVAsQ0FBYSxHQUFFLEtBQUtKLE1BQU8sSUFBR0ssS0FBTSxFQUFwQyxFQUF1QyxHQUFHQyxJQUExQyxDQUFQO0FBQXdEOztBQUU5RUUsYUFBVyxHQUFHO0FBQ1YsU0FBS0MsU0FBTCxHQUFpQixFQUFqQjtBQUNBLFNBQUtDLFdBQUwsR0FBbUIsRUFBbkI7QUFDQSxTQUFLQyxLQUFMLEdBQWEsRUFBYjtBQUNBLFNBQUtDLGVBQUwsR0FBdUIxQixNQUFNLENBQUMyQixXQUFQLENBQW1CLEtBQUtoQixlQUF4QixDQUF2QjtBQUNBWCxVQUFNLENBQUMyQixXQUFQLENBQW1CLEtBQUtoQixlQUF4QixJQUEyQyxLQUFLaUIsaUJBQUwsRUFBM0M7QUFDQUMsNERBQVEsQ0FBQ0MsRUFBVCxDQUFZLEtBQUtmLFVBQWpCLEVBQTZCLEtBQUtDLFFBQWxDLEVBQTRDLEtBQUtDLEVBQWpELEVBQXNEYyxPQUFELElBQWE7QUFDOUQsVUFBSUEsT0FBSixFQUFhLEtBQUtDLFlBQUwsR0FBYixLQUNLLEtBQUtDLGNBQUw7QUFDUixLQUhEO0FBSUgsR0F0QitCLENBd0JoQzs7O0FBQ0FDLG1CQUFpQixHQUFHO0FBQUM7QUFBUSxHQXpCRyxDQTJCaEM7OztBQUNBQyx3QkFBc0IsQ0FBQ0MsTUFBRCxFQUFTQyxPQUFULEVBQWtCO0FBQUMsV0FBT0EsT0FBUDtBQUFnQjs7QUFFekRDLGNBQVksR0FBRztBQUFDO0FBQVE7O0FBQ3hCQyxhQUFXLEdBQUc7QUFBQztBQUFROztBQUV2QkMsV0FBUyxHQUFHO0FBQ1IsVUFBTUMsS0FBSyxHQUFHQyxrREFBUyxDQUFDQyxPQUFWLENBQW1CLEdBQUUsS0FBSzdCLE1BQU8sR0FBakMsQ0FBZDtBQUNBLFFBQUksQ0FBQzJCLEtBQUwsRUFBWTtBQUNaRyxVQUFNLENBQUNDLE1BQVAsQ0FBYyxLQUFLcEIsS0FBbkIsRUFBMEJnQixLQUExQjtBQUNIOztBQUVESyxXQUFTLEdBQUc7QUFDUkosc0RBQVMsQ0FBQ0ssT0FBVixDQUFtQixHQUFFLEtBQUtqQyxNQUFPLEdBQWpDLEVBQXFDLEtBQUtXLEtBQTFDO0FBQ0g7O0FBRURPLGNBQVksR0FBRztBQUNYLFFBQUksS0FBS2dCLE9BQVQsRUFBa0IsT0FBT0Msa0RBQVMsQ0FBQ0MsR0FBVixDQUFjLEtBQUt4QyxJQUFuQixFQUF5QiwyQkFBekIsQ0FBUDtBQUNsQnVDLHNEQUFTLENBQUNFLEdBQVYsQ0FBYyxLQUFLekMsSUFBbkIsRUFBeUIsNEJBQXpCO0FBQ0EsU0FBS3NDLE9BQUwsR0FBZWpELEVBQUUsQ0FBQ3FELEtBQUgsQ0FBUyxLQUFLdkMsYUFBZCxFQUE2QjtBQUFDd0MsZ0JBQVUsRUFBRTtBQUFiLEtBQTdCLEVBQWtELE9BQU9DLFNBQVAsRUFBa0JDLFFBQWxCLEtBQStCO0FBQzVGLFVBQUksQ0FBQ0QsU0FBRCxJQUFjLENBQUNDLFFBQWYsSUFBMkIsQ0FBQ0EsUUFBUSxDQUFDQyxRQUFULENBQWtCLEtBQUs1QyxTQUF2QixDQUFoQyxFQUFtRTtBQUNuRSxZQUFNLElBQUk2QyxPQUFKLENBQVlDLENBQUMsSUFBSUMsVUFBVSxDQUFDRCxDQUFELEVBQUksRUFBSixDQUEzQixDQUFOOztBQUNBLFVBQUk7QUFBQzNELFVBQUUsQ0FBQzZELFFBQUgsQ0FBWS9ELElBQUksQ0FBQ00sT0FBTCxDQUFhLEtBQUtVLGFBQWxCLEVBQWlDMEMsUUFBakMsQ0FBWjtBQUF5RCxPQUE5RCxDQUNBLE9BQU9MLEdBQVAsRUFBWTtBQUNSLFlBQUlBLEdBQUcsQ0FBQ1csSUFBSixLQUFhLFFBQWpCLEVBQTJCO0FBQzNCLGVBQU8sS0FBS3RDLFNBQUwsQ0FBZWdDLFFBQWYsQ0FBUDtBQUNBLGFBQUtPLGFBQUwsQ0FBbUJQLFFBQW5CLEVBQTZCLElBQTdCO0FBQ0g7O0FBQ0QsVUFBSSxDQUFDeEQsRUFBRSxDQUFDNkQsUUFBSCxDQUFZL0QsSUFBSSxDQUFDTSxPQUFMLENBQWEsS0FBS1UsYUFBbEIsRUFBaUMwQyxRQUFqQyxDQUFaLEVBQXdEUSxNQUF4RCxFQUFMLEVBQXVFO0FBQ3ZFLFlBQU1DLEtBQUssR0FBR2pFLEVBQUUsQ0FBQzZELFFBQUgsQ0FBWS9ELElBQUksQ0FBQ00sT0FBTCxDQUFhLEtBQUtVLGFBQWxCLEVBQWlDMEMsUUFBakMsQ0FBWixDQUFkO0FBQ0EsVUFBSSxDQUFDUyxLQUFELElBQVUsQ0FBQ0EsS0FBSyxDQUFDQyxLQUFqQixJQUEwQixDQUFDRCxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsT0FBWixFQUEvQixFQUFzRDtBQUN0RCxVQUFJLE9BQU9GLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxPQUFaLEVBQVAsS0FBa0MsUUFBdEMsRUFBZ0Q7QUFDaEQsVUFBSSxLQUFLM0MsU0FBTCxDQUFlZ0MsUUFBZixLQUE0QlMsS0FBSyxDQUFDQyxLQUFOLENBQVlDLE9BQVosRUFBaEMsRUFBdUQ7QUFDdkQsV0FBSzNDLFNBQUwsQ0FBZWdDLFFBQWYsSUFBMkJTLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxPQUFaLEVBQTNCO0FBQ0EsVUFBSVosU0FBUyxJQUFJLFFBQWpCLEVBQTJCLEtBQUthLFdBQUwsQ0FBaUJaLFFBQWpCLEVBQTJCLElBQTNCO0FBQzNCLFVBQUlELFNBQVMsSUFBSSxRQUFqQixFQUEyQixLQUFLYyxhQUFMLENBQW1CYixRQUFuQixFQUE2QixJQUE3QjtBQUM5QixLQWpCYyxDQUFmO0FBa0JIOztBQUVEdEIsZ0JBQWMsR0FBRztBQUNiLFFBQUksQ0FBQyxLQUFLZSxPQUFWLEVBQW1CLE9BQU9DLGtEQUFTLENBQUNDLEdBQVYsQ0FBYyxLQUFLeEMsSUFBbkIsRUFBeUIsMkJBQXpCLENBQVA7QUFDbkIsU0FBS3NDLE9BQUwsQ0FBYXFCLEtBQWI7QUFDQSxXQUFPLEtBQUtyQixPQUFaO0FBQ0FDLHNEQUFTLENBQUNFLEdBQVYsQ0FBYyxLQUFLekMsSUFBbkIsRUFBeUIsNkJBQXpCO0FBQ0g7O0FBRUQ0RCxhQUFXLENBQUNqQyxPQUFELEVBQVU7QUFDakIsVUFBTWtDLFNBQVMsR0FBR2xDLE9BQU8sQ0FBQ21DLEtBQVIsQ0FBYyxJQUFkLEVBQW9CLENBQXBCLENBQWxCO0FBQ0EsVUFBTUMsVUFBVSxHQUFHRixTQUFTLENBQUNHLFFBQVYsQ0FBbUIsUUFBbkIsQ0FBbkI7QUFDQSxRQUFJRCxVQUFKLEVBQWdCLE9BQU8sS0FBS0UsWUFBTCxDQUFrQnRDLE9BQWxCLENBQVA7QUFDaEIsVUFBTXVDLFVBQVUsR0FBR0wsU0FBUyxDQUFDRyxRQUFWLENBQW1CLEtBQW5CLENBQW5CO0FBQ0EsUUFBSUUsVUFBSixFQUFnQixPQUFPLEtBQUtDLFlBQUwsQ0FBa0J4QyxPQUFsQixDQUFQO0FBQ2hCLFVBQU0sSUFBSXlDLDBEQUFKLENBQWMscUJBQWQsQ0FBTjtBQUNIOztBQUVESCxjQUFZLENBQUN0QyxPQUFELEVBQVU7QUFDbEIsVUFBTTBDLElBQUksR0FBRzFDLE9BQU8sQ0FBQ21DLEtBQVIsQ0FBYyxJQUFkLEVBQW9CLENBQXBCLENBQWI7QUFDQSxVQUFNUSxRQUFRLEdBQUdELElBQUksQ0FBQ0UsU0FBTCxDQUFlRixJQUFJLENBQUNHLFdBQUwsQ0FBaUIsUUFBakIsSUFBNkIsQ0FBNUMsRUFBK0NILElBQUksQ0FBQ0csV0FBTCxDQUFpQixLQUFqQixDQUEvQyxDQUFqQjtBQUNBLFFBQUksQ0FBQ2pDLGtEQUFTLENBQUNrQyxRQUFWLENBQW1CSCxRQUFuQixDQUFMLEVBQW1DLE1BQU0sSUFBSUYsMERBQUosQ0FBYywyQkFBZCxDQUFOO0FBRW5DLFVBQU1NLE1BQU0sR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdOLFFBQVgsQ0FBZjtBQUNBLFFBQUksQ0FBQ0ksTUFBTSxDQUFDMUUsSUFBWixFQUFrQixNQUFNLElBQUlvRSwwREFBSixDQUFjLHlCQUFkLENBQU47QUFDbEIsV0FBT00sTUFBUDtBQUNIOztBQUVEUCxjQUFZLENBQUN4QyxPQUFELEVBQVU7QUFDbEIsVUFBTWtELEtBQUssR0FBR2xELE9BQU8sQ0FBQ21DLEtBQVIsQ0FBYyxLQUFkLEVBQXFCLENBQXJCLEVBQXdCLENBQXhCLEVBQTJCQSxLQUEzQixDQUFpQyxJQUFqQyxFQUF1QyxDQUF2QyxFQUEwQyxDQUExQyxDQUFkO0FBQ0EsVUFBTWdCLEdBQUcsR0FBRyxFQUFaO0FBQ0EsUUFBSUMsS0FBSyxHQUFHLEVBQVo7QUFDQSxRQUFJQyxLQUFLLEdBQUcsRUFBWjs7QUFDQSxTQUFLLE1BQU1DLElBQVgsSUFBbUJKLEtBQUssQ0FBQ2YsS0FBTixDQUFZakUsVUFBWixDQUFuQixFQUE0QztBQUN4QyxVQUFJb0YsSUFBSSxDQUFDQyxNQUFMLEtBQWdCLENBQXBCLEVBQXVCOztBQUN2QixVQUFJRCxJQUFJLENBQUNFLE1BQUwsQ0FBWSxDQUFaLE1BQW1CLEdBQW5CLElBQTBCRixJQUFJLENBQUNFLE1BQUwsQ0FBWSxDQUFaLE1BQW1CLEdBQWpELEVBQXNEO0FBQ2xETCxXQUFHLENBQUNDLEtBQUQsQ0FBSCxHQUFhQyxLQUFiO0FBQ0EsY0FBTUksQ0FBQyxHQUFHSCxJQUFJLENBQUNJLE9BQUwsQ0FBYSxHQUFiLENBQVY7QUFDQU4sYUFBSyxHQUFHRSxJQUFJLENBQUNLLE1BQUwsQ0FBWSxDQUFaLEVBQWVGLENBQUMsR0FBRyxDQUFuQixDQUFSO0FBQ0FKLGFBQUssR0FBR0MsSUFBSSxDQUFDSyxNQUFMLENBQVlGLENBQUMsR0FBRyxDQUFoQixDQUFSO0FBQ0gsT0FMRCxNQU1LO0FBQ0RKLGFBQUssSUFBSSxNQUFNQyxJQUFJLENBQUNNLE9BQUwsQ0FBYSxLQUFiLEVBQW9CLElBQXBCLEVBQTBCQSxPQUExQixDQUFrQ3pGLGNBQWxDLEVBQWtELEdBQWxELENBQWY7QUFDSDtBQUNKOztBQUNEZ0YsT0FBRyxDQUFDQyxLQUFELENBQUgsR0FBYUMsS0FBSyxDQUFDUSxJQUFOLEVBQWI7QUFDQSxXQUFPVixHQUFHLENBQUMsRUFBRCxDQUFWO0FBQ0EsV0FBT0EsR0FBUDtBQUNIOztBQUVENUQsbUJBQWlCLEdBQUc7QUFDaEIsVUFBTXVFLElBQUksR0FBRyxJQUFiLENBRGdCLENBRWhCOztBQUNBLFVBQU16RSxlQUFlLEdBQUcsS0FBS0EsZUFBN0I7QUFDQSxXQUFPLFVBQVNVLE1BQVQsRUFBaUJtQixRQUFqQixFQUEyQjtBQUM5QixZQUFNNkMsWUFBWSxHQUFHdkcsSUFBSSxDQUFDTSxPQUFMLENBQWFnRyxJQUFJLENBQUN0RixhQUFsQixFQUFpQ2hCLElBQUksQ0FBQ3dHLFFBQUwsQ0FBYzlDLFFBQWQsQ0FBakMsQ0FBckI7QUFDQSxVQUFJLENBQUN4RCxFQUFFLENBQUN1RyxVQUFILENBQWNGLFlBQWQsQ0FBRCxJQUFnQzdDLFFBQVEsS0FBS3hELEVBQUUsQ0FBQ3dHLFlBQUgsQ0FBZ0JILFlBQWhCLENBQWpELEVBQWdGLE9BQU9JLE9BQU8sQ0FBQ0MsS0FBUixDQUFjL0UsZUFBZCxFQUErQixJQUEvQixFQUFxQ2dGLFNBQXJDLENBQVA7QUFDaEYsVUFBSXJFLE9BQU8sR0FBR3RDLEVBQUUsQ0FBQzRHLFlBQUgsQ0FBZ0JwRCxRQUFoQixFQUEwQixNQUExQixDQUFkO0FBQ0FsQixhQUFPLEdBQUdZLGtEQUFTLENBQUMyRCxRQUFWLENBQW1CdkUsT0FBbkIsQ0FBVjtBQUNBLFlBQU0wQyxJQUFJLEdBQUdvQixJQUFJLENBQUM3QixXQUFMLENBQWlCakMsT0FBakIsQ0FBYjtBQUNBMEMsVUFBSSxDQUFDOUQsRUFBTCxHQUFVOEQsSUFBSSxDQUFDckUsSUFBZjtBQUNBcUUsVUFBSSxDQUFDeEIsUUFBTCxHQUFnQjFELElBQUksQ0FBQ3dHLFFBQUwsQ0FBYzlDLFFBQWQsQ0FBaEI7QUFDQWxCLGFBQU8sR0FBRzhELElBQUksQ0FBQ2hFLHNCQUFMLENBQTRCQyxNQUE1QixFQUFvQ0MsT0FBcEMsRUFBNkMwQyxJQUE3QyxDQUFWOztBQUNBM0MsWUFBTSxDQUFDeUUsUUFBUCxDQUFnQnhFLE9BQWhCLEVBQXlCa0IsUUFBekI7QUFDSCxLQVZEO0FBV0gsR0FqSStCLENBbUloQzs7O0FBQ0FZLGFBQVcsQ0FBQ1osUUFBRCxFQUFXdUQsV0FBVyxHQUFHLEtBQXpCLEVBQWdDO0FBQ3ZDLFFBQUksT0FBT3ZELFFBQVAsS0FBcUIsV0FBekIsRUFBc0M7O0FBQ3RDLFFBQUk7QUFBQ3dELGFBQXVCLENBQUNsSCxJQUFJLENBQUNNLE9BQUwsQ0FBYSxLQUFLVSxhQUFsQixFQUFpQzBDLFFBQWpDLENBQUQsQ0FBdkI7QUFBcUUsS0FBMUUsQ0FDQSxPQUFPeUQsS0FBUCxFQUFjO0FBQUMsYUFBTyxJQUFJQyw2REFBSixDQUFpQjFELFFBQWpCLEVBQTJCQSxRQUEzQixFQUFxQyx3QkFBckMsRUFBK0Q7QUFBQzJELGVBQU8sRUFBRUYsS0FBSyxDQUFDRSxPQUFoQjtBQUF5QkMsYUFBSyxFQUFFSCxLQUFLLENBQUNHO0FBQXRDLE9BQS9ELENBQVA7QUFBcUg7O0FBQ3BJLFVBQU05RSxPQUFPLEdBQUcwRSxPQUF1QixDQUFDbEgsSUFBSSxDQUFDTSxPQUFMLENBQWEsS0FBS1UsYUFBbEIsRUFBaUMwQyxRQUFqQyxDQUFELENBQXZDOztBQUNBLFFBQUksS0FBSy9CLFdBQUwsQ0FBaUI0RixJQUFqQixDQUFzQkMsQ0FBQyxJQUFJQSxDQUFDLENBQUNwRyxFQUFGLElBQVFvQixPQUFPLENBQUNwQixFQUEzQyxDQUFKLEVBQW9ELE9BQU8sSUFBSWdHLDZEQUFKLENBQWlCNUUsT0FBTyxDQUFDM0IsSUFBekIsRUFBK0I2QyxRQUEvQixFQUEwQyx1Q0FBc0NsQixPQUFPLENBQUMzQixJQUFLLEVBQTdGLENBQVA7QUFDcEQsVUFBTXNHLEtBQUssR0FBRyxLQUFLOUUsaUJBQUwsQ0FBdUJHLE9BQXZCLENBQWQ7QUFDQSxRQUFJMkUsS0FBSixFQUFXLE9BQU9BLEtBQVA7QUFDWCxTQUFLeEYsV0FBTCxDQUFpQnRCLElBQWpCLENBQXNCbUMsT0FBdEI7QUFDQSxRQUFJeUUsV0FBSixFQUFpQlEseUNBQU0sQ0FBQ0MsT0FBUCxDQUFnQixHQUFFbEYsT0FBTyxDQUFDM0IsSUFBSyxLQUFJMkIsT0FBTyxDQUFDbUYsT0FBUSxjQUFuRDtBQUNqQixTQUFLdEcsSUFBTCxDQUFVLFFBQVYsRUFBb0JtQixPQUFPLENBQUNwQixFQUE1QjtBQUVBLFFBQUksQ0FBQyxLQUFLUSxLQUFMLENBQVdZLE9BQU8sQ0FBQ3BCLEVBQW5CLENBQUwsRUFBNkIsT0FBTyxLQUFLUSxLQUFMLENBQVdZLE9BQU8sQ0FBQ3BCLEVBQW5CLElBQXlCLEtBQWhDO0FBQzdCLFdBQU8sS0FBS3FCLFlBQUwsQ0FBa0JELE9BQWxCLENBQVA7QUFDSDs7QUFFRHlCLGVBQWEsQ0FBQzJELGlCQUFELEVBQW9CWCxXQUFXLEdBQUcsSUFBbEMsRUFBd0NZLFFBQVEsR0FBRyxLQUFuRCxFQUEwRDtBQUNuRSxVQUFNckYsT0FBTyxHQUFHLE9BQU9vRixpQkFBUCxJQUE2QixRQUE3QixHQUF3QyxLQUFLakcsV0FBTCxDQUFpQjRGLElBQWpCLENBQXNCQyxDQUFDLElBQUlBLENBQUMsQ0FBQ3BHLEVBQUYsSUFBUXdHLGlCQUFSLElBQTZCSixDQUFDLENBQUM5RCxRQUFGLElBQWNrRSxpQkFBdEUsQ0FBeEMsR0FBbUlBLGlCQUFuSjtBQUNBLFFBQUksQ0FBQ3BGLE9BQUwsRUFBYyxPQUFPLEtBQVA7QUFDZCxRQUFJLEtBQUtaLEtBQUwsQ0FBV1ksT0FBTyxDQUFDcEIsRUFBbkIsQ0FBSixFQUE0QnlHLFFBQVEsR0FBRyxLQUFLbkYsV0FBTCxDQUFpQkYsT0FBakIsQ0FBSCxHQUErQixLQUFLc0YsY0FBTCxDQUFvQnRGLE9BQXBCLENBQXZDO0FBQzVCLFdBQU8wRSxPQUF1QixDQUFDYSxLQUF4QixDQUE4QmIsT0FBdUIsQ0FBQzVHLE9BQXhCLENBQWdDTixJQUFJLENBQUNNLE9BQUwsQ0FBYSxLQUFLVSxhQUFsQixFQUFpQ3dCLE9BQU8sQ0FBQ2tCLFFBQXpDLENBQWhDLENBQTlCLENBQVA7QUFDQSxTQUFLL0IsV0FBTCxDQUFpQnFHLE1BQWpCLENBQXdCLEtBQUtyRyxXQUFMLENBQWlCdUUsT0FBakIsQ0FBeUIxRCxPQUF6QixDQUF4QixFQUEyRCxDQUEzRDtBQUNBLFNBQUtuQixJQUFMLENBQVUsVUFBVixFQUFzQm1CLE9BQU8sQ0FBQ3BCLEVBQTlCO0FBQ0EsUUFBSTZGLFdBQUosRUFBaUJRLHlDQUFNLENBQUNDLE9BQVAsQ0FBZ0IsR0FBRWxGLE9BQU8sQ0FBQzNCLElBQUssZ0JBQS9CO0FBQ2pCLFdBQU8sSUFBUDtBQUNIOztBQUVEMEQsZUFBYSxDQUFDcUQsaUJBQUQsRUFBb0JYLFdBQVcsR0FBRyxJQUFsQyxFQUF3QztBQUNqRCxVQUFNekUsT0FBTyxHQUFHLE9BQU9vRixpQkFBUCxJQUE2QixRQUE3QixHQUF3QyxLQUFLakcsV0FBTCxDQUFpQjRGLElBQWpCLENBQXNCQyxDQUFDLElBQUlBLENBQUMsQ0FBQ3BHLEVBQUYsSUFBUXdHLGlCQUFSLElBQTZCSixDQUFDLENBQUM5RCxRQUFGLElBQWNrRSxpQkFBdEUsQ0FBeEMsR0FBbUlBLGlCQUFuSjtBQUNBLFVBQU1LLFNBQVMsR0FBRyxLQUFLaEUsYUFBTCxDQUFtQnpCLE9BQW5CLEVBQTRCeUUsV0FBNUIsRUFBeUMsSUFBekMsQ0FBbEI7QUFDQSxRQUFJLENBQUNnQixTQUFMLEVBQWdCLE9BQU9BLFNBQVA7QUFDaEIsV0FBTyxLQUFLM0QsV0FBTCxDQUFpQjlCLE9BQU8sQ0FBQ2tCLFFBQXpCLEVBQW1DdUQsV0FBbkMsQ0FBUDtBQUNIOztBQUVEaUIsVUFBUSxDQUFDQyxRQUFELEVBQVc7QUFDZixVQUFNM0YsT0FBTyxHQUFHLEtBQUtiLFdBQUwsQ0FBaUI0RixJQUFqQixDQUFzQkMsQ0FBQyxJQUFJQSxDQUFDLENBQUNwRyxFQUFGLElBQVErRyxRQUFSLElBQW9CWCxDQUFDLENBQUM5RCxRQUFGLElBQWN5RSxRQUE3RCxDQUFoQjtBQUNBLFFBQUksQ0FBQzNGLE9BQUwsRUFBYyxPQUFPLEtBQVA7QUFDZCxXQUFPLElBQVA7QUFDSDs7QUFFRDRGLFdBQVMsQ0FBQ0QsUUFBRCxFQUFXO0FBQ2hCLFVBQU0zRixPQUFPLEdBQUcsS0FBS2IsV0FBTCxDQUFpQjRGLElBQWpCLENBQXNCQyxDQUFDLElBQUlBLENBQUMsQ0FBQ3BHLEVBQUYsSUFBUStHLFFBQVIsSUFBb0JYLENBQUMsQ0FBQzlELFFBQUYsSUFBY3lFLFFBQTdELENBQWhCO0FBQ0EsUUFBSSxDQUFDM0YsT0FBTCxFQUFjLE9BQU8sS0FBUDtBQUNkLFdBQU8sS0FBS1osS0FBTCxDQUFXWSxPQUFPLENBQUNwQixFQUFuQixDQUFQO0FBQ0g7O0FBRURpSCxlQUFhLENBQUNDLFdBQUQsRUFBYztBQUN2QixVQUFNOUYsT0FBTyxHQUFHLE9BQU84RixXQUFQLElBQXVCLFFBQXZCLEdBQWtDLEtBQUszRyxXQUFMLENBQWlCNEYsSUFBakIsQ0FBc0JnQixDQUFDLElBQUlBLENBQUMsQ0FBQ25ILEVBQUYsSUFBUWtILFdBQW5DLENBQWxDLEdBQW9GQSxXQUFwRztBQUNBLFFBQUksQ0FBQzlGLE9BQUwsRUFBYztBQUNkLFFBQUksS0FBS1osS0FBTCxDQUFXWSxPQUFPLENBQUNwQixFQUFuQixDQUFKLEVBQTRCO0FBQzVCLFNBQUtRLEtBQUwsQ0FBV1ksT0FBTyxDQUFDcEIsRUFBbkIsSUFBeUIsSUFBekI7QUFDQSxTQUFLcUIsWUFBTCxDQUFrQkQsT0FBbEI7QUFDQSxTQUFLUyxTQUFMO0FBQ0g7O0FBRUQ2RSxnQkFBYyxDQUFDUSxXQUFELEVBQWM7QUFDeEIsVUFBTTlGLE9BQU8sR0FBRyxPQUFPOEYsV0FBUCxJQUF1QixRQUF2QixHQUFrQyxLQUFLM0csV0FBTCxDQUFpQjRGLElBQWpCLENBQXNCZ0IsQ0FBQyxJQUFJQSxDQUFDLENBQUNuSCxFQUFGLElBQVFrSCxXQUFuQyxDQUFsQyxHQUFvRkEsV0FBcEc7QUFDQSxRQUFJLENBQUM5RixPQUFMLEVBQWM7QUFDZCxRQUFJLENBQUMsS0FBS1osS0FBTCxDQUFXWSxPQUFPLENBQUNwQixFQUFuQixDQUFMLEVBQTZCO0FBQzdCLFNBQUtRLEtBQUwsQ0FBV1ksT0FBTyxDQUFDcEIsRUFBbkIsSUFBeUIsS0FBekI7QUFDQSxTQUFLc0IsV0FBTCxDQUFpQkYsT0FBakI7QUFDQSxTQUFLUyxTQUFMO0FBQ0g7O0FBRUR1RixlQUFhLENBQUNwSCxFQUFELEVBQUs7QUFDZCxRQUFJLEtBQUtRLEtBQUwsQ0FBV1IsRUFBWCxDQUFKLEVBQW9CLEtBQUswRyxjQUFMLENBQW9CMUcsRUFBcEIsRUFBcEIsS0FDSyxLQUFLaUgsYUFBTCxDQUFtQmpILEVBQW5CO0FBQ1I7O0FBRURxSCxnQkFBYyxHQUFHO0FBQ2IsVUFBTUMsS0FBSyxHQUFHeEksRUFBRSxDQUFDeUksV0FBSCxDQUFlLEtBQUszSCxhQUFwQixDQUFkO0FBQ0EsVUFBTTRILE9BQU8sR0FBRyxLQUFLakgsV0FBTCxDQUFpQmtILE1BQWpCLENBQXdCQyxDQUFDLElBQUksQ0FBQ0osS0FBSyxDQUFDN0QsUUFBTixDQUFlaUUsQ0FBQyxDQUFDcEYsUUFBakIsQ0FBOUIsRUFBMERxRixHQUExRCxDQUE4RHZCLENBQUMsSUFBSUEsQ0FBQyxDQUFDcEcsRUFBckUsQ0FBaEI7QUFDQSxVQUFNNEgsS0FBSyxHQUFHTixLQUFLLENBQUNHLE1BQU4sQ0FBYUksQ0FBQyxJQUFJLENBQUMsS0FBS3RILFdBQUwsQ0FBaUI0RixJQUFqQixDQUFzQnVCLENBQUMsSUFBSUEsQ0FBQyxDQUFDcEYsUUFBRixJQUFjdUYsQ0FBekMsQ0FBRCxJQUFnREEsQ0FBQyxDQUFDdEYsUUFBRixDQUFXLEtBQUs1QyxTQUFoQixDQUFoRCxJQUE4RWIsRUFBRSxDQUFDNkQsUUFBSCxDQUFZL0QsSUFBSSxDQUFDTSxPQUFMLENBQWEsS0FBS1UsYUFBbEIsRUFBaUNpSSxDQUFqQyxDQUFaLEVBQWlEL0UsTUFBakQsRUFBaEcsQ0FBZDtBQUNBLFdBQU87QUFBQzhFLFdBQUQ7QUFBUUo7QUFBUixLQUFQO0FBQ0g7O0FBRURNLFlBQVUsR0FBRztBQUNULFVBQU1DLE9BQU8sR0FBRyxLQUFLVixjQUFMLEVBQWhCOztBQUNBLFNBQUssTUFBTS9FLFFBQVgsSUFBdUJ5RixPQUFPLENBQUNILEtBQS9CLEVBQXNDLEtBQUsxRSxXQUFMLENBQWlCWixRQUFqQjs7QUFDdEMsU0FBSyxNQUFNN0MsSUFBWCxJQUFtQnNJLE9BQU8sQ0FBQ1AsT0FBM0IsRUFBb0MsS0FBSzNFLGFBQUwsQ0FBbUJwRCxJQUFuQjtBQUN2Qzs7QUFFRHVJLGdCQUFjLEdBQUc7QUFDYixTQUFLekcsU0FBTDtBQUNBLFVBQU0wRyxNQUFNLEdBQUcsRUFBZjtBQUNBLFVBQU1YLEtBQUssR0FBR3hJLEVBQUUsQ0FBQ3lJLFdBQUgsQ0FBZSxLQUFLM0gsYUFBcEIsQ0FBZDs7QUFFQSxTQUFLLE1BQU0wQyxRQUFYLElBQXVCZ0YsS0FBdkIsRUFBOEI7QUFDMUIsVUFBSSxDQUFDeEksRUFBRSxDQUFDNkQsUUFBSCxDQUFZL0QsSUFBSSxDQUFDTSxPQUFMLENBQWEsS0FBS1UsYUFBbEIsRUFBaUMwQyxRQUFqQyxDQUFaLEVBQXdEUSxNQUF4RCxFQUFELElBQXFFLENBQUNSLFFBQVEsQ0FBQ0MsUUFBVCxDQUFrQixLQUFLNUMsU0FBdkIsQ0FBMUUsRUFBNkc7QUFDN0csWUFBTXlCLE9BQU8sR0FBRyxLQUFLOEIsV0FBTCxDQUFpQlosUUFBakIsRUFBMkIsS0FBM0IsQ0FBaEI7QUFDQSxVQUFJbEIsT0FBTyxZQUFZNEUsNkRBQXZCLEVBQXFDaUMsTUFBTSxDQUFDaEosSUFBUCxDQUFZbUMsT0FBWjtBQUN4Qzs7QUFFRCxTQUFLUyxTQUFMO0FBQ0EsUUFBSWpCLHdEQUFRLENBQUNzSCxHQUFULENBQWEsS0FBS3BJLFVBQWxCLEVBQThCLEtBQUtDLFFBQW5DLEVBQTZDLEtBQUtDLEVBQWxELENBQUosRUFBMkQsS0FBS2UsWUFBTDtBQUMzRCxXQUFPa0gsTUFBUDtBQUNIOztBQXBPK0IiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9jb250ZW50bWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBVdGlsaXRpZXMgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcbmltcG9ydCBTZXR0aW5ncyBmcm9tIFwiLi9zZXR0aW5nc21hbmFnZXJcIjtcclxuaW1wb3J0IEV2ZW50cyBmcm9tIFwiLi9lbWl0dGVyXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vZGF0YXN0b3JlXCI7XHJcbmltcG9ydCBDb250ZW50RXJyb3IgZnJvbSBcIi4uL3N0cnVjdHMvY29udGVudGVycm9yXCI7XHJcbmltcG9ydCBNZXRhRXJyb3IgZnJvbSBcIi4uL3N0cnVjdHMvbWV0YWVycm9yXCI7XHJcbmltcG9ydCB7VG9hc3RzfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuY29uc3QgZnMgPSByZXF1aXJlKFwiZnNcIik7XHJcbmNvbnN0IE1vZHVsZSA9IHJlcXVpcmUoXCJtb2R1bGVcIikuTW9kdWxlO1xyXG5Nb2R1bGUuZ2xvYmFsUGF0aHMucHVzaChwYXRoLnJlc29sdmUocmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZS5hcHAuZ2V0QXBwUGF0aCgpLCBcIm5vZGVfbW9kdWxlc1wiKSk7XHJcblxyXG5jb25zdCBzcGxpdFJlZ2V4ID0gL1teXFxTXFxyXFxuXSo/XFxuW15cXFNcXHJcXG5dKj9cXCpbXlxcU1xcclxcbl0/LztcclxuY29uc3QgZXNjYXBlZEF0UmVnZXggPSAvXlxcXFxALztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRlbnRNYW5hZ2VyIHtcclxuXHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJcIjt9XHJcbiAgICBnZXQgbW9kdWxlRXh0ZW5zaW9uKCkge3JldHVybiBcIlwiO31cclxuICAgIGdldCBleHRlbnNpb24oKSB7cmV0dXJuIFwiXCI7fVxyXG4gICAgZ2V0IGNvbnRlbnRGb2xkZXIoKSB7cmV0dXJuIFwiXCI7fVxyXG4gICAgZ2V0IHByZWZpeCgpIHtyZXR1cm4gXCJjb250ZW50XCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwic2V0dGluZ3NcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiY29udGVudFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJhdXRvUmVsb2FkXCI7fVxyXG4gICAgZW1pdChldmVudCwgLi4uYXJncykge3JldHVybiBFdmVudHMuZW1pdChgJHt0aGlzLnByZWZpeH0tJHtldmVudH1gLCAuLi5hcmdzKTt9XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy50aW1lQ2FjaGUgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRMaXN0ID0gW107XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHt9O1xyXG4gICAgICAgIHRoaXMub3JpZ2luYWxSZXF1aXJlID0gTW9kdWxlLl9leHRlbnNpb25zW3RoaXMubW9kdWxlRXh0ZW5zaW9uXTtcclxuICAgICAgICBNb2R1bGUuX2V4dGVuc2lvbnNbdGhpcy5tb2R1bGVFeHRlbnNpb25dID0gdGhpcy5nZXRDb250ZW50UmVxdWlyZSgpO1xyXG4gICAgICAgIFNldHRpbmdzLm9uKHRoaXMuY29sbGVjdGlvbiwgdGhpcy5jYXRlZ29yeSwgdGhpcy5pZCwgKGVuYWJsZWQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVuYWJsZWQpIHRoaXMud2F0Y2hDb250ZW50KCk7XHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy51bndhdGNoQ29udGVudCgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFN1YmNsYXNzZXMgc2hvdWxkIG92ZXJsb2FkIHRoaXMgYW5kIG1vZGlmeSB0aGUgY29udGVudCBvYmplY3QgYXMgbmVlZGVkIHRvIGZ1bGx5IGxvYWQgaXRcclxuICAgIGluaXRpYWxpemVDb250ZW50KCkge3JldHVybjt9XHJcblxyXG4gICAgLy8gU3ViY2xhc3NlcyBzaG91bGQgb3ZlcmxvYWQgdGhpcyBhbmQgbW9kaWZ5IHRoZSBjb250ZW50IGFzIG5lZWRlZCB0byByZXF1aXJlKCkgdGhlIGZpbGVcclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50KSB7cmV0dXJuIGNvbnRlbnQ7fVxyXG5cclxuICAgIHN0YXJ0Q29udGVudCgpIHtyZXR1cm47fVxyXG4gICAgc3RvcENvbnRlbnQoKSB7cmV0dXJuO31cclxuXHJcbiAgICBsb2FkU3RhdGUoKSB7XHJcbiAgICAgICAgY29uc3Qgc2F2ZWQgPSBEYXRhU3RvcmUuZ2V0RGF0YShgJHt0aGlzLnByZWZpeH1zYCk7XHJcbiAgICAgICAgaWYgKCFzYXZlZCkgcmV0dXJuO1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5zdGF0ZSwgc2F2ZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVTdGF0ZSgpIHtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0RGF0YShgJHt0aGlzLnByZWZpeH1zYCwgdGhpcy5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd2F0Y2hDb250ZW50KCkge1xyXG4gICAgICAgIGlmICh0aGlzLndhdGNoZXIpIHJldHVybiBVdGlsaXRpZXMuZXJyKHRoaXMubmFtZSwgXCJBbHJlYWR5IHdhdGNoaW5nIGNvbnRlbnQuXCIpO1xyXG4gICAgICAgIFV0aWxpdGllcy5sb2codGhpcy5uYW1lLCBcIlN0YXJ0aW5nIHRvIHdhdGNoIGNvbnRlbnQuXCIpO1xyXG4gICAgICAgIHRoaXMud2F0Y2hlciA9IGZzLndhdGNoKHRoaXMuY29udGVudEZvbGRlciwge3BlcnNpc3RlbnQ6IGZhbHNlfSwgYXN5bmMgKGV2ZW50VHlwZSwgZmlsZW5hbWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFldmVudFR5cGUgfHwgIWZpbGVuYW1lIHx8ICFmaWxlbmFtZS5lbmRzV2l0aCh0aGlzLmV4dGVuc2lvbikpIHJldHVybjtcclxuICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIDUwKSk7XHJcbiAgICAgICAgICAgIHRyeSB7ZnMuc3RhdFN5bmMocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgZmlsZW5hbWUpKTt9XHJcbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFTk9FTlRcIikgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMudGltZUNhY2hlW2ZpbGVuYW1lXTtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5sb2FkQ29udGVudChmaWxlbmFtZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFmcy5zdGF0U3luYyhwYXRoLnJlc29sdmUodGhpcy5jb250ZW50Rm9sZGVyLCBmaWxlbmFtZSkpLmlzRmlsZSgpKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnN0IHN0YXRzID0gZnMuc3RhdFN5bmMocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgZmlsZW5hbWUpKTtcclxuICAgICAgICAgICAgaWYgKCFzdGF0cyB8fCAhc3RhdHMubXRpbWUgfHwgIXN0YXRzLm10aW1lLmdldFRpbWUoKSkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZiAodHlwZW9mKHN0YXRzLm10aW1lLmdldFRpbWUoKSkgIT09IFwibnVtYmVyXCIpIHJldHVybjtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGltZUNhY2hlW2ZpbGVuYW1lXSA9PSBzdGF0cy5tdGltZS5nZXRUaW1lKCkpIHJldHVybjtcclxuICAgICAgICAgICAgdGhpcy50aW1lQ2FjaGVbZmlsZW5hbWVdID0gc3RhdHMubXRpbWUuZ2V0VGltZSgpO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnRUeXBlID09IFwicmVuYW1lXCIpIHRoaXMubG9hZENvbnRlbnQoZmlsZW5hbWUsIHRydWUpO1xyXG4gICAgICAgICAgICBpZiAoZXZlbnRUeXBlID09IFwiY2hhbmdlXCIpIHRoaXMucmVsb2FkQ29udGVudChmaWxlbmFtZSwgdHJ1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdW53YXRjaENvbnRlbnQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLndhdGNoZXIpIHJldHVybiBVdGlsaXRpZXMuZXJyKHRoaXMubmFtZSwgXCJXYXMgbm90IHdhdGNoaW5nIGNvbnRlbnQuXCIpO1xyXG4gICAgICAgIHRoaXMud2F0Y2hlci5jbG9zZSgpO1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLndhdGNoZXI7XHJcbiAgICAgICAgVXRpbGl0aWVzLmxvZyh0aGlzLm5hbWUsIFwiTm8gbG9uZ2VyIHdhdGNoaW5nIGNvbnRlbnQuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGV4dHJhY3RNZXRhKGNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBmaXJzdExpbmUgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpWzBdO1xyXG4gICAgICAgIGNvbnN0IGhhc09sZE1ldGEgPSBmaXJzdExpbmUuaW5jbHVkZXMoXCIvL01FVEFcIik7XHJcbiAgICAgICAgaWYgKGhhc09sZE1ldGEpIHJldHVybiB0aGlzLnBhcnNlT2xkTWV0YShjb250ZW50KTtcclxuICAgICAgICBjb25zdCBoYXNOZXdNZXRhID0gZmlyc3RMaW5lLmluY2x1ZGVzKFwiLyoqXCIpO1xyXG4gICAgICAgIGlmIChoYXNOZXdNZXRhKSByZXR1cm4gdGhpcy5wYXJzZU5ld01ldGEoY29udGVudCk7XHJcbiAgICAgICAgdGhyb3cgbmV3IE1ldGFFcnJvcihcIk1FVEEgd2FzIG5vdCBmb3VuZC5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgcGFyc2VPbGRNZXRhKGNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBtZXRhID0gY29udGVudC5zcGxpdChcIlxcblwiKVswXTtcclxuICAgICAgICBjb25zdCBtZXRhRGF0YSA9IG1ldGEuc3Vic3RyaW5nKG1ldGEubGFzdEluZGV4T2YoXCIvL01FVEFcIikgKyA2LCBtZXRhLmxhc3RJbmRleE9mKFwiKi8vXCIpKTtcclxuICAgICAgICBpZiAoIVV0aWxpdGllcy50ZXN0SlNPTihtZXRhRGF0YSkpIHRocm93IG5ldyBNZXRhRXJyb3IoXCJNRVRBIGNvdWxkIG5vdCBiZSBwYXJzZWQuXCIpO1xyXG5cclxuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG1ldGFEYXRhKTtcclxuICAgICAgICBpZiAoIXBhcnNlZC5uYW1lKSB0aHJvdyBuZXcgTWV0YUVycm9yKFwiTUVUQSBtaXNzaW5nIG5hbWUgZGF0YS5cIik7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlZDtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZU5ld01ldGEoY29udGVudCkge1xyXG4gICAgICAgIGNvbnN0IGJsb2NrID0gY29udGVudC5zcGxpdChcIi8qKlwiLCAyKVsxXS5zcGxpdChcIiovXCIsIDEpWzBdO1xyXG4gICAgICAgIGNvbnN0IG91dCA9IHt9O1xyXG4gICAgICAgIGxldCBmaWVsZCA9IFwiXCI7XHJcbiAgICAgICAgbGV0IGFjY3VtID0gXCJcIjtcclxuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgYmxvY2suc3BsaXQoc3BsaXRSZWdleCkpIHtcclxuICAgICAgICAgICAgaWYgKGxpbmUubGVuZ3RoID09PSAwKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKGxpbmUuY2hhckF0KDApID09PSBcIkBcIiAmJiBsaW5lLmNoYXJBdCgxKSAhPT0gXCIgXCIpIHtcclxuICAgICAgICAgICAgICAgIG91dFtmaWVsZF0gPSBhY2N1bTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGwgPSBsaW5lLmluZGV4T2YoXCIgXCIpO1xyXG4gICAgICAgICAgICAgICAgZmllbGQgPSBsaW5lLnN1YnN0cigxLCBsIC0gMSk7XHJcbiAgICAgICAgICAgICAgICBhY2N1bSA9IGxpbmUuc3Vic3RyKGwgKyAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGFjY3VtICs9IFwiIFwiICsgbGluZS5yZXBsYWNlKFwiXFxcXG5cIiwgXCJcXG5cIikucmVwbGFjZShlc2NhcGVkQXRSZWdleCwgXCJAXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG91dFtmaWVsZF0gPSBhY2N1bS50cmltKCk7XHJcbiAgICAgICAgZGVsZXRlIG91dFtcIlwiXTtcclxuICAgICAgICByZXR1cm4gb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldENvbnRlbnRSZXF1aXJlKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIC8vIGNvbnN0IGJhc2VGb2xkZXIgPSB0aGlzLmNvbnRlbnRGb2xkZXI7XHJcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxSZXF1aXJlID0gdGhpcy5vcmlnaW5hbFJlcXVpcmU7XHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKG1vZHVsZSwgZmlsZW5hbWUpIHtcclxuICAgICAgICAgICAgY29uc3QgcG9zc2libGVQYXRoID0gcGF0aC5yZXNvbHZlKHNlbGYuY29udGVudEZvbGRlciwgcGF0aC5iYXNlbmFtZShmaWxlbmFtZSkpO1xyXG4gICAgICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocG9zc2libGVQYXRoKSB8fCBmaWxlbmFtZSAhPT0gZnMucmVhbHBhdGhTeW5jKHBvc3NpYmxlUGF0aCkpIHJldHVybiBSZWZsZWN0LmFwcGx5KG9yaWdpbmFsUmVxdWlyZSwgdGhpcywgYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgbGV0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZW5hbWUsIFwidXRmOFwiKTtcclxuICAgICAgICAgICAgY29udGVudCA9IFV0aWxpdGllcy5zdHJpcEJPTShjb250ZW50KTtcclxuICAgICAgICAgICAgY29uc3QgbWV0YSA9IHNlbGYuZXh0cmFjdE1ldGEoY29udGVudCk7XHJcbiAgICAgICAgICAgIG1ldGEuaWQgPSBtZXRhLm5hbWU7XHJcbiAgICAgICAgICAgIG1ldGEuZmlsZW5hbWUgPSBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lKTtcclxuICAgICAgICAgICAgY29udGVudCA9IHNlbGYuZ2V0Q29udGVudE1vZGlmaWNhdGlvbihtb2R1bGUsIGNvbnRlbnQsIG1ldGEpO1xyXG4gICAgICAgICAgICBtb2R1bGUuX2NvbXBpbGUoY29udGVudCwgZmlsZW5hbWUpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3ViY2xhc3NlcyBzaG91bGQgdXNlIHRoZSByZXR1cm4gKGlmIG5vdCBDb250ZW50RXJyb3IpIGFuZCBwdXNoIHRvIHRoaXMuY29udGVudExpc3RcclxuICAgIGxvYWRDb250ZW50KGZpbGVuYW1lLCBzaG91bGRUb2FzdCA9IGZhbHNlKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZihmaWxlbmFtZSkgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcclxuICAgICAgICB0cnkge19fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHBhdGgucmVzb2x2ZSh0aGlzLmNvbnRlbnRGb2xkZXIsIGZpbGVuYW1lKSk7fVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge3JldHVybiBuZXcgQ29udGVudEVycm9yKGZpbGVuYW1lLCBmaWxlbmFtZSwgXCJDb3VsZCBub3QgYmUgY29tcGlsZWQuXCIsIHttZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2t9KTt9XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHBhdGgucmVzb2x2ZSh0aGlzLmNvbnRlbnRGb2xkZXIsIGZpbGVuYW1lKSk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGVudExpc3QuZmluZChjID0+IGMuaWQgPT0gY29udGVudC5pZCkpIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgZmlsZW5hbWUsIGBUaGVyZSBpcyBhbHJlYWR5IGEgcGx1Z2luIHdpdGggbmFtZSAke2NvbnRlbnQubmFtZX1gKTtcclxuICAgICAgICBjb25zdCBlcnJvciA9IHRoaXMuaW5pdGlhbGl6ZUNvbnRlbnQoY29udGVudCk7XHJcbiAgICAgICAgaWYgKGVycm9yKSByZXR1cm4gZXJyb3I7XHJcbiAgICAgICAgdGhpcy5jb250ZW50TGlzdC5wdXNoKGNvbnRlbnQpO1xyXG4gICAgICAgIGlmIChzaG91bGRUb2FzdCkgVG9hc3RzLnN1Y2Nlc3MoYCR7Y29udGVudC5uYW1lfSB2JHtjb250ZW50LnZlcnNpb259IHdhcyBsb2FkZWQuYCk7XHJcbiAgICAgICAgdGhpcy5lbWl0KFwibG9hZGVkXCIsIGNvbnRlbnQuaWQpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29udGVudC5pZF0pIHJldHVybiB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRDb250ZW50KGNvbnRlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHVubG9hZENvbnRlbnQoaWRPckZpbGVPckNvbnRlbnQsIHNob3VsZFRvYXN0ID0gdHJ1ZSwgaXNSZWxvYWQgPSBmYWxzZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0eXBlb2YoaWRPckZpbGVPckNvbnRlbnQpID09IFwic3RyaW5nXCIgPyB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlT3JDb250ZW50IHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGVPckNvbnRlbnQpIDogaWRPckZpbGVPckNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGVbY29udGVudC5pZF0pIGlzUmVsb2FkID8gdGhpcy5zdG9wQ29udGVudChjb250ZW50KSA6IHRoaXMuZGlzYWJsZUNvbnRlbnQoY29udGVudCk7XHJcbiAgICAgICAgZGVsZXRlIF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fLmNhY2hlW19fbm9uX3dlYnBhY2tfcmVxdWlyZV9fLnJlc29sdmUocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgY29udGVudC5maWxlbmFtZSkpXTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRMaXN0LnNwbGljZSh0aGlzLmNvbnRlbnRMaXN0LmluZGV4T2YoY29udGVudCksIDEpO1xyXG4gICAgICAgIHRoaXMuZW1pdChcInVubG9hZGVkXCIsIGNvbnRlbnQuaWQpO1xyXG4gICAgICAgIGlmIChzaG91bGRUb2FzdCkgVG9hc3RzLnN1Y2Nlc3MoYCR7Y29udGVudC5uYW1lfSB3YXMgdW5sb2FkZWQuYCk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVsb2FkQ29udGVudChpZE9yRmlsZU9yQ29udGVudCwgc2hvdWxkVG9hc3QgPSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHR5cGVvZihpZE9yRmlsZU9yQ29udGVudCkgPT0gXCJzdHJpbmdcIiA/IHRoaXMuY29udGVudExpc3QuZmluZChjID0+IGMuaWQgPT0gaWRPckZpbGVPckNvbnRlbnQgfHwgYy5maWxlbmFtZSA9PSBpZE9yRmlsZU9yQ29udGVudCkgOiBpZE9yRmlsZU9yQ29udGVudDtcclxuICAgICAgICBjb25zdCBkaWRVbmxvYWQgPSB0aGlzLnVubG9hZENvbnRlbnQoY29udGVudCwgc2hvdWxkVG9hc3QsIHRydWUpO1xyXG4gICAgICAgIGlmICghZGlkVW5sb2FkKSByZXR1cm4gZGlkVW5sb2FkO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRDb250ZW50KGNvbnRlbnQuZmlsZW5hbWUsIHNob3VsZFRvYXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBpc0xvYWRlZChpZE9yRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlIHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGUpO1xyXG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRW5hYmxlZChpZE9yRmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlIHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGUpO1xyXG4gICAgICAgIGlmICghY29udGVudCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZVtjb250ZW50LmlkXSkgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMuc3RhdGVbY29udGVudC5pZF0gPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3RhcnRDb250ZW50KGNvbnRlbnQpO1xyXG4gICAgICAgIHRoaXMuc2F2ZVN0YXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBpZiAoIXRoaXMuc3RhdGVbY29udGVudC5pZF0pIHJldHVybjtcclxuICAgICAgICB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zdG9wQ29udGVudChjb250ZW50KTtcclxuICAgICAgICB0aGlzLnNhdmVTdGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUNvbnRlbnQoaWQpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZVtpZF0pIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWQpO1xyXG4gICAgICAgIGVsc2UgdGhpcy5lbmFibGVDb250ZW50KGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkTmV3Q29udGVudCgpIHtcclxuICAgICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKHRoaXMuY29udGVudEZvbGRlcik7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlZCA9IHRoaXMuY29udGVudExpc3QuZmlsdGVyKHQgPT4gIWZpbGVzLmluY2x1ZGVzKHQuZmlsZW5hbWUpKS5tYXAoYyA9PiBjLmlkKTtcclxuICAgICAgICBjb25zdCBhZGRlZCA9IGZpbGVzLmZpbHRlcihmID0+ICF0aGlzLmNvbnRlbnRMaXN0LmZpbmQodCA9PiB0LmZpbGVuYW1lID09IGYpICYmIGYuZW5kc1dpdGgodGhpcy5leHRlbnNpb24pICYmIGZzLnN0YXRTeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmNvbnRlbnRGb2xkZXIsIGYpKS5pc0ZpbGUoKSk7XHJcbiAgICAgICAgcmV0dXJuIHthZGRlZCwgcmVtb3ZlZH07XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlTGlzdCgpIHtcclxuICAgICAgICBjb25zdCByZXN1bHRzID0gdGhpcy5sb2FkTmV3Q29udGVudCgpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgcmVzdWx0cy5hZGRlZCkgdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIHJlc3VsdHMucmVtb3ZlZCkgdGhpcy51bmxvYWRDb250ZW50KG5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRBbGxDb250ZW50KCkge1xyXG4gICAgICAgIHRoaXMubG9hZFN0YXRlKCk7XHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gW107XHJcbiAgICAgICAgY29uc3QgZmlsZXMgPSBmcy5yZWFkZGlyU3luYyh0aGlzLmNvbnRlbnRGb2xkZXIpO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIGZpbGVzKSB7XHJcbiAgICAgICAgICAgIGlmICghZnMuc3RhdFN5bmMocGF0aC5yZXNvbHZlKHRoaXMuY29udGVudEZvbGRlciwgZmlsZW5hbWUpKS5pc0ZpbGUoKSB8fCAhZmlsZW5hbWUuZW5kc1dpdGgodGhpcy5leHRlbnNpb24pKSBjb250aW51ZTtcclxuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMubG9hZENvbnRlbnQoZmlsZW5hbWUsIGZhbHNlKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRlbnQgaW5zdGFuY2VvZiBDb250ZW50RXJyb3IpIGVycm9ycy5wdXNoKGNvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zYXZlU3RhdGUoKTtcclxuICAgICAgICBpZiAoU2V0dGluZ3MuZ2V0KHRoaXMuY29sbGVjdGlvbiwgdGhpcy5jYXRlZ29yeSwgdGhpcy5pZCkpIHRoaXMud2F0Y2hDb250ZW50KCk7XHJcbiAgICAgICAgcmV0dXJuIGVycm9ycztcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/contentmanager.js\n");
/***/ }),
/***/ "./src/modules/core.js":
/*!*****************************!*\
!*** ./src/modules/core.js ***!
\*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bdv2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bdv2 */ \"./src/modules/bdv2.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _pluginmanager__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony import */ var _thememanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./thememanager */ \"./src/modules/thememanager.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony import */ var builtins__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! builtins */ \"./src/builtins/builtins.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n // import EmoteModule from \"./emotes\";\n// import QuickEmoteMenu from \"../builtins/emotemenu\";\n\n\n\n\n\n\n\nfunction Core() {}\n\nCore.prototype.setConfig = function (config) {\n Object.assign(data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"], config);\n};\n\nCore.prototype.init = async function () {\n if (data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].version < data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].minSupportedVersion) {\n ui__WEBPACK_IMPORTED_MODULE_7__[\"Modals\"].alert(\"Not Supported\", \"BetterDiscord v\" + data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].version + \" (your version)\" + \" is not supported by the latest js (\" + data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].bbdVersion + \").<br><br> Please download the latest version from <a href='https://github.com/rauenzi/BetterDiscordApp/releases/latest' target='_blank'>GitHub</a>\");\n return;\n }\n\n const latestLocalVersion = data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].updater ? data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].updater.LatestVersion : data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].latestVersion;\n\n if (latestLocalVersion > data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].version) {\n ui__WEBPACK_IMPORTED_MODULE_7__[\"Modals\"].alert(\"Update Available\", `\n An update for BandagedBD is available (${latestLocalVersion})! Please Reinstall!<br /><br />\n <a href='https://github.com/rauenzi/BetterDiscordApp/releases/latest' target='_blank'>Download Installer</a>\n `);\n }\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Initializing Settings\");\n _settingsmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"].initialize();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Initializing EmoteModule\"); // window.emotePromise = EmoteModule.init().then(() => {\n // EmoteModule.initialized = true;\n // Utilities.log(\"Startup\", \"Initializing QuickEmoteMenu\");\n // Events.dispatch(\"emotes-loaded\");\n // // QuickEmoteMenu.init();\n // });\n\n this.injectExternals();\n await this.checkForGuilds();\n _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].initialize();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Updating Settings\");\n\n for (const module in builtins__WEBPACK_IMPORTED_MODULE_6__) builtins__WEBPACK_IMPORTED_MODULE_6__[module].initialize();\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Loading Plugins\");\n const pluginErrors = _pluginmanager__WEBPACK_IMPORTED_MODULE_3__[\"default\"].loadAllPlugins();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Loading Themes\");\n const themeErrors = _thememanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"].loadAllThemes();\n $(\"#customcss\").detach().appendTo(document.head); // PublicServers.initialize();\n // EmoteModule.autoCapitalize();\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Removing Loading Icon\");\n document.getElementsByClassName(\"bd-loaderv2\")[0].remove();\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Initializing Main Observer\");\n this.initObserver(); // Show loading errors\n\n _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].log(\"Startup\", \"Collecting Startup Errors\");\n ui__WEBPACK_IMPORTED_MODULE_7__[\"Modals\"].showContentErrors({\n plugins: pluginErrors,\n themes: themeErrors\n });\n};\n\nCore.prototype.checkForGuilds = function () {\n return new Promise(resolve => {\n const checkForGuilds = function () {\n const wrapper = _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].guildClasses.wrapper.split(\" \")[0];\n const guild = _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].guildClasses.listItem.split(\" \")[0];\n const blob = _bdv2__WEBPACK_IMPORTED_MODULE_0__[\"default\"].guildClasses.blobContainer.split(\" \")[0];\n if (document.querySelectorAll(`.${wrapper} .${guild} .${blob}`).length > 0) return resolve(data__WEBPACK_IMPORTED_MODULE_2__[\"Config\"].deferLoaded = true);\n setTimeout(checkForGuilds, 100);\n };\n\n $(document).ready(function () {\n setTimeout(checkForGuilds, 100);\n });\n });\n};\n\nCore.prototype.injectExternals = async function () {\n await _utilities__WEBPACK_IMPORTED_MODULE_1__[\"default\"].injectJs(\"https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js\");\n if (window.require.original) window.require = window.require.original;\n};\n\nCore.prototype.initObserver = function () {\n const mainObserver = new MutationObserver(mutations => {\n for (let i = 0, mlen = mutations.length; i < mlen; i++) {\n const mutation = mutations[i]; // if there was nothing added, skip\n\n if (!mutation.addedNodes.length || !(mutation.addedNodes[0] instanceof Element)) continue;\n const node = mutation.addedNodes[0];\n\n if (node.classList.contains(\"layer-3QrUeG\")) {\n if (node.getElementsByClassName(\"guild-settings-base-section\").length) node.setAttribute(\"layer-id\", \"server-settings\"); // if (node.getElementsByClassName(\"socialLinks-3jqNFy\").length) {\n // node.setAttribute(\"layer-id\", \"user-settings\");\n // node.setAttribute(\"id\", \"user-settings\");\n // if (!document.getElementById(\"bd-settings-sidebar\")) Settings.renderSidebar();\n // }\n }\n }\n });\n mainObserver.observe(document, {\n childList: true,\n subtree: true\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new Core());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvY29yZS5qcz9iNmRlIl0sIm5hbWVzIjpbIkNvcmUiLCJwcm90b3R5cGUiLCJzZXRDb25maWciLCJjb25maWciLCJPYmplY3QiLCJhc3NpZ24iLCJDb25maWciLCJpbml0IiwidmVyc2lvbiIsIm1pblN1cHBvcnRlZFZlcnNpb24iLCJNb2RhbHMiLCJhbGVydCIsImJiZFZlcnNpb24iLCJsYXRlc3RMb2NhbFZlcnNpb24iLCJ1cGRhdGVyIiwiTGF0ZXN0VmVyc2lvbiIsImxhdGVzdFZlcnNpb24iLCJVdGlsaXRpZXMiLCJsb2ciLCJTZXR0aW5ncyIsImluaXRpYWxpemUiLCJpbmplY3RFeHRlcm5hbHMiLCJjaGVja0Zvckd1aWxkcyIsIkJEVjIiLCJtb2R1bGUiLCJCdWlsdGlucyIsInBsdWdpbkVycm9ycyIsIlBsdWdpbk1hbmFnZXIiLCJsb2FkQWxsUGx1Z2lucyIsInRoZW1lRXJyb3JzIiwiVGhlbWVNYW5hZ2VyIiwibG9hZEFsbFRoZW1lcyIsIiQiLCJkZXRhY2giLCJhcHBlbmRUbyIsImRvY3VtZW50IiwiaGVhZCIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJyZW1vdmUiLCJpbml0T2JzZXJ2ZXIiLCJzaG93Q29udGVudEVycm9ycyIsInBsdWdpbnMiLCJ0aGVtZXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsIndyYXBwZXIiLCJndWlsZENsYXNzZXMiLCJzcGxpdCIsImd1aWxkIiwibGlzdEl0ZW0iLCJibG9iIiwiYmxvYkNvbnRhaW5lciIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJkZWZlckxvYWRlZCIsInNldFRpbWVvdXQiLCJyZWFkeSIsImluamVjdEpzIiwid2luZG93IiwicmVxdWlyZSIsIm9yaWdpbmFsIiwibWFpbk9ic2VydmVyIiwiTXV0YXRpb25PYnNlcnZlciIsIm11dGF0aW9ucyIsImkiLCJtbGVuIiwibXV0YXRpb24iLCJhZGRlZE5vZGVzIiwiRWxlbWVudCIsIm5vZGUiLCJjbGFzc0xpc3QiLCJjb250YWlucyIsInNldEF0dHJpYnV0ZSIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJzdWJ0cmVlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0NBRUE7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVNBLElBQVQsR0FBZ0IsQ0FDZjs7QUFFREEsSUFBSSxDQUFDQyxTQUFMLENBQWVDLFNBQWYsR0FBMkIsVUFBU0MsTUFBVCxFQUFpQjtBQUN4Q0MsUUFBTSxDQUFDQyxNQUFQLENBQWNDLDJDQUFkLEVBQXNCSCxNQUF0QjtBQUNILENBRkQ7O0FBSUFILElBQUksQ0FBQ0MsU0FBTCxDQUFlTSxJQUFmLEdBQXNCLGtCQUFpQjtBQUNuQyxNQUFJRCwyQ0FBTSxDQUFDRSxPQUFQLEdBQWlCRiwyQ0FBTSxDQUFDRyxtQkFBNUIsRUFBaUQ7QUFDN0NDLDZDQUFNLENBQUNDLEtBQVAsQ0FBYSxlQUFiLEVBQThCLG9CQUFvQkwsMkNBQU0sQ0FBQ0UsT0FBM0IsR0FBcUMsaUJBQXJDLEdBQXlELHNDQUF6RCxHQUFrR0YsMkNBQU0sQ0FBQ00sVUFBekcsR0FBc0gscUpBQXBKO0FBQ0E7QUFDSDs7QUFFRCxRQUFNQyxrQkFBa0IsR0FBR1AsMkNBQU0sQ0FBQ1EsT0FBUCxHQUFpQlIsMkNBQU0sQ0FBQ1EsT0FBUCxDQUFlQyxhQUFoQyxHQUFnRFQsMkNBQU0sQ0FBQ1UsYUFBbEY7O0FBQ0EsTUFBSUgsa0JBQWtCLEdBQUdQLDJDQUFNLENBQUNFLE9BQWhDLEVBQXlDO0FBQ3JDRSw2Q0FBTSxDQUFDQyxLQUFQLENBQWEsa0JBQWIsRUFBa0M7cURBQ1dFLGtCQUFtQjs7U0FEaEU7QUFJSDs7QUFFREksb0RBQVMsQ0FBQ0MsR0FBVixDQUFjLFNBQWQsRUFBeUIsdUJBQXpCO0FBQ0FDLDBEQUFRLENBQUNDLFVBQVQ7QUFDQUgsb0RBQVMsQ0FBQ0MsR0FBVixDQUFjLFNBQWQsRUFBeUIsMEJBQXpC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LENBQUNDLFNBQUwsQ0FBZXNDLFlBQWYsR0FBOEIsWUFBWTtBQUN0QyxRQUFNc0IsWUFBWSxHQUFHLElBQUlDLGdCQUFKLENBQXNCQyxTQUFELElBQWU7QUFFckQsU0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBUixFQUFXQyxJQUFJLEdBQUdGLFNBQVMsQ0FBQ1YsTUFBakMsRUFBeUNXLENBQUMsR0FBR0MsSUFBN0MsRUFBbURELENBQUMsRUFBcEQsRUFBd0Q7QUFDcEQsWUFBTUUsUUFBUSxHQUFHSCxTQUFTLENBQUNDLENBQUQsQ0FBMUIsQ0FEb0QsQ0FHcEQ7O0FBQ0EsVUFBSSxDQUFDRSxRQUFRLENBQUNDLFVBQVQsQ0FBb0JkLE1BQXJCLElBQStCLEVBQUVhLFFBQVEsQ0FBQ0MsVUFBVCxDQUFvQixDQUFwQixhQUFrQ0MsT0FBcEMsQ0FBbkMsRUFBaUY7QUFFakYsWUFBTUMsSUFBSSxHQUFHSCxRQUFRLENBQUNDLFVBQVQsQ0FBb0IsQ0FBcEIsQ0FBYjs7QUFFQSxVQUFJRSxJQUFJLENBQUNDLFNBQUwsQ0FBZUMsUUFBZixDQUF3QixjQUF4QixDQUFKLEVBQTZDO0FBQ3pDLFlBQUlGLElBQUksQ0FBQ2hDLHNCQUFMLENBQTRCLDZCQUE1QixFQUEyRGdCLE1BQS9ELEVBQXVFZ0IsSUFBSSxDQUFDRyxZQUFMLENBQWtCLFVBQWxCLEVBQThCLGlCQUE5QixFQUQ5QixDQUd6QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0g7QUFDSjtBQUNKLEdBcEJvQixDQUFyQjtBQXNCQVgsY0FBWSxDQUFDWSxPQUFiLENBQXFCdEMsUUFBckIsRUFBK0I7QUFDM0J1QyxhQUFTLEVBQUUsSUFEZ0I7QUFFM0JDLFdBQU8sRUFBRTtBQUZrQixHQUEvQjtBQUlILENBM0JEOztBQThCZSxtRUFBSTNFLElBQUosRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL2NvcmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQkRWMiBmcm9tIFwiLi9iZHYyXCI7XHJcbmltcG9ydCBVdGlsaXRpZXMgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcbmltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG4vLyBpbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vZW1vdGVzXCI7XHJcbi8vIGltcG9ydCBRdWlja0Vtb3RlTWVudSBmcm9tIFwiLi4vYnVpbHRpbnMvZW1vdGVtZW51XCI7XHJcbmltcG9ydCBQbHVnaW5NYW5hZ2VyIGZyb20gXCIuL3BsdWdpbm1hbmFnZXJcIjtcclxuaW1wb3J0IFRoZW1lTWFuYWdlciBmcm9tIFwiLi90aGVtZW1hbmFnZXJcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzbWFuYWdlclwiO1xyXG5pbXBvcnQgKiBhcyBCdWlsdGlucyBmcm9tIFwiYnVpbHRpbnNcIjtcclxuaW1wb3J0IHtNb2RhbHN9IGZyb20gXCJ1aVwiO1xyXG5cclxuZnVuY3Rpb24gQ29yZSgpIHtcclxufVxyXG5cclxuQ29yZS5wcm90b3R5cGUuc2V0Q29uZmlnID0gZnVuY3Rpb24oY29uZmlnKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKENvbmZpZywgY29uZmlnKTtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmluaXQgPSBhc3luYyBmdW5jdGlvbigpIHtcclxuICAgIGlmIChDb25maWcudmVyc2lvbiA8IENvbmZpZy5taW5TdXBwb3J0ZWRWZXJzaW9uKSB7XHJcbiAgICAgICAgTW9kYWxzLmFsZXJ0KFwiTm90IFN1cHBvcnRlZFwiLCBcIkJldHRlckRpc2NvcmQgdlwiICsgQ29uZmlnLnZlcnNpb24gKyBcIiAoeW91ciB2ZXJzaW9uKVwiICsgXCIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgbGF0ZXN0IGpzIChcIiArIENvbmZpZy5iYmRWZXJzaW9uICsgXCIpLjxicj48YnI+IFBsZWFzZSBkb3dubG9hZCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSA8YSBocmVmPSdodHRwczovL2dpdGh1Yi5jb20vcmF1ZW56aS9CZXR0ZXJEaXNjb3JkQXBwL3JlbGVhc2VzL2xhdGVzdCcgdGFyZ2V0PSdfYmxhbmsnPkdpdEh1YjwvYT5cIik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxhdGVzdExvY2FsVmVyc2lvbiA9IENvbmZpZy51cGRhdGVyID8gQ29uZmlnLnVwZGF0ZXIuTGF0ZXN0VmVyc2lvbiA6IENvbmZpZy5sYXRlc3RWZXJzaW9uO1xyXG4gICAgaWYgKGxhdGVzdExvY2FsVmVyc2lvbiA+IENvbmZpZy52ZXJzaW9uKSB7XHJcbiAgICAgICAgTW9kYWxzLmFsZXJ0KFwiVXBkYXRlIEF2YWlsYWJsZVwiLCBgXHJcbiAgICAgICAgICAgIEFuIHVwZGF0ZSBmb3IgQmFuZGFnZWRCRCBpcyBhdmFpbGFibGUgKCR7bGF0ZXN0TG9jYWxWZXJzaW9ufSkhIFBsZWFzZSBSZWluc3RhbGwhPGJyIC8+PGJyIC8+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS9yYXVlbnppL0JldHRlckRpc2NvcmRBcHAvcmVsZWFzZXMvbGF0ZXN0JyB0YXJnZXQ9J19ibGFuayc+RG93bmxvYWQgSW5zdGFsbGVyPC9hPlxyXG4gICAgICAgIGApO1xyXG4gICAgfVxyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiSW5pdGlhbGl6aW5nIFNldHRpbmdzXCIpO1xyXG4gICAgU2V0dGluZ3MuaW5pdGlhbGl6ZSgpO1xyXG4gICAgVXRpbGl0aWVzLmxvZyhcIlN0YXJ0dXBcIiwgXCJJbml0aWFsaXppbmcgRW1vdGVNb2R1bGVcIik7XHJcbiAgICAvLyB3aW5kb3cuZW1vdGVQcm9taXNlID0gRW1vdGVNb2R1bGUuaW5pdCgpLnRoZW4oKCkgPT4ge1xyXG4gICAgLy8gICAgIEVtb3RlTW9kdWxlLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIC8vICAgICBVdGlsaXRpZXMubG9nKFwiU3RhcnR1cFwiLCBcIkluaXRpYWxpemluZyBRdWlja0Vtb3RlTWVudVwiKTtcclxuICAgIC8vICAgICBFdmVudHMuZGlzcGF0Y2goXCJlbW90ZXMtbG9hZGVkXCIpO1xyXG4gICAgLy8gICAgIC8vIFF1aWNrRW1vdGVNZW51LmluaXQoKTtcclxuICAgIC8vIH0pO1xyXG5cclxuICAgIHRoaXMuaW5qZWN0RXh0ZXJuYWxzKCk7XHJcblxyXG4gICAgYXdhaXQgdGhpcy5jaGVja0Zvckd1aWxkcygpO1xyXG4gICAgQkRWMi5pbml0aWFsaXplKCk7XHJcbiAgICBVdGlsaXRpZXMubG9nKFwiU3RhcnR1cFwiLCBcIlVwZGF0aW5nIFNldHRpbmdzXCIpO1xyXG4gICAgZm9yIChjb25zdCBtb2R1bGUgaW4gQnVpbHRpbnMpIEJ1aWx0aW5zW21vZHVsZV0uaW5pdGlhbGl6ZSgpO1xyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiTG9hZGluZyBQbHVnaW5zXCIpO1xyXG4gICAgY29uc3QgcGx1Z2luRXJyb3JzID0gUGx1Z2luTWFuYWdlci5sb2FkQWxsUGx1Z2lucygpO1xyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiTG9hZGluZyBUaGVtZXNcIik7XHJcbiAgICBjb25zdCB0aGVtZUVycm9ycyA9IFRoZW1lTWFuYWdlci5sb2FkQWxsVGhlbWVzKCk7XHJcblxyXG4gICAgJChcIiNjdXN0b21jc3NcIikuZGV0YWNoKCkuYXBwZW5kVG8oZG9jdW1lbnQuaGVhZCk7XHJcblxyXG4gICAgLy8gUHVibGljU2VydmVycy5pbml0aWFsaXplKCk7XHJcbiAgICAvLyBFbW90ZU1vZHVsZS5hdXRvQ2FwaXRhbGl6ZSgpO1xyXG5cclxuICAgIFV0aWxpdGllcy5sb2coXCJTdGFydHVwXCIsIFwiUmVtb3ZpbmcgTG9hZGluZyBJY29uXCIpO1xyXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImJkLWxvYWRlcnYyXCIpWzBdLnJlbW92ZSgpO1xyXG4gICAgVXRpbGl0aWVzLmxvZyhcIlN0YXJ0dXBcIiwgXCJJbml0aWFsaXppbmcgTWFpbiBPYnNlcnZlclwiKTtcclxuICAgIHRoaXMuaW5pdE9ic2VydmVyKCk7XHJcblxyXG4gICAgLy8gU2hvdyBsb2FkaW5nIGVycm9yc1xyXG4gICAgVXRpbGl0aWVzLmxvZyhcIlN0YXJ0dXBcIiwgXCJDb2xsZWN0aW5nIFN0YXJ0dXAgRXJyb3JzXCIpO1xyXG4gICAgTW9kYWxzLnNob3dDb250ZW50RXJyb3JzKHtwbHVnaW5zOiBwbHVnaW5FcnJvcnMsIHRoZW1lczogdGhlbWVFcnJvcnN9KTtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmNoZWNrRm9yR3VpbGRzID0gZnVuY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tGb3JHdWlsZHMgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgY29uc3Qgd3JhcHBlciA9IEJEVjIuZ3VpbGRDbGFzc2VzLndyYXBwZXIuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgICAgICBjb25zdCBndWlsZCA9IEJEVjIuZ3VpbGRDbGFzc2VzLmxpc3RJdGVtLnNwbGl0KFwiIFwiKVswXTtcclxuICAgICAgICAgICAgY29uc3QgYmxvYiA9IEJEVjIuZ3VpbGRDbGFzc2VzLmJsb2JDb250YWluZXIuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgLiR7d3JhcHBlcn0gLiR7Z3VpbGR9IC4ke2Jsb2J9YCkubGVuZ3RoID4gMCkgcmV0dXJuIHJlc29sdmUoQ29uZmlnLmRlZmVyTG9hZGVkID0gdHJ1ZSk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2tGb3JHdWlsZHMsIDEwMCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoY2hlY2tGb3JHdWlsZHMsIDEwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmluamVjdEV4dGVybmFscyA9IGFzeW5jIGZ1bmN0aW9uKCkge1xyXG4gICAgYXdhaXQgVXRpbGl0aWVzLmluamVjdEpzKFwiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvYWNlLzEuMi45L2FjZS5qc1wiKTtcclxuICAgIGlmICh3aW5kb3cucmVxdWlyZS5vcmlnaW5hbCkgd2luZG93LnJlcXVpcmUgPSB3aW5kb3cucmVxdWlyZS5vcmlnaW5hbDtcclxufTtcclxuXHJcbkNvcmUucHJvdG90eXBlLmluaXRPYnNlcnZlciA9IGZ1bmN0aW9uICgpIHtcclxuICAgIGNvbnN0IG1haW5PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIG1sZW4gPSBtdXRhdGlvbnMubGVuZ3RoOyBpIDwgbWxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG11dGF0aW9uID0gbXV0YXRpb25zW2ldO1xyXG5cclxuICAgICAgICAgICAgLy8gaWYgdGhlcmUgd2FzIG5vdGhpbmcgYWRkZWQsIHNraXBcclxuICAgICAgICAgICAgaWYgKCFtdXRhdGlvbi5hZGRlZE5vZGVzLmxlbmd0aCB8fCAhKG11dGF0aW9uLmFkZGVkTm9kZXNbMF0gaW5zdGFuY2VvZiBFbGVtZW50KSkgY29udGludWU7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBub2RlID0gbXV0YXRpb24uYWRkZWROb2Rlc1swXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChub2RlLmNsYXNzTGlzdC5jb250YWlucyhcImxheWVyLTNRclVlR1wiKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImd1aWxkLXNldHRpbmdzLWJhc2Utc2VjdGlvblwiKS5sZW5ndGgpIG5vZGUuc2V0QXR0cmlidXRlKFwibGF5ZXItaWRcIiwgXCJzZXJ2ZXItc2V0dGluZ3NcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaWYgKG5vZGUuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNvY2lhbExpbmtzLTNqcU5GeVwiKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBub2RlLnNldEF0dHJpYnV0ZShcImxheWVyLWlkXCIsIFwidXNlci1zZXR0aW5nc1wiKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBub2RlLnNldEF0dHJpYnV0ZShcImlkXCIsIFwidXNlci1zZXR0aW5nc1wiKTtcclxuICAgICAgICAgICAgICAgIC8vICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYmQtc2V0dGluZ3Mtc2lkZWJhclwiKSkgU2V0dGluZ3MucmVuZGVyU2lkZWJhcigpO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbWFpbk9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQsIHtcclxuICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgfSk7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IENvcmUoKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/core.js\n");
/***/ }),
/***/ "./src/modules/datastore.js":
/*!**********************************!*\
!*** ./src/modules/datastore.js ***!
\**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n\n\nconst fs = __webpack_require__(/*! fs */ \"fs\");\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst releaseChannel = DiscordNative.globals.releaseChannel; // Schema 1\n// =======================\n// %appdata%\\BetterDiscord\n// -> data\\\n// -> [releaseChannel].json (stable/canary/ptb)\n// Schema 2\n// =======================\n// %appdata%\\BetterDiscord\n// -> data\n// -> [releaseChannel]\\ (stable/canary/ptb)\n// -> settings.json\n// -> plugins.json\n// -> themes.json\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class DataStore {\n constructor() {\n this.data = {\n misc: {}\n };\n this.pluginData = {};\n }\n\n initialize() {\n if (!fs.existsSync(this.baseFolder)) fs.mkdirSync(this.baseFolder);\n if (!fs.existsSync(this.dataFolder)) fs.mkdirSync(this.dataFolder);\n if (!fs.existsSync(this.BDFile)) fs.writeFileSync(this.BDFile, JSON.stringify(this.data.misc, null, 4));\n if (!fs.existsSync(this.customCSS)) fs.writeFileSync(this.customCSS, \"\");\n const dataFiles = fs.readdirSync(this.dataFolder).filter(f => !fs.statSync(path.resolve(this.dataFolder, f)).isDirectory() && f.endsWith(\".json\"));\n\n for (const file of dataFiles) {\n this.data[file.split(\".\")[0]] = require(path.resolve(this.dataFolder, file));\n } // this.data = __non_webpack_require__(this.BDFile);\n // if (data.hasOwnProperty(\"settings\")) this.data = data;\n // if (!fs.existsSync(this.settingsFile)) return;\n // let settings = __non_webpack_require__(this.settingsFile);\n // fs.unlinkSync(this.settingsFile);\n // if (settings.hasOwnProperty(\"settings\")) settings = Object.assign({stable: {}, canary: {}, ptb: {}}, {[releaseChannel]: settings});\n // else settings = Object.assign({stable: {}, canary: {}, ptb: {}}, settings);\n // this.setBDData(\"settings\", settings);\n\n }\n\n get customCSS() {\n return this._customCSS || (this._customCSS = path.resolve(this.dataFolder, \"custom.css\"));\n }\n\n get baseFolder() {\n return this._baseFolder || (this._baseFolder = path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"data\"));\n }\n\n get dataFolder() {\n return this._dataFolder || (this._dataFolder = path.resolve(this.baseFolder, `${releaseChannel}`));\n }\n\n get BDFile() {\n return this._BDFile || (this._BDFile = path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"data\", `${releaseChannel}.json`));\n } // get settingsFile() {return this._settingsFile || (this._settingsFile = path.resolve(Config.dataPath, \"bdsettings.json\"));}\n\n\n getPluginFile(pluginName) {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"plugins\", pluginName + \".config.json\");\n } // getSettingGroup(key) {\n // return this.data.settings[key] || null;\n // }\n // setSettingGroup(key, data) {\n // this.data.settings[key] = data;\n // fs.writeFileSync(this.BDFile, JSON.stringify(this.data, null, 4));\n // }\n\n\n _getFile(key) {\n if (key == \"settings\" || key == \"plugins\" || key == \"themes\") return path.resolve(this.dataFolder, `${key}.json`);\n return path.resolve(this.dataFolder, `misc.json`);\n }\n\n getBDData(key) {\n return this.data.misc[key] || \"\";\n }\n\n setBDData(key, value) {\n this.data.misc[key] = value;\n fs.writeFileSync(path.resolve(this.dataFolder, `misc.json`), JSON.stringify(this.data.misc, null, 4));\n }\n\n getData(key) {\n return this.data[key] || \"\"; // return JSON.parse(fs.readFileSync(path.resolve(this.dataFolder, `${file}.json`)));\n }\n\n setData(key, value) {\n this.data[key] = value; // fs.writeFileSync(this.BDFile, JSON.stringify(this.data, null, 4));\n\n fs.writeFileSync(path.resolve(this.dataFolder, `${key}.json`), JSON.stringify(value, null, 4));\n }\n\n loadCustomCSS() {\n return fs.readFileSync(this.customCSS).toString();\n }\n\n saveCustomCSS(css) {\n return fs.writeFileSync(this.customCSS, css);\n }\n\n getPluginData(pluginName, key) {\n if (this.pluginData[pluginName] !== undefined) return this.pluginData[pluginName][key] || undefined;\n if (!fs.existsSync(this.getPluginFile(pluginName))) return undefined;\n this.pluginData[pluginName] = JSON.parse(fs.readFileSync(this.getPluginFile(pluginName)));\n return this.pluginData[pluginName][key] || undefined;\n }\n\n setPluginData(pluginName, key, value) {\n if (value === undefined) return;\n if (this.pluginData[pluginName] === undefined) this.pluginData[pluginName] = {};\n this.pluginData[pluginName][key] = value;\n fs.writeFileSync(this.getPluginFile(pluginName), JSON.stringify(this.pluginData[pluginName], null, 4));\n }\n\n deletePluginData(pluginName, key) {\n if (this.pluginData[pluginName] === undefined) this.pluginData[pluginName] = {};\n delete this.pluginData[pluginName][key];\n fs.writeFileSync(this.getPluginFile(pluginName), JSON.stringify(this.pluginData[pluginName], null, 4));\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvZGF0YXN0b3JlLmpzPzEwNTIiXSwibmFtZXMiOlsiZnMiLCJyZXF1aXJlIiwicGF0aCIsInJlbGVhc2VDaGFubmVsIiwiRGlzY29yZE5hdGl2ZSIsImdsb2JhbHMiLCJEYXRhU3RvcmUiLCJjb25zdHJ1Y3RvciIsImRhdGEiLCJtaXNjIiwicGx1Z2luRGF0YSIsImluaXRpYWxpemUiLCJleGlzdHNTeW5jIiwiYmFzZUZvbGRlciIsIm1rZGlyU3luYyIsImRhdGFGb2xkZXIiLCJCREZpbGUiLCJ3cml0ZUZpbGVTeW5jIiwiSlNPTiIsInN0cmluZ2lmeSIsImN1c3RvbUNTUyIsImRhdGFGaWxlcyIsInJlYWRkaXJTeW5jIiwiZmlsdGVyIiwiZiIsInN0YXRTeW5jIiwicmVzb2x2ZSIsImlzRGlyZWN0b3J5IiwiZW5kc1dpdGgiLCJmaWxlIiwic3BsaXQiLCJfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyIsIl9jdXN0b21DU1MiLCJfYmFzZUZvbGRlciIsIkNvbmZpZyIsImRhdGFQYXRoIiwiX2RhdGFGb2xkZXIiLCJfQkRGaWxlIiwiZ2V0UGx1Z2luRmlsZSIsInBsdWdpbk5hbWUiLCJfZ2V0RmlsZSIsImtleSIsImdldEJERGF0YSIsInNldEJERGF0YSIsInZhbHVlIiwiZ2V0RGF0YSIsInNldERhdGEiLCJsb2FkQ3VzdG9tQ1NTIiwicmVhZEZpbGVTeW5jIiwidG9TdHJpbmciLCJzYXZlQ3VzdG9tQ1NTIiwiY3NzIiwiZ2V0UGx1Z2luRGF0YSIsInVuZGVmaW5lZCIsInBhcnNlIiwic2V0UGx1Z2luRGF0YSIsImRlbGV0ZVBsdWdpbkRhdGEiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTs7QUFDQSxNQUFNQSxFQUFFLEdBQUdDLG1CQUFPLENBQUMsY0FBRCxDQUFsQjs7QUFDQSxNQUFNQyxJQUFJLEdBQUdELG1CQUFPLENBQUMsa0JBQUQsQ0FBcEI7O0FBQ0EsTUFBTUUsY0FBYyxHQUFHQyxhQUFhLENB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QUssS0FBS1MsU0FBZCxFQUF5QjtBQUN6QixRQUFJLEtBQUszQyxVQUFMLENBQWdCNkIsVUFBaEIsTUFBZ0NjLFNBQXBDLEVBQStDLEtBQUszQyxVQUFMLENBQWdCNkIsVUFBaEIsSUFBOEIsRUFBOUI7QUFDL0MsU0FBSzdCLFVBQUwsQ0FBZ0I2QixVQUFoQixFQUE0QkUsR0FBNUIsSUFBbUNHLEtBQW5DO0FBQ0E1QyxNQUFFLENBQUNpQixhQUFILENBQWlCLEtBQUtxQixhQUFMLENBQW1CQyxVQUFuQixDQUFqQixFQUFpRHJCLElBQUksQ0FBQ0MsU0FBTCxDQUFlLEtBQUtULFVBQUwsQ0FBZ0I2QixVQUFoQixDQUFmLEVBQTRDLElBQTVDLEVBQWtELENBQWxELENBQWpEO0FBQ0g7O0FBRURpQixrQkFBZ0IsQ0FBQ2pCLFVBQUQsRUFBYUUsR0FBYixFQUFrQjtBQUM5QixRQUFJLEtBQUsvQixVQUFMLENBQWdCNkIsVUFBaEIsTUFBZ0NjLFNBQXBDLEVBQStDLEtBQUszQyxVQUFMLENBQWdCNkIsVUFBaEIsSUFBOEIsRUFBOUI7QUFDL0MsV0FBTyxLQUFLN0IsVUFBTCxDQUFnQjZCLFVBQWhCLEVBQTRCRSxHQUE1QixDQUFQO0FBQ0F6QyxNQUFFLENBQUNpQixhQUFILENBQWlCLEtBQUtxQixhQUFMLENBQW1CQyxVQUFuQixDQUFqQixFQUFpRHJCLElBQUksQ0FBQ0MsU0FBTCxDQUFlLEtBQUtULFVBQUwsQ0FBZ0I2QixVQUFoQixDQUFmLEVBQTRDLElBQTVDLEVBQWtELENBQWxELENBQWpEO0FBQ0g7O0FBNUY4QixDQUFwQixFQUFmIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvZGF0YXN0b3JlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xyXG5jb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcbmNvbnN0IHJlbGVhc2VDaGFubmVsID0gRGlzY29yZE5hdGl2ZS5nbG9iYWxzLnJlbGVhc2VDaGFubmVsO1xyXG5cclxuLy8gU2NoZW1hIDFcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gJWFwcGRhdGElXFxCZXR0ZXJEaXNjb3JkXHJcbi8vICAgICAtPiBkYXRhXFxcclxuLy8gICAgICAgICAtPiBbcmVsZWFzZUNoYW5uZWxdLmpzb24gKHN0YWJsZS9jYW5hcnkvcHRiKVxyXG5cclxuLy8gU2NoZW1hIDJcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gJWFwcGRhdGElXFxCZXR0ZXJEaXNjb3JkXHJcbi8vICAgICAtPiBkYXRhXHJcbi8vICAgICAgICAgLT4gW3JlbGVhc2VDaGFubmVsXVxcIChzdGFibGUvY2FuYXJ5L3B0YilcclxuLy8gICAgICAgICAgICAgLT4gc2V0dGluZ3MuanNvblxyXG4vLyAgICAgICAgICAgICAtPiBwbHVnaW5zLmpzb25cclxuLy8gICAgICAgICAgICAgLT4gdGhlbWVzLmpzb25cclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBEYXRhU3RvcmUge1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0ge21pc2M6IHt9fTtcclxuICAgICAgICB0aGlzLnBsdWdpbkRhdGEgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplKCkge1xyXG4gICAgICAgIGlmICghZnMuZXhpc3RzU3luYyh0aGlzLmJhc2VGb2xkZXIpKSBmcy5ta2RpclN5bmModGhpcy5iYXNlRm9sZGVyKTtcclxuICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5kYXRhRm9sZGVyKSkgZnMubWtkaXJTeW5jKHRoaXMuZGF0YUZvbGRlcik7XHJcbiAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMuQkRGaWxlKSkgZnMud3JpdGVGaWxlU3luYyh0aGlzLkJERmlsZSwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhLm1pc2MsIG51bGwsIDQpKTtcclxuICAgICAgICBpZiAoIWZzLmV4aXN0c1N5bmModGhpcy5jdXN0b21DU1MpKSBmcy53cml0ZUZpbGVTeW5jKHRoaXMuY3VzdG9tQ1NTLCBcIlwiKTtcclxuICAgICAgICBjb25zdCBkYXRhRmlsZXMgPSBmcy5yZWFkZGlyU3luYyh0aGlzLmRhdGFGb2xkZXIpLmZpbHRlcihmID0+ICFmcy5zdGF0U3luYyhwYXRoLnJlc29sdmUodGhpcy5kYXRhRm9sZGVyLCBmKSkuaXNEaXJlY3RvcnkoKSAmJiBmLmVuZHNXaXRoKFwiLmpzb25cIikpO1xyXG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBkYXRhRmlsZXMpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhW2ZpbGUuc3BsaXQoXCIuXCIpWzBdXSA9IF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHBhdGgucmVzb2x2ZSh0aGlzLmRhdGFGb2xkZXIsIGZpbGUpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdGhpcy5kYXRhID0gX19ub25fd2VicGFja19yZXF1aXJlX18odGhpcy5CREZpbGUpO1xyXG4gICAgICAgIC8vIGlmIChkYXRhLmhhc093blByb3BlcnR5KFwic2V0dGluZ3NcIikpIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgLy8gaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMuc2V0dGluZ3NGaWxlKSkgcmV0dXJuO1xyXG4gICAgICAgIC8vIGxldCBzZXR0aW5ncyA9IF9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fKHRoaXMuc2V0dGluZ3NGaWxlKTtcclxuICAgICAgICAvLyBmcy51bmxpbmtTeW5jKHRoaXMuc2V0dGluZ3NGaWxlKTtcclxuICAgICAgICAvLyBpZiAoc2V0dGluZ3MuaGFzT3duUHJvcGVydHkoXCJzZXR0aW5nc1wiKSkgc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHtzdGFibGU6IHt9LCBjYW5hcnk6IHt9LCBwdGI6IHt9fSwge1tyZWxlYXNlQ2hhbm5lbF06IHNldHRpbmdzfSk7XHJcbiAgICAgICAgLy8gZWxzZSBzZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe3N0YWJsZToge30sIGNhbmFyeToge30sIHB0Yjoge319LCBzZXR0aW5ncyk7XHJcbiAgICAgICAgLy8gdGhpcy5zZXRCRERhdGEoXCJzZXR0aW5nc1wiLCBzZXR0aW5ncyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGN1c3RvbUNTUygpIHtyZXR1cm4gdGhpcy5fY3VzdG9tQ1NTIHx8ICh0aGlzLl9jdXN0b21DU1MgPSBwYXRoLnJlc29sdmUodGhpcy5kYXRhRm9sZGVyLCBcImN1c3RvbS5jc3NcIikpO31cclxuICAgIGdldCBiYXNlRm9sZGVyKCkge3JldHVybiB0aGlzLl9iYXNlRm9sZGVyIHx8ICh0aGlzLl9iYXNlRm9sZGVyID0gcGF0aC5yZXNvbHZlKENvbmZpZy5kYXRhUGF0aCwgXCJkYXRhXCIpKTt9XHJcbiAgICBnZXQgZGF0YUZvbGRlcigpIHtyZXR1cm4gdGhpcy5fZGF0YUZvbGRlciB8fCAodGhpcy5fZGF0YUZvbGRlciA9IHBhdGgucmVzb2x2ZSh0aGlzLmJhc2VGb2xkZXIsIGAke3JlbGVhc2VDaGFubmVsfWApKTt9XHJcbiAgICBnZXQgQkRGaWxlKCkge3JldHVybiB0aGlzLl9CREZpbGUgfHwgKHRoaXMuX0JERmlsZSA9IHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwiZGF0YVwiLCBgJHtyZWxlYXNlQ2hhbm5lbH0uanNvbmApKTt9XHJcbiAgICAvLyBnZXQgc2V0dGluZ3NGaWxlKCkge3JldHVybiB0aGlzLl9zZXR0aW5nc0ZpbGUgfHwgKHRoaXMuX3NldHRpbmdzRmlsZSA9IHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwiYmRzZXR0aW5ncy5qc29uXCIpKTt9XHJcbiAgICBnZXRQbHVnaW5GaWxlKHBsdWdpbk5hbWUpIHtyZXR1cm4gcGF0aC5yZXNvbHZlKENvbmZpZy5kYXRhUGF0aCwgXCJwbHVnaW5zXCIsIHBsdWdpbk5hbWUgKyBcIi5jb25maWcuanNvblwiKTt9XHJcblxyXG4gICAgLy8gZ2V0U2V0dGluZ0dyb3VwKGtleSkge1xyXG4gICAgLy8gICAgIHJldHVybiB0aGlzLmRhdGEuc2V0dGluZ3Nba2V5XSB8fCBudWxsO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHNldFNldHRpbmdHcm91cChrZXksIGRhdGEpIHtcclxuICAgIC8vICAgICB0aGlzLmRhdGEuc2V0dGluZ3Nba2V5XSA9IGRhdGE7XHJcbiAgICAvLyAgICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLkJERmlsZSwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhLCBudWxsLCA0KSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgX2dldEZpbGUoa2V5KSB7XHJcbiAgICAgICAgaWYgKGtleSA9PSBcInNldHRpbmdzXCIgfHwga2V5ID09IFwicGx1Z2luc1wiIHx8IGtleSA9PSBcInRoZW1lc1wiKSByZXR1cm4gcGF0aC5yZXNvbHZlKHRoaXMuZGF0YUZvbGRlciwgYCR7a2V5fS5qc29uYCk7XHJcbiAgICAgICAgcmV0dXJuIHBhdGgucmVzb2x2ZSh0aGlzLmRhdGFGb2xkZXIsIGBtaXNjLmpzb25gKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRCRERhdGEoa2V5KSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5taXNjW2tleV0gfHwgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBzZXRCRERhdGEoa2V5LCB2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZGF0YS5taXNjW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGgucmVzb2x2ZSh0aGlzLmRhdGFGb2xkZXIsIGBtaXNjLmpzb25gKSwgSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhLm1pc2MsIG51bGwsIDQpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXREYXRhKGtleSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFba2V5XSB8fCBcIlwiO1xyXG4gICAgICAgIC8vIHJldHVybiBKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhwYXRoLnJlc29sdmUodGhpcy5kYXRhRm9sZGVyLCBgJHtmaWxlfS5qc29uYCkpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXREYXRhKGtleSwgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHZhbHVlO1xyXG4gICAgICAgIC8vIGZzLndyaXRlRmlsZVN5bmModGhpcy5CREZpbGUsIEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSwgbnVsbCwgNCkpO1xyXG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMocGF0aC5yZXNvbHZlKHRoaXMuZGF0YUZvbGRlciwgYCR7a2V5fS5qc29uYCksIEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCA0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEN1c3RvbUNTUygpIHtcclxuICAgICAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKHRoaXMuY3VzdG9tQ1NTKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVDdXN0b21DU1MoY3NzKSB7XHJcbiAgICAgICAgcmV0dXJuIGZzLndyaXRlRmlsZVN5bmModGhpcy5jdXN0b21DU1MsIGNzcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXkpIHtcclxuICAgICAgICBpZiAodGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLnBsdWdpbkRhdGFbcGx1Z2luTmFtZV1ba2V5XSB8fCB1bmRlZmluZWQ7XHJcbiAgICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHRoaXMuZ2V0UGx1Z2luRmlsZShwbHVnaW5OYW1lKSkpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmModGhpcy5nZXRQbHVnaW5GaWxlKHBsdWdpbk5hbWUpKSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXVtrZXldIHx8IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBzZXRQbHVnaW5EYXRhKHBsdWdpbk5hbWUsIGtleSwgdmFsdWUpIHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG4gICAgICAgIGlmICh0aGlzLnBsdWdpbkRhdGFbcGx1Z2luTmFtZV0gPT09IHVuZGVmaW5lZCkgdGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdID0ge307XHJcbiAgICAgICAgdGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMuZ2V0UGx1Z2luRmlsZShwbHVnaW5OYW1lKSwgSlNPTi5zdHJpbmdpZnkodGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdLCBudWxsLCA0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVsZXRlUGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXkpIHtcclxuICAgICAgICBpZiAodGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdID09PSB1bmRlZmluZWQpIHRoaXMucGx1Z2luRGF0YVtwbHVnaW5OYW1lXSA9IHt9O1xyXG4gICAgICAgIGRlbGV0ZSB0aGlzLnBsdWdpbkRhdGFbcGx1Z2luTmFtZV1ba2V5XTtcclxuICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMuZ2V0UGx1Z2luRmlsZShwbHVnaW5OYW1lKSwgSlNPTi5zdHJpbmdpZnkodGhpcy5wbHVnaW5EYXRhW3BsdWdpbk5hbWVdLCBudWxsLCA0KSk7XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/datastore.js\n");
/***/ }),
/***/ "./src/modules/emitter.js":
/*!********************************!*\
!*** ./src/modules/emitter.js ***!
\********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst EventEmitter = __webpack_require__(/*! events */ \"events\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class BDEvents extends EventEmitter {\n constructor() {\n super();\n this.setMaxListeners(20);\n }\n\n dispatch(eventName, ...args) {\n this.emit(eventName, ...args);\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvZW1pdHRlci5qcz9lOTNhIl0sIm5hbWVzIjpbIkV2ZW50RW1pdHRlciIsInJlcXVpcmUiLCJCREV2ZW50cyIsImNvbnN0cnVjdG9yIiwic2V0TWF4TGlzdGVuZXJzIiwiZGlzcGF0Y2giLCJldmVudE5hbWUiLCJhcmdzIiwiZW1pdCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQSxNQUFNQSxZQUFZLEdBQUdDLG1CQUFPLENBQUMsc0JBQUQsQ0FBNUI7O0FBQ2UsbUVBQUksTUFBTUMsUUFBTixTQUF1QkYsWUFBdkIsQ0FBb0M7QUFDbkRHLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0MsZUFBTCxDQUFxQixFQUFyQjtBQUNIOztBQUNEQyxVQUFRLENBQUNDLFNBQUQsRUFBWSxHQUFHQyxJQUFmLEVBQXFCO0FBQ3pCLFNBQUtDLElBQUwsQ0FBVUYsU0FBVixFQUFxQixHQUFHQyxJQUF4QjtBQUNIOztBQVBrRCxDQUF4QyxFQUFmIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvZW1pdHRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEV2ZW50RW1pdHRlciA9IHJlcXVpcmUoXCJldmVudHNcIik7XHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBCREV2ZW50cyBleHRlbmRzIEV2ZW50RW1pdHRlciB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMuc2V0TWF4TGlzdGVuZXJzKDIwKTtcclxuICAgIH1cclxuICAgIGRpc3BhdGNoKGV2ZW50TmFtZSwgLi4uYXJncykge1xyXG4gICAgICAgIHRoaXMuZW1pdChldmVudE5hbWUsIC4uLmFyZ3MpO1xyXG4gICAgfVxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/emitter.js\n");
/***/ }),
/***/ "./src/modules/modules.js":
/*!********************************!*\
!*** ./src/modules/modules.js ***!
\********************************/
/*! exports provided: React, ReactDOM, BDV2, BdApi, Core, ContentManager, DataStore, Events, PluginManager, ThemeManager, Utilities, WebpackModules, DiscordModules, Settings */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"React\", function() { return React; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReactDOM\", function() { return ReactDOM; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Utilities\", function() { return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"WebpackModules\", function() { return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DiscordModules\", function() { return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"]; });\n\n/* harmony import */ var _bdv2__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bdv2 */ \"./src/modules/bdv2.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BDV2\", function() { return _bdv2__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _pluginapi__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluginapi */ \"./src/modules/pluginapi.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BdApi\", function() { return _pluginapi__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./core */ \"./src/modules/core.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Core\", function() { return _core__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ContentManager\", function() { return _contentmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"DataStore\", function() { return _datastore__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Events\", function() { return _emitter__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _pluginmanager__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./pluginmanager */ \"./src/modules/pluginmanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PluginManager\", function() { return _pluginmanager__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _thememanager__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./thememanager */ \"./src/modules/thememanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ThemeManager\", function() { return _thememanager__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Settings\", function() { return _settingsmanager__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n\n\n\n\n\n\n // import DevMode from \"./devmode\";\n\n // import EmoteModule from \"./emotes\";\n\n // import PublicServers from \"./publicservers\";\n\n\n\nconst React = _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React;\nconst ReactDOM = _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ReactDOM;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvbW9kdWxlcy5qcz8xNGRiIl0sIm5hbWVzIjpbIlJlYWN0IiwiRGlzY29yZE1vZHVsZXMiLCJSZWFjdERPTSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFJQTtDQUVBOztDQUVBOztDQUVBOztBQUNBO0FBQ0E7QUFFTyxNQUFNQSxLQUFLLEdBQUdDLDhEQUFjLENBQUNELEtBQTdCO0FBQ0EsTUFBTUUsUUFBUSxHQUFHRCw4REFBYyxDQUFDQyxRQUFoQyIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL21vZHVsZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVXRpbGl0aWVzIGZyb20gXCIuL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQgV2VicGFja01vZHVsZXMsIHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIi4vd2VicGFja21vZHVsZXNcIjtcclxuXHJcbmltcG9ydCBCRFYyIGZyb20gXCIuL2JkdjJcIjtcclxuaW1wb3J0IEJkQXBpIGZyb20gXCIuL3BsdWdpbmFwaVwiO1xyXG5pbXBvcnQgQ29yZSBmcm9tIFwiLi9jb3JlXCI7XHJcblxyXG5cclxuXHJcbmltcG9ydCBDb250ZW50TWFuYWdlciBmcm9tIFwiLi9jb250ZW50bWFuYWdlclwiO1xyXG5pbXBvcnQgRGF0YVN0b3JlIGZyb20gXCIuL2RhdGFzdG9yZVwiO1xyXG4vLyBpbXBvcnQgRGV2TW9kZSBmcm9tIFwiLi9kZXZtb2RlXCI7XHJcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vZW1pdHRlclwiO1xyXG4vLyBpbXBvcnQgRW1vdGVNb2R1bGUgZnJvbSBcIi4vZW1vdGVzXCI7XHJcbmltcG9ydCBQbHVnaW5NYW5hZ2VyIGZyb20gXCIuL3BsdWdpbm1hbmFnZXJcIjtcclxuLy8gaW1wb3J0IFB1YmxpY1NlcnZlcnMgZnJvbSBcIi4vcHVibGljc2VydmVyc1wiO1xyXG5pbXBvcnQgVGhlbWVNYW5hZ2VyIGZyb20gXCIuL3RoZW1lbWFuYWdlclwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3NtYW5hZ2VyXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUmVhY3QgPSBEaXNjb3JkTW9kdWxlcy5SZWFjdDtcclxuZXhwb3J0IGNvbnN0IFJlYWN0RE9NID0gRGlzY29yZE1vZHVsZXMuUmVhY3RET007XHJcblxyXG5leHBvcnQge0JEVjIsIEJkQXBpLCBDb3JlLCBDb250ZW50TWFuYWdlciwgRGF0YVN0b3JlLFxyXG4gICAgICAgIEV2ZW50cywgUGx1Z2luTWFuYWdlciwgLypQdWJsaWNTZXJ2ZXJzLCovIFRoZW1lTWFuYWdlcixcclxuICAgICAgICBVdGlsaXRpZXMsIFdlYnBhY2tNb2R1bGVzLCBEaXNjb3JkTW9kdWxlcywgU2V0dGluZ3N9O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/modules.js\n");
/***/ }),
/***/ "./src/modules/oldstorage.js":
/*!***********************************!*\
!*** ./src/modules/oldstorage.js ***!
\***********************************/
/*! exports provided: bdStorage, bdPluginStorage */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bdStorage\", function() { return bdStorage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bdPluginStorage\", function() { return bdPluginStorage; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n\n\nclass bdStorage {\n static get(key) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", \"Please use BdApi.getBDData(). bdStorage may be removed in future versions.\");\n return _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getBDData(key);\n }\n\n static set(key, data) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", \"Please use BdApi.setBDData(). bdStorage may be removed in future versions.\");\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setBDData(key, data);\n }\n\n}\nclass bdPluginStorage {\n static get(pluginName, key) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", `${pluginName}, please use BdApi.loadData() or BdApi.getData(). bdPluginStorage may be removed in future versions.`);\n return _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getPluginData(pluginName, key) || null;\n }\n\n static set(pluginName, key, data) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", `${pluginName}, please use BdApi.saveData() or BdApi.setData(). bdPluginStorage may be removed in future versions.`);\n if (typeof data === \"undefined\") return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", \"Trying to set undefined value in plugin \" + pluginName);\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setPluginData(pluginName, key, data);\n }\n\n static delete(pluginName, key) {\n _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(\"Deprecation Notice\", `${pluginName}, please use BdApi.deleteData(). bdPluginStorage may be removed in future versions.`);\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].deletePluginData(pluginName, key);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvb2xkc3RvcmFnZS5qcz8zNDA4Il0sIm5hbWVzIjpbImJkU3RvcmFnZSIsImdldCIsImtleSIsIlV0aWxpdGllcyIsIndhcm4iLCJEYXRhU3RvcmUiLCJnZXRCRERhdGEiLCJzZXQiLCJkYXRhIiwic2V0QkREYXRhIiwiYmRQbHVnaW5TdG9yYWdlIiwicGx1Z2luTmFtZSIsImdldFBsdWdpbkRhdGEiLCJzZXRQbHVnaW5EYXRhIiwiZGVsZXRlIiwiZGVsZXRlUGx1Z2luRGF0YSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFFTyxNQUFNQSxTQUFOLENBQWdCO0FBQ25CLFNBQU9DLEdBQVAsQ0FBV0MsR0FBWCxFQUFnQjtBQUNaQyxzREFBUyxDQUFDQyxJQUFWLENBQWUsb0JBQWYsRUFBcUMsNEVBQXJDO0FBQ0EsV0FBT0Msa0RBQVMsQ0FBQ0MsU0FBVixDQUFvQkosR0FBcEIsQ0FBUDtBQUNIOztBQUVELFNBQU9LLEdBQVAsQ0FBV0wsR0FBWCxFQUFnQk0sSUFBaEIsRUFBc0I7QUFDbEJMLHNEQUFTLENBQUNDLElBQVYsQ0FBZSxvQkFBZixFQUFxQyw0RUFBckM7QUFDQUMsc0RBQVMsQ0FBQ0ksU0FBVixDQUFvQlAsR0FBcEIsRUFBeUJNLElBQXpCO0FBQ0g7O0FBVGtCO0FBWWhCLE1BQU1FLGVBQU4sQ0FBc0I7QUFDekIsU0FBT1QsR0FBUCxDQUFXVSxVQUFYLEVBQXVCVCxHQUF2QixFQUE0QjtBQUN4QkMsc0RBQVMsQ0FBQ0MsSUFBVixDQUFlLG9CQUFmLEVBQXNDLEdBQUVPLFVBQVcsc0dBQW5EO0FBQ0EsV0FBT04sa0RBQVMsQ0FBQ08sYUFBVixDQUF3QkQsVUFBeEIsRUFBb0NULEdBQXBDLEtBQTRDLElBQW5EO0FBQ0g7O0FBRUQsU0FBT0ssR0FBUCxDQUFXSSxVQUFYLEVBQXVCVCxHQUF2QixFQUE0Qk0sSUFBNUIsRUFBa0M7QUFDOUJMLHNEQUFTLENBQUNDLElBQVYsQ0FBZSxvQkFBZixFQUFzQyxHQUFFTyxVQUFXLHNHQUFuRDtBQUNBLFFBQUksT0FBT0gsSUFBUCxLQUFpQixXQUFyQixFQUFrQyxPQUFPTCxrREFBUyxDQUFDQyxJQUFWLENBQWUsb0JBQWYsRUFBcUMsNkNBQTZDTyxVQUFsRixDQUFQO0FBQ2xDTixzREFBUyxDQUFDUSxhQUFWLENBQXdCRixVQUF4QixFQUFvQ1QsR0FBcEMsRUFBeUNNLElBQXpDO0FBQ0g7O0FBRUQsU0FBT00sTUFBUCxDQUFjSCxVQUFkLEVBQTBCVCxHQUExQixFQUErQjtBQUMzQkMsc0RBQVMsQ0FBQ0MsSUFBVixDQUFlLG9CQUFmLEVBQXNDLEdBQUVPLFVBQVcscUZBQW5EO0FBQ0FOLHNEQUFTLENBQUNVLGdCQUFWLENBQTJCSixVQUEzQixFQUF1Q1QsR0FBdkM7QUFDSDs7QUFmd0IiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9vbGRzdG9yYWdlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IERhdGFTdG9yZSBmcm9tIFwiLi9kYXRhc3RvcmVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBiZFN0b3JhZ2Uge1xyXG4gICAgc3RhdGljIGdldChrZXkpIHtcclxuICAgICAgICBVdGlsaXRpZXMud2FybihcIkRlcHJlY2F0aW9uIE5vdGljZVwiLCBcIlBsZWFzZSB1c2UgQmRBcGkuZ2V0QkREYXRhKCkuIGJkU3RvcmFnZSBtYXkgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXCIpO1xyXG4gICAgICAgIHJldHVybiBEYXRhU3RvcmUuZ2V0QkREYXRhKGtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNldChrZXksIGRhdGEpIHtcclxuICAgICAgICBVdGlsaXRpZXMud2FybihcIkRlcHJlY2F0aW9uIE5vdGljZVwiLCBcIlBsZWFzZSB1c2UgQmRBcGkuc2V0QkREYXRhKCkuIGJkU3RvcmFnZSBtYXkgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXCIpO1xyXG4gICAgICAgIERhdGFTdG9yZS5zZXRCRERhdGEoa2V5LCBkYXRhKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIGJkUGx1Z2luU3RvcmFnZSB7XHJcbiAgICBzdGF0aWMgZ2V0KHBsdWdpbk5hbWUsIGtleSkge1xyXG4gICAgICAgIFV0aWxpdGllcy53YXJuKFwiRGVwcmVjYXRpb24gTm90aWNlXCIsIGAke3BsdWdpbk5hbWV9LCBwbGVhc2UgdXNlIEJkQXBpLmxvYWREYXRhKCkgb3IgQmRBcGkuZ2V0RGF0YSgpLiBiZFBsdWdpblN0b3JhZ2UgbWF5IGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLmApO1xyXG4gICAgICAgIHJldHVybiBEYXRhU3RvcmUuZ2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXkpIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNldChwbHVnaW5OYW1lLCBrZXksIGRhdGEpIHtcclxuICAgICAgICBVdGlsaXRpZXMud2FybihcIkRlcHJlY2F0aW9uIE5vdGljZVwiLCBgJHtwbHVnaW5OYW1lfSwgcGxlYXNlIHVzZSBCZEFwaS5zYXZlRGF0YSgpIG9yIEJkQXBpLnNldERhdGEoKS4gYmRQbHVnaW5TdG9yYWdlIG1heSBiZSByZW1vdmVkIGluIGZ1dHVyZSB2ZXJzaW9ucy5gKTtcclxuICAgICAgICBpZiAodHlwZW9mKGRhdGEpID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gVXRpbGl0aWVzLndhcm4oXCJEZXByZWNhdGlvbiBOb3RpY2VcIiwgXCJUcnlpbmcgdG8gc2V0IHVuZGVmaW5lZCB2YWx1ZSBpbiBwbHVnaW4gXCIgKyBwbHVnaW5OYW1lKTtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXksIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkZWxldGUocGx1Z2luTmFtZSwga2V5KSB7XHJcbiAgICAgICAgVXRpbGl0aWVzLndhcm4oXCJEZXByZWNhdGlvbiBOb3RpY2VcIiwgYCR7cGx1Z2luTmFtZX0sIHBsZWFzZSB1c2UgQmRBcGkuZGVsZXRlRGF0YSgpLiBiZFBsdWdpblN0b3JhZ2UgbWF5IGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLmApO1xyXG4gICAgICAgIERhdGFTdG9yZS5kZWxldGVQbHVnaW5EYXRhKHBsdWdpbk5hbWUsIGtleSk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/oldstorage.js\n");
/***/ }),
/***/ "./src/modules/pluginapi.js":
/*!**********************************!*\
!*** ./src/modules/pluginapi.js ***!
\**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n\n\n\n\nconst BdApi = {\n get React() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].React;\n },\n\n get ReactDOM() {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"DiscordModules\"].ReactDOM;\n },\n\n get WindowConfigFile() {\n if (this._windowConfigFile) return this._windowConfigFile;\n\n const electron = __webpack_require__(/*! electron */ \"electron\").remote.app;\n\n const path = __webpack_require__(/*! path */ \"path\");\n\n const base = electron.getAppPath();\n const roamingBase = electron.getPath(\"userData\");\n const roamingLocation = path.resolve(roamingBase, electron.getVersion(), \"modules\", \"discord_desktop_core\", \"injector\", \"config.json\");\n const location = path.resolve(base, \"..\", \"app\", \"config.json\");\n\n const fs = __webpack_require__(/*! fs */ \"fs\");\n\n const realLocation = fs.existsSync(location) ? location : fs.existsSync(roamingLocation) ? roamingLocation : null;\n if (!realLocation) return this._windowConfigFile = null;\n return this._windowConfigFile = realLocation;\n }\n\n};\n\nBdApi.getAllWindowPreferences = function () {\n if (!this.WindowConfigFile) return {};\n return require(this.WindowConfigFile);\n};\n\nBdApi.getWindowPreference = function (key) {\n if (!this.WindowConfigFile) return undefined;\n return this.getAllWindowPreferences()[key];\n};\n\nBdApi.setWindowPreference = function (key, value) {\n if (!this.WindowConfigFile) return;\n\n const fs = __webpack_require__(/*! fs */ \"fs\");\n\n const prefs = this.getAllWindowPreferences();\n prefs[key] = value;\n delete __webpack_require__.c[this.WindowConfigFile];\n fs.writeFileSync(this.WindowConfigFile, JSON.stringify(prefs, null, 4));\n}; //Inject CSS to document head\n//id = id of element\n//css = custom css\n\n\nBdApi.injectCSS = function (id, css) {\n $(\"head\").append($(\"<style>\", {\n id: _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].escapeID(id),\n text: css\n }));\n}; //Clear css/remove any element\n//id = id of element\n\n\nBdApi.clearCSS = function (id) {\n $(\"#\" + _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].escapeID(id)).remove();\n}; //Inject CSS to document head\n//id = id of element\n//css = custom css\n\n\nBdApi.linkJS = function (id, url) {\n $(\"head\").append($(\"<script>\", {\n id: _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].escapeID(id),\n src: url,\n type: \"text/javascript\"\n }));\n}; //Clear css/remove any element\n//id = id of element\n\n\nBdApi.unlinkJS = function (id) {\n $(\"#\" + _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].escapeID(id)).remove();\n};\n/**\r\n * Shows a generic but very customizable modal.\r\n * @param {string} title - title of the modal\r\n * @param {string} content - a string of text to display in the modal\r\n */\n\n\nBdApi.alert = function (title, content) {\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].alert(title, content);\n};\n/**\r\n * Shows a generic but very customizable confirmation modal with optional confirm and cancel callbacks.\r\n * @param {string} title - title of the modal\r\n * @param {(string|ReactElement|Array<string|ReactElement>)} children - a single or mixed array of react elements and strings. Everything is wrapped in Discord's `TextElement` component so strings will show and render properly.\r\n * @param {object} [options] - options to modify the modal\r\n * @param {boolean} [options.danger=false] - whether the main button should be red or not\r\n * @param {string} [options.confirmText=Okay] - text for the confirmation/submit button\r\n * @param {string} [options.cancelText=Cancel] - text for the cancel button\r\n * @param {callable} [options.onConfirm=NOOP] - callback to occur when clicking the submit button\r\n * @param {callable} [options.onCancel=NOOP] - callback to occur when clicking the cancel button\r\n */\n\n\nBdApi.showConfirmationModal = function (title, content, options = {}) {\n return ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showConfirmationModal(title, content, options);\n};\n/**\r\n * This shows a toast similar to android towards the bottom of the screen.\r\n *\r\n * @param {string} content The string to show in the toast.\r\n * @param {object} options Options object. Optional parameter.\r\n * @param {string} [options.type=\"\"] Changes the type of the toast stylistically and semantically. Choices: \"\", \"info\", \"success\", \"danger\"/\"error\", \"warning\"/\"warn\". Default: \"\"\r\n * @param {boolean} [options.icon=true] Determines whether the icon should show corresponding to the type. A toast without type will always have no icon. Default: true\r\n * @param {number} [options.timeout=3000] Adjusts the time (in ms) the toast should be shown for before disappearing automatically. Default: 3000\r\n * @param {boolean} [options.forceShow=false] Whether to force showing the toast and ignore the bd setting\r\n */\n\n\nBdApi.showToast = function (content, options = {}) {\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(content, options);\n}; // Finds module\n\n\nBdApi.findModule = function (filter) {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getModule(filter);\n}; // Finds module\n\n\nBdApi.findAllModules = function (filter) {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getModule(filter, false);\n}; // Finds module\n\n\nBdApi.findModuleByProps = function (...props) {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getByProps(...props);\n};\n\nBdApi.findModuleByPrototypes = function (...protos) {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getByPrototypes(...protos);\n};\n\nBdApi.findModuleByDisplayName = function (name) {\n return _webpackmodules__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getByDisplayName(name);\n}; // Gets react instance\n\n\nBdApi.getInternalInstance = function (node) {\n if (!(node instanceof window.jQuery) && !(node instanceof Element)) return undefined;\n if (node instanceof jQuery) node = node[0];\n return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getInternalInstance(node);\n}; // Gets data\n\n\nBdApi.loadData = function (pluginName, key) {\n return _datastore__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getPluginData(pluginName, key);\n};\n\nBdApi.getData = BdApi.loadData; // Sets data\n\nBdApi.saveData = function (pluginName, key, data) {\n return _datastore__WEBPACK_IMPORTED_MODULE_2__[\"default\"].setPluginData(pluginName, key, data);\n};\n\nBdApi.setData = BdApi.saveData; // Deletes data\n\nBdApi.deleteData = function (pluginName, key) {\n return _datastore__WEBPACK_IMPORTED_MODULE_2__[\"default\"].deletePluginData(pluginName, key);\n}; // Patches other functions\n\n\nBdApi.monkeyPatch = function (what, methodName, options) {\n return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].monkeyPatch(what, methodName, options);\n}; // Event when element is removed\n\n\nBdApi.onRemoved = function (node, callback) {\n return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].onRemoved(node, callback);\n}; // Wraps function in try..catch\n\n\nBdApi.suppressErrors = function (method, message) {\n return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].suppressErrors(method, message);\n}; // Tests for valid JSON\n\n\nBdApi.testJSON = function (data) {\n return _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].testJSON(data);\n}; //Get another plugin\n//name = name of plugin\n// BdApi.getPlugin = function (name) {\n// if (Plugins.hasOwnProperty(name)) {\n// return Plugins[name].plugin;\n// }\n// return null;\n// };\n// BdApi.isPluginEnabled = function(name) {\n// return !!PluginCookie[name];\n// };\n// BdApi.isThemeEnabled = function(name) {\n// return !!ThemeCookie[name];\n// };\n// BdApi.isSettingEnabled = function(id) {\n// return !!SettingsCookie[id];\n// };\n// Gets data\n\n\nBdApi.getBDData = function (key) {\n return _datastore__WEBPACK_IMPORTED_MODULE_2__[\"default\"].getBDData(key);\n}; // Sets data\n\n\nBdApi.setBDData = function (key, data) {\n return _datastore__WEBPACK_IMPORTED_MODULE_2__[\"default\"].setBDData(key, data);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (BdApi);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvcGx1Z2luYXBpLmpzPzZhOTMiXSwibmFtZXMiOlsiQmRBcGkiLCJSZWFjdCIsIkRpc2NvcmRNb2R1bGVzIiwiUmVhY3RET00iLCJXaW5kb3dDb25maWdGaWxlIiwiX3dpbmRvd0NvbmZpZ0ZpbGUiLCJlbGVjdHJvbiIsInJlcXVpcmUiLCJyZW1vdGUiLCJhcHAiLCJwYXRoIiwiYmFzZSIsImdldEFwcFBhdGgiLCJyb2FtaW5nQmFzZSIsImdldFBhdGgiLCJyb2FtaW5nTG9jYXRpb24iLCJyZXNvbHZlIiwiZ2V0VmVyc2lvbiIsImxvY2F0aW9uIiwiZnMiLCJyZWFsTG9jYXRpb24iLCJleGlzdHNTeW5jIiwiZ2V0QWxsV2luZG93UHJlZmVyZW5jZXMiLCJfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyIsImdldFdpbmRvd1ByZWZlcmVuY2UiLCJrZXkiLCJ1bmRlZmluZWQiLCJzZXRXaW5kb3dQcmVmZXJlbmNlIiwidmFsdWUiLCJwcmVmcyIsIndyaXRlRmlsZVN5bmMiLCJKU09OIiwic3RyaW5naWZ5IiwiaW5qZWN0Q1NTIiwiaWQiLCJjc3MiLCIkIiwiYXBwZW5kIiwiVXRpbGl0aWVzIiwiZXNjYXBlSUQiLCJ0ZXh0IiwiY2xlYXJDU1MiLCJyZW1vdmUiLCJsaW5rSlMiLCJ1cmwiLCJzcmMiLCJ0eXBlIiwidW5saW5rSlMiLCJhbGVydCIsInRpdGxlIiwiY29udGVudCIsIk1vZGFscyIsInNob3dDb25maXJtYXRpb25Nb2RhbCIsIm9wdGlvbnMiLCJzaG93VG9hc3QiLCJUb2FzdHMiLCJzaG93IiwiZmluZE1vZHVsZSIsImZpbHRlciIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0TW9kdWxlIiwiZmluZEFsbE1vZHVsZXMiLCJmaW5kTW9kdWxlQnlQcm9wcyIsInByb3BzIiwiZ2V0QnlQcm9wcyIsImZpbmRNb2R1bGVCeVByb3RvdHlwZXMiLCJwcm90b3MiLCJnZXRCeVByb3RvdHlwZXMiLCJmaW5kTW9kdWxlQnlEaXNwbGF5TmFtZSIsIm5hbWUiLCJnZXRCeURpc3BsYXlOYW1lIiwiZ2V0SW50ZXJuYWxJbnN0YW5jZSIsIm5vZGUiLCJ3aW5kb3ciLCJqUXVlcnkiLCJFbGVtZW50IiwibG9hZERhdGEiLCJwbHVnaW5OYW1lIiwiRGF0YVN0b3JlIiwiZ2V0UGx1Z2luRGF0YSIsImdldERhdGEiLCJzYXZlRGF0YSIsImRhdGEiLCJzZXRQbHVnaW5EYXRhIiwic2V0RGF0YSIsImRlbGV0ZURhdGEiLCJkZWxldGVQbHVnaW5EYXRhIiwibW9ua2V5UGF0Y2giLCJ3aGF0IiwibWV0aG9kTmFtZSIsIm9uUmVtb3ZlZCIsImNhbGxiYWNrIiwic3VwcHJlc3NFcnJvcnMiLCJtZXRob2QiLCJtZXNzYWdlIiwidGVzdEpTT04iLCJnZXRCRERhdGEiLCJzZXRCRERhdGEiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLE1BQU1BLEtBQUssR0FBRztBQUNWLE1BQUlDLEtBQUosR0FBWTtBQUFFLFdBQU9DLDhEQUFjLENBQUNELEtBQXRCO0FBQThCLEdBRGxDOztBQUVWLE1BQUlFLFFBQUosR0FBZTtBQUFFLFdBQU9ELDhEQUFjLENBQUNDLFFBQXRCO0FBQWlDLEdBRnhDOztBQUdWLE1BQUlDLGdCQUFKLEdBQXVCO0FBQ25CLFFBQUksS0FBS0MsaUJBQVQsRUFBNEIsT0FBTyxLQUFLQSxpQkFBWjs7QUFDNUIsVUFBTUMsUUFBUSxHQUFHQyxtQkFBTyxDQUFDLDBCQUFELENBQVAsQ0FBb0JDLE1BQXBCLENBQTJCQyxHQUE1Qzs7QUFDQSxVQUFNQyxJQUFJLEdBQUdILG1CQUFPLENBQUMsa0JBQUQsQ0FBcEI7O0FBQ0EsVUFBTUksSUFBSSxHQUFHTCxRQUFRLENBQUNNLFVBQVQsRUFBYjtBQUNBLFVBQU1DLFdBQVcsR0FBR1AsUUFBUSxDQUFDUSxPQUFULENBQWlCLFVBQWpCLENBQXBCO0FBQ0EsVUFBTUMsZUFBZSxHQUFHTCxJQUFJLENBQUNNLE9BQUwsQ0FBYUgsV0FB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QVMsQ0FBQ2tCLFNBQVYsQ0FBb0J2RSxHQUFwQixDQUFQO0FBQ0gsQ0FGRCxDLENBSUE7OztBQUNBekIsS0FBSyxDQUFDaUcsU0FBTixHQUFrQixVQUFTeEUsR0FBVCxFQUFjeUQsSUFBZCxFQUFvQjtBQUNsQyxTQUFPSixrREFBUyxDQUFDbUIsU0FBVixDQUFvQnhFLEdBQXBCLEVBQXlCeUQsSUFBekIsQ0FBUDtBQUNILENBRkQ7O0FBSWVsRixvRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3BsdWdpbmFwaS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBVdGlsaXRpZXMgZnJvbSBcIi4vdXRpbGl0aWVzXCI7XHJcbmltcG9ydCBXZWJwYWNrTW9kdWxlcywge0Rpc2NvcmRNb2R1bGVzfSBmcm9tIFwiLi93ZWJwYWNrbW9kdWxlc1wiO1xyXG5pbXBvcnQgRGF0YVN0b3JlIGZyb20gXCIuL2RhdGFzdG9yZVwiO1xyXG5pbXBvcnQge1RvYXN0cywgTW9kYWxzfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IEJkQXBpID0ge1xyXG4gICAgZ2V0IFJlYWN0KCkgeyByZXR1cm4gRGlzY29yZE1vZHVsZXMuUmVhY3Q7IH0sXHJcbiAgICBnZXQgUmVhY3RET00oKSB7IHJldHVybiBEaXNjb3JkTW9kdWxlcy5SZWFjdERPTTsgfSxcclxuICAgIGdldCBXaW5kb3dDb25maWdGaWxlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl93aW5kb3dDb25maWdGaWxlKSByZXR1cm4gdGhpcy5fd2luZG93Q29uZmlnRmlsZTtcclxuICAgICAgICBjb25zdCBlbGVjdHJvbiA9IHJlcXVpcmUoXCJlbGVjdHJvblwiKS5yZW1vdGUuYXBwO1xyXG4gICAgICAgIGNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuICAgICAgICBjb25zdCBiYXNlID0gZWxlY3Ryb24uZ2V0QXBwUGF0aCgpO1xyXG4gICAgICAgIGNvbnN0IHJvYW1pbmdCYXNlID0gZWxlY3Ryb24uZ2V0UGF0aChcInVzZXJEYXRhXCIpO1xyXG4gICAgICAgIGNvbnN0IHJvYW1pbmdMb2NhdGlvbiA9IHBhdGgucmVzb2x2ZShyb2FtaW5nQmFzZSwgZWxlY3Ryb24uZ2V0VmVyc2lvbigpLCBcIm1vZHVsZXNcIiwgXCJkaXNjb3JkX2Rlc2t0b3BfY29yZVwiLCBcImluamVjdG9yXCIsIFwiY29uZmlnLmpzb25cIik7XHJcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSBwYXRoLnJlc29sdmUoYmFzZSwgXCIuLlwiLCBcImFwcFwiLCBcImNvbmZpZy5qc29uXCIpO1xyXG4gICAgICAgIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xyXG4gICAgICAgIGNvbnN0IHJlYWxMb2NhdGlvbiA9IGZzLmV4aXN0c1N5bmMobG9jYXRpb24pID8gbG9jYXRpb24gOiBmcy5leGlzdHNTeW5jKHJvYW1pbmdMb2NhdGlvbikgPyByb2FtaW5nTG9jYXRpb24gOiBudWxsO1xyXG4gICAgICAgIGlmICghcmVhbExvY2F0aW9uKSByZXR1cm4gdGhpcy5fd2luZG93Q29uZmlnRmlsZSA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpbmRvd0NvbmZpZ0ZpbGUgPSByZWFsTG9jYXRpb247XHJcbiAgICB9XHJcbn07XHJcblxyXG5CZEFwaS5nZXRBbGxXaW5kb3dQcmVmZXJlbmNlcyA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYgKCF0aGlzLldpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybiB7fTtcclxuICAgIHJldHVybiBfX25vbl93ZWJwYWNrX3JlcXVpcmVfXyh0aGlzLldpbmRvd0NvbmZpZ0ZpbGUpO1xyXG59O1xyXG5cclxuQmRBcGkuZ2V0V2luZG93UHJlZmVyZW5jZSA9IGZ1bmN0aW9uKGtleSkge1xyXG4gICAgaWYgKCF0aGlzLldpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRBbGxXaW5kb3dQcmVmZXJlbmNlcygpW2tleV07XHJcbn07XHJcblxyXG5CZEFwaS5zZXRXaW5kb3dQcmVmZXJlbmNlID0gZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xyXG4gICAgaWYgKCF0aGlzLldpbmRvd0NvbmZpZ0ZpbGUpIHJldHVybjtcclxuICAgIGNvbnN0IGZzID0gcmVxdWlyZShcImZzXCIpO1xyXG4gICAgY29uc3QgcHJlZnMgPSB0aGlzLmdldEFsbFdpbmRvd1ByZWZlcmVuY2VzKCk7XHJcbiAgICBwcmVmc1trZXldID0gdmFsdWU7XHJcbiAgICBkZWxldGUgcmVxdWlyZS5jYWNoZVt0aGlzLldpbmRvd0NvbmZpZ0ZpbGVdO1xyXG4gICAgZnMud3JpdGVGaWxlU3luYyh0aGlzLldpbmRvd0NvbmZpZ0ZpbGUsIEpTT04uc3RyaW5naWZ5KHByZWZzLCBudWxsLCA0KSk7XHJcbn07XHJcblxyXG4vL0luamVjdCBDU1MgdG8gZG9jdW1lbnQgaGVhZFxyXG4vL2lkID0gaWQgb2YgZWxlbWVudFxyXG4vL2NzcyA9IGN1c3RvbSBjc3NcclxuQmRBcGkuaW5qZWN0Q1NTID0gZnVuY3Rpb24gKGlkLCBjc3MpIHtcclxuICAgICQoXCJoZWFkXCIpLmFwcGVuZCgkKFwiPHN0eWxlPlwiLCB7aWQ6IFV0aWxpdGllcy5lc2NhcGVJRChpZCksIHRleHQ6IGNzc30pKTtcclxufTtcclxuXHJcbi8vQ2xlYXIgY3NzL3JlbW92ZSBhbnkgZWxlbWVudFxyXG4vL2lkID0gaWQgb2YgZWxlbWVudFxyXG5CZEFwaS5jbGVhckNTUyA9IGZ1bmN0aW9uIChpZCkge1xyXG4gICAgJChcIiNcIiArIFV0aWxpdGllcy5lc2NhcGVJRChpZCkpLnJlbW92ZSgpO1xyXG59O1xyXG5cclxuLy9JbmplY3QgQ1NTIHRvIGRvY3VtZW50IGhlYWRcclxuLy9pZCA9IGlkIG9mIGVsZW1lbnRcclxuLy9jc3MgPSBjdXN0b20gY3NzXHJcbkJkQXBpLmxpbmtKUyA9IGZ1bmN0aW9uIChpZCwgdXJsKSB7XHJcbiAgICAkKFwiaGVhZFwiKS5hcHBlbmQoJChcIjxzY3JpcHQ+XCIsIHtpZDogVXRpbGl0aWVzLmVzY2FwZUlEKGlkKSwgc3JjOiB1cmwsIHR5cGU6IFwidGV4dC9qYXZhc2NyaXB0XCJ9KSk7XHJcbn07XHJcblxyXG4vL0NsZWFyIGNzcy9yZW1vdmUgYW55IGVsZW1lbnRcclxuLy9pZCA9IGlkIG9mIGVsZW1lbnRcclxuQmRBcGkudW5saW5rSlMgPSBmdW5jdGlvbiAoaWQpIHtcclxuICAgICQoXCIjXCIgKyBVdGlsaXRpZXMuZXNjYXBlSUQoaWQpKS5yZW1vdmUoKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBTaG93cyBhIGdlbmVyaWMgYnV0IHZlcnkgY3VzdG9taXphYmxlIG1vZGFsLlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSB0aXRsZSBvZiB0aGUgbW9kYWxcclxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgLSBhIHN0cmluZyBvZiB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIG1vZGFsXHJcbiAqL1xyXG5CZEFwaS5hbGVydCA9IGZ1bmN0aW9uICh0aXRsZSwgY29udGVudCkge1xyXG4gICAgTW9kYWxzLmFsZXJ0KHRpdGxlLCBjb250ZW50KTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBTaG93cyBhIGdlbmVyaWMgYnV0IHZlcnkgY3VzdG9taXphYmxlIGNvbmZpcm1hdGlvbiBtb2RhbCB3aXRoIG9wdGlvbmFsIGNvbmZpcm0gYW5kIGNhbmNlbCBjYWxsYmFja3MuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZSAtIHRpdGxlIG9mIHRoZSBtb2RhbFxyXG4gKiBAcGFyYW0geyhzdHJpbmd8UmVhY3RFbGVtZW50fEFycmF5PHN0cmluZ3xSZWFjdEVsZW1lbnQ+KX0gY2hpbGRyZW4gLSBhIHNpbmdsZSBvciBtaXhlZCBhcnJheSBvZiByZWFjdCBlbGVtZW50cyBhbmQgc3RyaW5ncy4gRXZlcnl0aGluZyBpcyB3cmFwcGVkIGluIERpc2NvcmQncyBgVGV4dEVsZW1lbnRgIGNvbXBvbmVudCBzbyBzdHJpbmdzIHdpbGwgc2hvdyBhbmQgcmVuZGVyIHByb3Blcmx5LlxyXG4gKiBAcGFyYW0ge29iamVjdH0gW29wdGlvbnNdIC0gb3B0aW9ucyB0byBtb2RpZnkgdGhlIG1vZGFsXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuZGFuZ2VyPWZhbHNlXSAtIHdoZXRoZXIgdGhlIG1haW4gYnV0dG9uIHNob3VsZCBiZSByZWQgb3Igbm90XHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jb25maXJtVGV4dD1Pa2F5XSAtIHRleHQgZm9yIHRoZSBjb25maXJtYXRpb24vc3VibWl0IGJ1dHRvblxyXG4gKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuY2FuY2VsVGV4dD1DYW5jZWxdIC0gdGV4dCBmb3IgdGhlIGNhbmNlbCBidXR0b25cclxuICogQHBhcmFtIHtjYWxsYWJsZX0gW29wdGlvbnMub25Db25maXJtPU5PT1BdIC0gY2FsbGJhY2sgdG8gb2NjdXIgd2hlbiBjbGlja2luZyB0aGUgc3VibWl0IGJ1dHRvblxyXG4gKiBAcGFyYW0ge2NhbGxhYmxlfSBbb3B0aW9ucy5vbkNhbmNlbD1OT09QXSAtIGNhbGxiYWNrIHRvIG9jY3VyIHdoZW4gY2xpY2tpbmcgdGhlIGNhbmNlbCBidXR0b25cclxuICovXHJcbkJkQXBpLnNob3dDb25maXJtYXRpb25Nb2RhbCA9IGZ1bmN0aW9uICh0aXRsZSwgY29udGVudCwgb3B0aW9ucyA9IHt9KSB7XHJcbiAgICByZXR1cm4gTW9kYWxzLnNob3dDb25maXJtYXRpb25Nb2RhbCh0aXRsZSwgY29udGVudCwgb3B0aW9ucyk7XHJcbn07XHJcblxyXG4vKipcclxuICogVGhpcyBzaG93cyBhIHRvYXN0IHNpbWlsYXIgdG8gYW5kcm9pZCB0b3dhcmRzIHRoZSBib3R0b20gb2YgdGhlIHNjcmVlbi5cclxuICpcclxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgVGhlIHN0cmluZyB0byBzaG93IGluIHRoZSB0b2FzdC5cclxuICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnMgT3B0aW9ucyBvYmplY3QuIE9wdGlvbmFsIHBhcmFtZXRlci5cclxuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnR5cGU9XCJcIl0gQ2hhbmdlcyB0aGUgdHlwZSBvZiB0aGUgdG9hc3Qgc3R5bGlzdGljYWxseSBhbmQgc2VtYW50aWNhbGx5LiBDaG9pY2VzOiBcIlwiLCBcImluZm9cIiwgXCJzdWNjZXNzXCIsIFwiZGFuZ2VyXCIvXCJlcnJvclwiLCBcIndhcm5pbmdcIi9cIndhcm5cIi4gRGVmYXVsdDogXCJcIlxyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmljb249dHJ1ZV0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBpY29uIHNob3VsZCBzaG93IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHR5cGUuIEEgdG9hc3Qgd2l0aG91dCB0eXBlIHdpbGwgYWx3YXlzIGhhdmUgbm8gaWNvbi4gRGVmYXVsdDogdHJ1ZVxyXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMudGltZW91dD0zMDAwXSBBZGp1c3RzIHRoZSB0aW1lIChpbiBtcykgdGhlIHRvYXN0IHNob3VsZCBiZSBzaG93biBmb3IgYmVmb3JlIGRpc2FwcGVhcmluZyBhdXRvbWF0aWNhbGx5LiBEZWZhdWx0OiAzMDAwXHJcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuZm9yY2VTaG93PWZhbHNlXSBXaGV0aGVyIHRvIGZvcmNlIHNob3dpbmcgdGhlIHRvYXN0IGFuZCBpZ25vcmUgdGhlIGJkIHNldHRpbmdcclxuICovXHJcbkJkQXBpLnNob3dUb2FzdCA9IGZ1bmN0aW9uKGNvbnRlbnQsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgVG9hc3RzLnNob3coY29udGVudCwgb3B0aW9ucyk7XHJcbn07XHJcblxyXG4vLyBGaW5kcyBtb2R1bGVcclxuQmRBcGkuZmluZE1vZHVsZSA9IGZ1bmN0aW9uKGZpbHRlcikge1xyXG4gICAgcmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldE1vZHVsZShmaWx0ZXIpO1xyXG59O1xyXG5cclxuLy8gRmluZHMgbW9kdWxlXHJcbkJkQXBpLmZpbmRBbGxNb2R1bGVzID0gZnVuY3Rpb24oZmlsdGVyKSB7XHJcbiAgICByZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKGZpbHRlciwgZmFsc2UpO1xyXG59O1xyXG5cclxuLy8gRmluZHMgbW9kdWxlXHJcbkJkQXBpLmZpbmRNb2R1bGVCeVByb3BzID0gZnVuY3Rpb24oLi4ucHJvcHMpIHtcclxuICAgIHJldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKC4uLnByb3BzKTtcclxufTtcclxuXHJcbkJkQXBpLmZpbmRNb2R1bGVCeVByb3RvdHlwZXMgPSBmdW5jdGlvbiguLi5wcm90b3MpIHtcclxuICAgIHJldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3RvdHlwZXMoLi4ucHJvdG9zKTtcclxufTtcclxuXHJcbkJkQXBpLmZpbmRNb2R1bGVCeURpc3BsYXlOYW1lID0gZnVuY3Rpb24obmFtZSkge1xyXG4gICAgcmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5RGlzcGxheU5hbWUobmFtZSk7XHJcbn07XHJcblxyXG4vLyBHZXRzIHJlYWN0IGluc3RhbmNlXHJcbkJkQXBpLmdldEludGVybmFsSW5zdGFuY2UgPSBmdW5jdGlvbihub2RlKSB7XHJcbiAgICBpZiAoIShub2RlIGluc3RhbmNlb2Ygd2luZG93LmpRdWVyeSkgJiYgIShub2RlIGluc3RhbmNlb2YgRWxlbWVudCkpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICBpZiAobm9kZSBpbnN0YW5jZW9mIGpRdWVyeSkgbm9kZSA9IG5vZGVbMF07XHJcbiAgICByZXR1cm4gVXRpbGl0aWVzLmdldEludGVybmFsSW5zdGFuY2Uobm9kZSk7XHJcbn07XHJcblxyXG4vLyBHZXRzIGRhdGFcclxuQmRBcGkubG9hZERhdGEgPSBmdW5jdGlvbihwbHVnaW5OYW1lLCBrZXkpIHtcclxuICAgIHJldHVybiBEYXRhU3RvcmUuZ2V0UGx1Z2luRGF0YShwbHVnaW5OYW1lLCBrZXkpO1xyXG59O1xyXG5cclxuQmRBcGkuZ2V0RGF0YSA9IEJkQXBpLmxvYWREYXRhO1xyXG5cclxuLy8gU2V0cyBkYXRhXHJcbkJkQXBpLnNhdmVEYXRhID0gZnVuY3Rpb24ocGx1Z2luTmFtZSwga2V5LCBkYXRhKSB7XHJcbiAgICByZXR1cm4gRGF0YVN0b3JlLnNldFBsdWdpbkRhdGEocGx1Z2luTmFtZSwga2V5LCBkYXRhKTtcclxufTtcclxuXHJcbkJkQXBpLnNldERhdGEgPSBCZEFwaS5zYXZlRGF0YTtcclxuXHJcbi8vIERlbGV0ZXMgZGF0YVxyXG5CZEFwaS5kZWxldGVEYXRhID0gZnVuY3Rpb24ocGx1Z2luTmFtZSwga2V5KSB7XHJcbiAgICByZXR1cm4gRGF0YVN0b3JlLmRlbGV0ZVBsdWdpbkRhdGEocGx1Z2luTmFtZSwga2V5KTtcclxufTtcclxuXHJcbi8vIFBhdGNoZXMgb3RoZXIgZnVuY3Rpb25zXHJcbkJkQXBpLm1vbmtleVBhdGNoID0gZnVuY3Rpb24od2hhdCwgbWV0aG9kTmFtZSwgb3B0aW9ucykge1xyXG4gICAgcmV0dXJuIFV0aWxpdGllcy5tb25rZXlQYXRjaCh3aGF0LCBtZXRob2ROYW1lLCBvcHRpb25zKTtcclxufTtcclxuXHJcbi8vIEV2ZW50IHdoZW4gZWxlbWVudCBpcyByZW1vdmVkXHJcbkJkQXBpLm9uUmVtb3ZlZCA9IGZ1bmN0aW9uKG5vZGUsIGNhbGxiYWNrKSB7XHJcbiAgICByZXR1cm4gVXRpbGl0aWVzLm9uUmVtb3ZlZChub2RlLCBjYWxsYmFjayk7XHJcbn07XHJcblxyXG4vLyBXcmFwcyBmdW5jdGlvbiBpbiB0cnkuLmNhdGNoXHJcbkJkQXBpLnN1cHByZXNzRXJyb3JzID0gZnVuY3Rpb24obWV0aG9kLCBtZXNzYWdlKSB7XHJcbiAgICByZXR1cm4gVXRpbGl0aWVzLnN1cHByZXNzRXJyb3JzKG1ldGhvZCwgbWVzc2FnZSk7XHJcbn07XHJcblxyXG4vLyBUZXN0cyBmb3IgdmFsaWQgSlNPTlxyXG5CZEFwaS50ZXN0SlNPTiA9IGZ1bmN0aW9uKGRhdGEpIHtcclxuICAgIHJldHVybiBVdGlsaXRpZXMudGVzdEpTT04oZGF0YSk7XHJcbn07XHJcblxyXG4vL0dldCBhbm90aGVyIHBsdWdpblxyXG4vL25hbWUgPSBuYW1lIG9mIHBsdWdpblxyXG4vLyBCZEFwaS5nZXRQbHVnaW4gPSBmdW5jdGlvbiAobmFtZSkge1xyXG4vLyAgICAgaWYgKFBsdWdpbnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcclxuLy8gICAgICAgICByZXR1cm4gUGx1Z2luc1tuYW1lXS5wbHVnaW47XHJcbi8vICAgICB9XHJcbi8vICAgICByZXR1cm4gbnVsbDtcclxuLy8gfTtcclxuXHJcbi8vIEJkQXBpLmlzUGx1Z2luRW5hYmxlZCA9IGZ1bmN0aW9uKG5hbWUpIHtcclxuLy8gICAgIHJldHVybiAhIVBsdWdpbkNvb2tpZVtuYW1lXTtcclxuLy8gfTtcclxuXHJcbi8vIEJkQXBpLmlzVGhlbWVFbmFibGVkID0gZnVuY3Rpb24obmFtZSkge1xyXG4vLyAgICAgcmV0dXJuICEhVGhlbWVDb29raWVbbmFtZV07XHJcbi8vIH07XHJcblxyXG4vLyBCZEFwaS5pc1NldHRpbmdFbmFibGVkID0gZnVuY3Rpb24oaWQpIHtcclxuLy8gICAgIHJldHVybiAhIVNldHRpbmdzQ29va2llW2lkXTtcclxuLy8gfTtcclxuXHJcbi8vIEdldHMgZGF0YVxyXG5CZEFwaS5nZXRCRERhdGEgPSBmdW5jdGlvbihrZXkpIHtcclxuICAgIHJldHVybiBEYXRhU3RvcmUuZ2V0QkREYXRhKGtleSk7XHJcbn07XHJcblxyXG4vLyBTZXRzIGRhdGFcclxuQmRBcGkuc2V0QkREYXRhID0gZnVuY3Rpb24oa2V5LCBkYXRhKSB7XHJcbiAgICByZXR1cm4gRGF0YVN0b3JlLnNldEJERGF0YShrZXksIGRhdGEpO1xyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgQmRBcGk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/pluginapi.js\n");
/***/ }),
/***/ "./src/modules/pluginmanager.js":
/*!**************************************!*\
!*** ./src/modules/pluginmanager.js ***!
\**************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../structs/contenterror */ \"./src/structs/contenterror.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\nconst electronRemote = __webpack_require__(/*! electron */ \"electron\").remote;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class PluginManager extends _contentmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n get name() {\n return \"PluginManager\";\n }\n\n get moduleExtension() {\n return \".js\";\n }\n\n get extension() {\n return \".plugin.js\";\n }\n\n get contentFolder() {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"plugins\");\n }\n\n get prefix() {\n return \"plugin\";\n }\n\n constructor() {\n super();\n this.onSwitch = this.onSwitch.bind(this);\n this.observer = new MutationObserver(mutations => {\n for (let i = 0, mlen = mutations.length; i < mlen; i++) {\n this.onMutation(mutations[i]);\n }\n });\n }\n /* Aliases */\n\n\n updatePluginList() {\n return this.updateList();\n }\n\n enablePlugin(idOrContent) {\n return this.enableContent(idOrContent);\n }\n\n disablePlugin(idOrContent) {\n return this.disableContent(idOrContent);\n }\n\n togglePlugin(id) {\n return this.toggleContent(id);\n }\n\n unloadPlugin(idOrFileOrContent) {\n return this.unloadContent(idOrFileOrContent);\n }\n\n loadPlugin(filename) {\n const error = this.loadContent(filename);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n\n reloadPlugin(idOrFileOrContent) {\n const error = this.reloadContent(idOrFileOrContent);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n plugins: [error]\n });\n return typeof idOrFileOrContent == \"string\" ? this.contentList.find(c => c.id == idOrFileOrContent || c.filename == idOrFileOrContent) : idOrFileOrContent;\n }\n\n loadAllPlugins() {\n const errors = this.loadAllContent();\n this.setupFunctions();\n _settingsmanager__WEBPACK_IMPORTED_MODULE_5__[\"default\"].registerPanel(\"plugins\", \"Plugins\", {\n element: () => ui__WEBPACK_IMPORTED_MODULE_3__[\"SettingsPanel\"].getContentPanel(\"Plugins\", this.contentList, this.state, {\n folder: this.contentFolder,\n onChange: this.togglePlugin.bind(this),\n reload: this.reloadPlugin.bind(this),\n refreshList: this.updatePluginList.bind(this)\n })\n });\n return errors;\n }\n /* Overrides */\n\n\n initializeContent(content) {\n if (!content.type) return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"Plugin had no exports\", {\n message: \"Plugin had no exports or no name property.\",\n stack: \"\"\n });\n\n try {\n const thePlugin = new content.type();\n content.plugin = thePlugin;\n content.name = thePlugin.getName() || content.name;\n content.author = thePlugin.getAuthor() || content.author || \"No author\";\n content.description = thePlugin.getDescription() || content.description || \"No description\";\n content.version = thePlugin.getVersion() || content.version || \"No version\";\n\n try {\n if (typeof content.plugin.load == \"function\") content.plugin.load();\n } catch (error) {\n this.state[content.id] = false;\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"load() could not be fired.\", {\n message: error.message,\n stack: error.stack\n });\n }\n } catch (error) {\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"Could not be constructed.\", {\n message: error.message,\n stack: error.stack\n });\n }\n }\n\n getContentModification(module, content, meta) {\n module._compile(content, module.filename);\n\n const didExport = !_utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].isEmpty(module.exports);\n\n if (didExport) {\n meta.type = module.exports;\n module.exports = meta;\n return \"\";\n }\n\n content += `\\nmodule.exports = ${JSON.stringify(meta)};\\nmodule.exports.type = ${meta.exports || meta.name};`;\n return content;\n }\n\n startContent(id) {\n return this.startPlugin(id);\n }\n\n stopContent(id) {\n return this.stopPlugin(id);\n }\n\n startPlugin(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const plugin = content.plugin;\n\n try {\n plugin.start();\n this.emit(\"started\", content.id);\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(`${content.name} v${content.version} has started.`);\n } catch (err) {\n this.state[content.id] = false;\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].error(`${content.name} v${content.version} could not be started.`);\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", content.name + \" could not be started.\", err);\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"start() could not be fired.\", {\n message: err.message,\n stack: err.stack\n });\n }\n }\n\n stopPlugin(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const plugin = content.plugin;\n\n try {\n plugin.stop();\n this.emit(\"stopped\", content.id);\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].show(`${content.name} v${content.version} has stopped.`);\n } catch (err) {\n this.state[content.id] = false;\n ui__WEBPACK_IMPORTED_MODULE_3__[\"Toasts\"].error(`${content.name} v${content.version} could not be stopped.`);\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", content.name + \" could not be stopped.\", err);\n return new _structs_contenterror__WEBPACK_IMPORTED_MODULE_4__[\"default\"](content.name, content.filename, \"stop() could not be fired.\", {\n message: err.message,\n stack: err.stack\n });\n }\n }\n\n setupFunctions() {\n electronRemote.getCurrentWebContents().on(\"did-navigate-in-page\", this.onSwitch.bind(this));\n this.observer.observe(document, {\n childList: true,\n subtree: true\n });\n }\n\n onSwitch() {\n this.emit(\"page-switch\");\n\n for (let i = 0; i < this.contentList.length; i++) {\n const plugin = this.contentList[i].plugin;\n if (!this.state[this.contentList[i].id]) continue;\n\n if (typeof plugin.onSwitch === \"function\") {\n try {\n plugin.onSwitch();\n } catch (err) {\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", \"Unable to fire onSwitch for \" + this.contentList[i].name + \".\", err);\n }\n }\n }\n }\n\n onMutation(mutation) {\n for (let i = 0; i < this.contentList.length; i++) {\n const plugin = this.contentList[i].plugin;\n if (!this.state[this.contentList[i].id]) continue;\n\n if (typeof plugin.observer === \"function\") {\n try {\n plugin.observer(mutation);\n } catch (err) {\n _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].err(\"Plugins\", \"Unable to fire observer for \" + this.contentList[i].name + \".\", err);\n }\n }\n }\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvcGx1Z2lubWFuYWdlci5qcz9kMTczIl0sIm5hbWVzIjpbInBhdGgiLCJyZXF1aXJlIiwiZWxlY3Ryb25SZW1vdGUiLCJyZW1vdGUiLCJQbHVnaW5NYW5hZ2VyIiwiQ29udGVudE1hbmFnZXIiLCJuYW1lIiwibW9kdWxlRXh0ZW5zaW9uIiwiZXh0ZW5zaW9uIiwiY29udGVudEZvbGRlciIsInJlc29sdmUiLCJDb25maWciLCJkYXRhUGF0aCIsInByZWZpeCIsImNvbnN0cnVjdG9yIiwib25Td2l0Y2giLCJiaW5kIiwib2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwibXV0YXRpb25zIiwiaSIsIm1sZW4iLCJsZW5ndGgiLCJvbk11dGF0aW9uIiwidXBkYXRlUGx1Z2luTGlzdCIsInVwZGF0ZUxpc3QiLCJlbmFibGVQbHVnaW4iLCJpZE9yQ29udGVudCIsImVuYWJsZUNvbnRlbnQiLCJkaXNhYmxlUGx1Z2luIiwiZGlzYWJsZUNvbnRlbnQiLCJ0b2dnbGVQbHVnaW4iLCJpZCIsInRvZ2dsZUNvbnRlbnQiLCJ1bmxvYWRQbHVnaW4iLCJpZE9yRmlsZU9yQ29udGVudCIsInVubG9hZENvbnRlbnQiLCJsb2FkUGx1Z2luIiwiZmlsZW5hbWUiLCJlcnJvciIsImxvYWRDb250ZW50IiwiTW9kYWxzIiwic2hvd0NvbnRlbnRFcnJvcnMiLCJ0aGVtZXMiLCJyZWxvYWRQbHVnaW4iLCJyZWxvYWRDb250ZW50IiwicGx1Z2lucyIsImNvbnRlbnRMaXN0IiwiZmluZCIsImMiLCJsb2FkQWxsUGx1Z2lucyIsImVycm9ycyIsImxvYWRBbGxDb250ZW50Iiwic2V0dXBGdW5jdGlvbnMiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiU2V0dGluZ3NSZW5kZXJlciIsImdldENvbnRlbnRQYW5lbCIsInN0YXRlIiwiZm9sZGVyIiwib25DaGFuZ2UiLCJyZWxvYWQiLCJyZWZyZXNoTGlzdCIsImluaXRpYWxpemVDb250ZW50IiwiY29udGVudCIsInR5cGUiLCJDb250ZW50RXJyb3IiLCJtZXNzYWdlIiwic3RhY2siLCJ0aGVQbHVnaW4iLCJwbHVnaW4iLCJnZXROYW1lIiwiYXV0aG9yIiwiZ2V0QXV0aG9yIiwiZGVzY3JpcHRpb24iLCJnZXREZXNjcmlwdGlvbiIsInZlcnNpb24iLCJnZXRWZXJzaW9uIiwibG9hZCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJtZXRhIiwiX2NvbXBpbGUiLCJkaWRFeHBvcnQiLCJVdGlsaXRpZXMiLCJpc0VtcHR5IiwiZXhwb3J0cyIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGFydENvbnRlbnQiLCJzdGFydFBsdWdpbiIsInN0b3BDb250ZW50Iiwic3RvcFBsdWdpbiIsInAiLCJzdGFydCIsImVtaXQiLCJUb2FzdHMiLCJzaG93IiwiZXJyIiwic3RvcCIsImdldEN1cnJlbnRXZWJDb250ZW50cyIsIm9uIiwib2JzZXJ2ZSIsImRvY3VtZW50IiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsIm11dGF0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU1BLElBQUksR0FBR0MsbUJBQU8sQ0FBQyxrQkFBRCxDQUFwQjs7QUFDQSxNQUFNQyxjQUFjLEdBQUdELG1CQUFPLENBQUMsMEJBQUQsQ0FBUCxDQUFvQkUsTUFBM0M7O0FBRWUsbUVBQUksTUFBTUMsYUFBTixTQUE0QkMsdURBQTVCLENBQTJDO0FBQzFELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sZUFBUDtBQUF3Qjs7QUFDcEMsTUFBSUMsZUFBSixHQUFzQjtBQUFDLFdBQU8sS0FBUDtBQUFjOztBQUNyQyxNQUFJQyxTQUFKLEdBQWdCO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUN0QyxNQUFJQyxhQUFKLEdBQW9CO0FBQUMsV0FBT1QsSUFBSSxDQUFDVSxPQUFMLENBQWFDLDJDQUFNLENBQUNDLFFBQXBCLEVBQThCLFNBQTlCLENBQVA7QUFBaUQ7O0FBQ3RFLE1BQUlDLE1BQUosR0FBYTtBQUFDLFdBQU8sUUFBUDtBQUFpQjs7QUFFL0JDLGFBQVcsR0FBRztBQUNWO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQixLQUFLQSxRQUFMLENBQWNDLElBQWQsQ0FBbUIsSUFBbkIsQ0FBaEI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCLElBQUlDLGdCQUFKLENBQXNCQyxTQUFELElBQWU7QUFDaEQsV0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBUixFQUFXQyxJQUFJLEdBQUdGLFNBQVMsQ0FBQ0csTUFBakMsRUFBeUNGLENBQUMsR0FBR0MsSUFBN0MsRUFBbURELENBQUMsRUFBcEQsRUFBd0Q7QUFDcEQsYUFBS0csVUFBTCxDQUFnQkosU0FBUyxDQUFDQyxDQUFELENBQXpCO0FBQ0g7QUFDSixLQUplLENBQWhCO0FBS0g7QUFFRDs7O0FBQ0FJLGtCQUFnQixHQUFHO0FBQUMsV0FBTyxLQUFLQyxVQUFMLEVBQVA7QUFBMEI7O0FBRTlDQyxjQUFZLENBQUNDLFdBQUQsRUFBYztBQUFDLFdBQU8sS0FBS0MsYUFBTCxDQUFtQkQsV0FBbkIsQ0FBUDtBQUF3Qzs7QUFDbkVFLGVBQWEsQ0FBQ0YsV0FBRCxFQUFjO0FBQUMsV0FBTyxLQUFLRyxjQUFMLENBQW9CSCxXQUFwQixDQUFQO0FBQXlDOztBQUNyRUksY0FBWSxDQUFDQyxFQUFELEVBQUs7QUFBQyxXQUFPLEtBQUtDLGFBQUwsQ0FBbUJELEVBQW5CLENBQVA7QUFBK0I7O0FBRWpERSxjQUFZLENBQUNDLGlCQUFELEVBQW9CO0FBQUMsV0FBTyxLQUFLQyxhQUFMLENBQW1CRCxpQkFBbkIsQ0FBUDtBQUE4Qzs7QUFFL0VFLFlBQVUsQ0FBQ0MsUUFBRCxFQUFXO0FBQ2pCLFVBQU1DLEtBQUssR0FBRyxLQUFLQyxXQUFMLENBQWlCRixRQUFqQixDQUFkO0FBQ0EsUUFBSUMsS0FBSixFQUFXRSx5Q0FBTSxDQUFDQyxpQkFBUCxDQUF5QjtBQUFDQyxZQUFNLEVBQUUsQ0FBQ0osS0FBRDtBQUFULEtBQXpCO0FBQ2Q7O0FBRURLLGNBQVksQ0FBQ1QsaUJBQUQsRUFBb0I7QUFDNUIsVUFBTUksS0FBSyxHQUFHLEtBQUtNLGFBQUwsQ0FBbUJWLGlCQUFuQixDQUFkO0FBQ0EsUUFBSUksS0FBSixFQUFXRSx5Q0FBTSxDQUFDQyxpQkFBUCxDQUF5QjtBQUFDSSxhQUFPLEVBQUUsQ0FBQ1AsS0FBRDtBQUFWLEtBQXpCO0FBQ1gsV0FBTyxPQUFPSixpQkFBUCxJQUE2QixRQUE3QixHQUF3QyxLQUFLWSxXQUFMLENBQWlCQyxJQUFqQixDQUFzQkMsQ0FBQyxJQUFJQSxDQUFDLENBQUNqQixFQUFGLElBQVFHLGlCQUFSLElBQTZCYyxDQUFDLENBQUNYLFFBQUYsSUFBY0gsaUJBQXRFLENBQXhDLEdBQW1JQSxpQkFBMUk7QUFDSDs7QUFFRGUsZ0JBQWMsR0FBRztBQUNiLFVBQU1DLE1BQU0sR0FBRyxLQUFLQyxjQUFMLEVBQWY7QUFDQSxTQUFLQyxjQUFMO0FBQ0FDLDREQUFRLENBQUNDLGFBQVQsQ0FBdUIsU0FBdkIsRUFBa0MsU0FBbEMsRUFBNkM7QUFBQ0MsYUFBTyxFQUFFLE1BQU1DLGdEQUFnQixDQUFDQyxlQUFqQixDQUFpQyxTQUFqQyxFQUE0QyxLQUFLWCxXQUFqRCxFQUE4RCxLQUFLWSxLQUFuRSxFQUEwRTtBQUNuSUMsY0FBTSxFQUFFLEtBQUtuRCxhQURzSDtBQUVuSW9ELGdCQUFRLEVBQUUsS0FBSzlCLFlBQUwsQ0FBa0JmLElBQWxCLENBQXVCLElBQXZCLENBRnlIO0FBR25JOEMsY0FBTSxFQUFFLEtBQUtsQixZQUFMLENBQWtCNUIsSUFBbEIsQ0FBdUIsSUFBdkIsQ0FIMkg7QUFJbkkrQyxtQkFBVyxFQUFFLEtBQUt2QyxnQkFBTCxDQUFzQlIsSUFBdEIsQ0FBMkIsSUFBM0I7QUFKc0gsT0FBMUU7QUFBaEIsS0FBN0M7QUFNQSxXQUFPbUMsTUFBUDtBQUNIO0FBRUQ7OztBQUNBYSxtQkFBaUIsQ0FBQ0MsT0FBRCxFQUFVO0FBQ3ZCLFFBQUksQ0FBQ0EsT0FBTyxDQUFDQyxJQUFiLEVBQW1CLE9BQU8sSUFBSUMsNkRBQUosQ0FBaUJGLE9BQU8sQ0FBQzNELElBQXpCLEVBQStCMkQsT0FBTyxDQUFDM0IsUUFBdkMsRUFBaUQsdUJBQWpELEVBQTBFO0FBQUM4QixhQUFPLEVBQUUsNENBQVY7QUFBd0RDLFdBQUssRUFBRTtBQUEvRCxLQUExRSxDQUFQOztBQUNuQixRQUFJO0FBQ0EsWUFBTUMsU0FBUyxHQUFHLElBQUlMLE9BQU8sQ0FBQ0MsSUFBWixFQUFsQjtBQUNBRCxhQUFPLENBQUNNLE1BQVIsR0FBaUJELFNBQWpCO0FBQ0FMLGFBQU8sQ0FBQzNELElBQVIsR0FBZWdFLFNBQVMsQ0FBQ0UsT0FBVixNQUF1QlAsT0FBTyxDQUFDM0QsSUFBOUM7QUFDQTJELGFBQU8sQ0FBQ1EsTUFBUixHQUFpQkgsU0FBUyxDQUFDSSxTQUFWLE1BQXlCVCxPQUFPLENBQUNRLE1BQWpDLElBQTJDLFdBQTVEO0FBQ0FSLGFBQU8sQ0FBQ1UsV0FBUixHQUFzQkwsU0FBUyxDQUFDTSxjQUFWLE1BQThCWCxPQUFPLENBQUNVLFdBQXRDLElBQXFELGdCQUEzRTtBQUNBVixhQUFPLENBQUNZLE9BQVIsR0FBa0JQLFNBQVMsQ0FBQ1EsVUFBVixNQUEwQmIsT0FBTyxDQUFDWSxPQUFsQyxJQUE2QyxZQUEvRDs7QUFDQSxVQUFJO0FBQ0EsWUFBSSxPQUFPWixPQUFPLENBQUNNLE1BQVIsQ0FBZVEsSUFBdEIsSUFBK0IsVUFBbkMsRUFBK0NkLE9BQU8sQ0FBQ00sTUFBUixDQUFlUSxJQUFmO0FBQ2xELE9BRkQsQ0FHQSxPQUFPeEMsS0FBUCxFQUFjO0FBQ1YsYUFBS29CLEtBQUwsQ0FBV00sT0FBTyxDQUFDakMsRUFBbkIsSUFBeUIsS0FBekI7QUFDQSxlQUFPLElBQUltQyw2REFBSixDQUFpQkYsT0FBTyxDQUFDM0QsSUFBekIsRUFBK0IyRCxPQUFPLENBQUMzQixRQUF2QyxFQUFpRCw0QkFBakQsRUFBK0U7QUFBQzhCLGlCQUFPLEVBQUU3QixLQUFLLENBQUM2QixPQUFoQjtBQUF5QkMsZUFBSyxFQUFFOUIsS0FBSyxDQUFDOEI7QUFBdEMsU0FBL0UsQ0FBUDtBQUNIO0FBQ0osS0FkRCxDQWVBLE9BQU85QixLQUFQLEVBQWM7QUFBQyxhQUFPLElBQUk0Qiw2REFBSixDQUFpQkYsT0FBTyxDQUFDM0QsSUFBekIsRUFBK0IyRCxPQUFPLENBQUMzQixRQUF2QyxFQUFpRCwyQkFBakQsRUFBOEU7QUFBQzhCLGVBQU8sRUFBRTdCLEtBQUssQ0FBQzZCLE9BQWhCO0FBQXlCQyxhQUFLLEVBQUU5QixLQUFLLENBQUM4QjtBQUF0QyxPQUE5RSxDQUFQO0FBQW9JO0FBQ3RKOztBQUVEVyx3QkFBc0IsQ0FBQ0MsTUFBRCxFQUFTaEIsT0FBVCxFQUFrQmlCLElBQWxCLEVBQXdCO0FBQzFDRCxVQUFNLENBQUNFLFFBQVAsQ0FBZ0JsQixPQUFoQixFQUF5QmdCLE1BQU0sQ0FBQzNDLFFBQWhDOztBQUNBLFVBQU04QyxTQUFTLEdBQUcsQ0FBQ0Msa0RBQVMsQ0FBQ0MsT0FBVixDQUFrQkwsTUFBTSxDQUFDTSxPQUF6QixDQUFuQjs7QUFDQSxRQUFJSCxTQUFKLEVBQWU7QUFDWEYsVUFBSSxDQUFDaEIsSUFBTCxHQUFZZSxNQUFNLENBQUNNLE9BQW5CO0FBQ0FOLFlBQU0sQ0FBQ00sT0FBUCxHQUFpQkwsSUFBakI7QUFDQSxhQUFPLEVBQVA7QUFDSDs7QUFDRGpCLFdBQU8sSUFBSyxzQkFBcUJ1QixJQUFJLENBQUNDLFNBQUwsQ0FBZVAsSUFBZixDQUFxQiw0QkFBMkJBLElBQUksQ0FBQ0ssT0FBTCxJQUFnQkwsSUFBSSxDQUFDNUUsSUFBSyxHQUEzRztBQUNBLFdBQU8yRCxPQUFQO0FBQ0g7O0FBRUR5QixjQUFZLENBQUMxRCxFQUFELEVBQUs7QUFBQyxXQUFPLEtBQUsyRCxXQUFMLENBQWlCM0QsRUFBakIsQ0FBUDtBQUE2Qjs7QUFDL0M0RCxhQUFXLENBQUM1RCxFQUFELEVBQUs7QUFBQyxXQUFPLEtBQUs2RCxVQUFMLENBQWdCN0QsRUFBaEIsQ0FBUDtBQUE0Qjs7QUFFN0MyRCxhQUFXLENBQUNoRSxXQUFELEVBQWM7QUFDckIsVUFBTXNDLE9BQU8sR0FBRyxPQUFPdEMsV0FBUCxJQUF1QixRQUF2QixHQUFrQyxLQUFLb0IsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0I4QyxDQUFDLElBQUlBLENBQUMsQ0FBQzlELEVBQUYsSUFBUUwsV0FBbkMsQ0FBbEMsR0FBb0ZBLFdBQXBHO0FBQ0EsUUFBSSxDQUFDc0MsT0FBTCxFQUFjO0FBQ2QsVUFBTU0sTUFBTSxHQUFHTixPQUFPLENBQUNNLE1BQXZCOztBQUNBLFFBQUk7QUFDQUEsWUFBTSxDQUFDd0IsS0FBUDtBQUNBLFdBQUtDLElBQUwsQ0FBVSxTQUFWLEVBQXFCL0IsT0FBTyxDQUFDakMsRUFBN0I7QUFDQWlFLCtDQUFNLENBQUNDLElBQVAsQ0FBYSxHQUFFakMsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLGVBQWhEO0FBQ0gsS0FKRCxDQUtBLE9BQU9zQixHQUFQLEVBQVk7QUFDUixXQUFLeEMsS0FBTCxDQUFXTSxPQUFPLENBQUNqQyxFQUFuQixJQUF5QixLQUF6QjtBQUNBaUUsK0NBQU0sQ0FBQzFELEtBQVAsQ0FBYyxHQUFFMEIsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLHdCQUFqRDtBQUNBUSx3REFBUyxDQUFDYyxHQUFWLENBQWMsU0FBZCxFQUF5QmxDLE9BQU8sQ0FBQzNELElBQVIsR0FBZSx3QkFBeEMsRUFBa0U2RixHQUFsRTtBQUNBLGFBQU8sSUFBSWhDLDZEQUFKLENBQWlCRixPQUFPLENBQUMzRCxJQUF6QixFQUErQjJELE9BQU8sQ0FBQzNCLFFBQXZDLEVBQWlELDZCQUFqRCxFQUFnRjtBQUFDOEIsZUFBTyxFQUFFK0IsR0FBRyxDQUFDL0IsT0FBZDtBQUF1QkMsYUFBSyxFQUFFOEIsR0FBRyxDQUFDOUI7QUFBbEMsT0FBaEYsQ0FBUDtBQUNIO0FBQ0o7O0FBRUR3QixZQUFVLENBQUNsRSxXQUFELEVBQWM7QUFDcEIsVUFBTXNDLE9BQU8sR0FBRyxPQUFPdEMsV0FBUCxJQUF1QixRQUF2QixHQUFrQyxLQUFLb0IsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0I4QyxDQUFDLElBQUlBLENBQUMsQ0FBQzlELEVBQUYsSUFBUUwsV0FBbkMsQ0FBbEMsR0FBb0ZBLFdBQXBHO0FBQ0EsUUFBSSxDQUFDc0MsT0FBTCxFQUFjO0FBQ2QsVUFBTU0sTUFBTSxHQUFHTixPQUFPLENBQUNNLE1BQXZCOztBQUNBLFFBQUk7QUFDQUEsWUFBTSxDQUFDNkIsSUFBUDtBQUNBLFdBQUtKLElBQUwsQ0FBVSxTQUFWLEVBQXFCL0IsT0FBTyxDQUFDakMsRUFBN0I7QUFDQWlFLCtDQUFNLENBQUNDLElBQVAsQ0FBYSxHQUFFakMsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLGVBQWhEO0FBQ0gsS0FKRCxDQUtBLE9BQU9zQixHQUFQLEVBQVk7QUFDUixXQUFLeEMsS0FBTCxDQUFXTSxPQUFPLENBQUNqQyxFQUFuQixJQUF5QixLQUF6QjtBQUNBaUUsK0NBQU0sQ0FBQzFELEtBQVAsQ0FBYyxHQUFFMEIsT0FBTyxDQUFDM0QsSUFBSyxLQUFJMkQsT0FBTyxDQUFDWSxPQUFRLHdCQUFqRDtBQUNBUSx3REFBUyxDQUFDYyxHQUFWLENBQWMsU0FBZCxFQUF5QmxDLE9BQU8sQ0FBQzNELElBQVIsR0FBZSx3QkFBeEMsRUFBa0U2RixHQUFsRTtBQUNBLGFBQU8sSUFBSWhDLDZEQUFKLENBQWlCRixPQUFPLENBQUMzRCxJQUF6QixFQUErQjJELE9BQU8sQ0FBQzNCLFFBQXZDLEVBQWlELDRCQUFqRCxFQUErRTtBQUFDOEIsZUFBTyxFQUFFK0IsR0FBRyxDQUFDL0IsT0FBZDtBQUF1QkMsYUFBSyxFQUFFOEIsR0FBRyxDQUFDOUI7QUFBbEMsT0FBL0UsQ0FBUDtBQUNIO0FBQ0o7O0FBRURoQixnQkFBYyxHQUFHO0FBQ2JuRCxrQkFBYyxDQUFDbUcscUJBQWYsR0FBdUNDLEVBQXZDLENBQTBDLHNCQUExQyxFQUFrRSxLQUFLdkYsUUFBTCxDQUFjQyxJQUFkLENBQW1CLElBQW5CLENBQWxFO0FBQ0EsU0FBS0MsUUFBTCxDQUFjc0YsT0FBZCxDQUFzQkMsUUFBdEIsRUFBZ0M7QUFDNUJDLGVBQVMsRUFBRSxJQURpQjtBQUU1QkMsYUFBTyxFQUFFO0FBRm1CLEtBQWhDO0FBSUg7O0FBRUQzRixVQUFRLEdBQUc7QUFDUCxTQUFLaUYsSUFBTCxDQUFVLGFBQVY7O0FBQ0EsU0FBSyxJQUFJNUUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxLQUFLMkIsV0FBTCxDQUFpQnpCLE1BQXJDLEVBQTZDRixDQUFDLEVBQTlDLEVBQWtEO0FBQzlDLFlBQU1tRCxNQUFNLEdBQUcsS0FBS3hCLFdBQUwsQ0FBaUIzQixDQUFqQixFQUFvQm1ELE1BQW5DO0FBQ0EsVUFBSSxDQUFDLEtBQUtaLEtBQUwsQ0FBVyxLQUFLWixXQUFMLENBQWlCM0IsQ0FBakIsRUFBb0JZLEVBQS9CLENBQUwsRUFBeUM7O0FBQ3pDLFVBQUksT0FBT3VDLE1BQU0sQ0FBQ3hELFFBQWQsS0FBNEIsVUFBaEMsRUFBNEM7QUFDeEMsWUFBSTtBQUFFd0QsZ0JBQU0sQ0FBQ3hELFFBQVA7QUFBb0IsU0FBMUIsQ0FDQSxPQUFPb0YsR0FBUCxFQUFZO0FBQUVkLDREQUFTLENBQUNjLEdBQVYsQ0FBYyxTQUFkLEVBQXlCLGlDQUFpQyxLQUFLcEQsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CZCxJQUFyRCxHQUE0RCxHQUFyRixFQUEwRjZGLEdBQTFGO0FBQWlHO0FBQ2xIO0FBQ0o7QUFDSjs7QUFFRDVFLFlBQVUsQ0FBQ29GLFFBQUQsRUFBVztBQUNqQixTQUFLLElBQUl2RixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLEtBQUsyQixXQUFMLENBQWlCekIsTUFBckMsRUFBNkNGLENBQUMsRUFBOUMsRUFBa0Q7QUFDOUMsWUFBTW1ELE1BQU0sR0FBRyxLQUFLeEIsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CbUQsTUFBbkM7QUFDQSxVQUFJLENBQUMsS0FBS1osS0FBTCxDQUFXLEtBQUtaLFdBQUwsQ0FBaUIzQixDQUFqQixFQUFvQlksRUFBL0IsQ0FBTCxFQUF5Qzs7QUFDekMsVUFBSSxPQUFPdUMsTUFBTSxDQUFDdEQsUUFBZCxLQUEyQixVQUEvQixFQUEyQztBQUN2QyxZQUFJO0FBQUVzRCxnQkFBTSxDQUFDdEQsUUFBUCxDQUFnQjBGLFFBQWhCO0FBQTRCLFNBQWxDLENBQ0EsT0FBT1IsR0FBUCxFQUFZO0FBQUVkLDREQUFTLENBQUNjLEdBQVYsQ0FBYyxTQUFkLEVBQXlCLGlDQUFpQyxLQUFLcEQsV0FBTCxDQUFpQjNCLENBQWpCLEVBQW9CZCxJQUFyRCxHQUE0RCxHQUFyRixFQUEwRjZGLEdBQTFGO0FBQWlHO0FBQ2xIO0FBQ0o7QUFDSjs7QUFwSnlELENBQS9DLEVBQWYiLCJmaWxlIjoiLi9zcmMvbW9kdWxlcy9wbHVnaW5tYW5hZ2VyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCBDb250ZW50TWFuYWdlciBmcm9tIFwiLi9jb250ZW50bWFuYWdlclwiO1xyXG5pbXBvcnQgVXRpbGl0aWVzIGZyb20gXCIuL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQge1RvYXN0cywgTW9kYWxzfSBmcm9tIFwidWlcIjtcclxuaW1wb3J0IENvbnRlbnRFcnJvciBmcm9tIFwiLi4vc3RydWN0cy9jb250ZW50ZXJyb3JcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuL3NldHRpbmdzbWFuYWdlclwiO1xyXG5pbXBvcnQge1NldHRpbmdzUGFuZWwgYXMgU2V0dGluZ3NSZW5kZXJlcn0gZnJvbSBcInVpXCI7XHJcblxyXG5jb25zdCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XHJcbmNvbnN0IGVsZWN0cm9uUmVtb3RlID0gcmVxdWlyZShcImVsZWN0cm9uXCIpLnJlbW90ZTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBQbHVnaW5NYW5hZ2VyIGV4dGVuZHMgQ29udGVudE1hbmFnZXIge1xyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiUGx1Z2luTWFuYWdlclwiO31cclxuICAgIGdldCBtb2R1bGVFeHRlbnNpb24oKSB7cmV0dXJuIFwiLmpzXCI7fVxyXG4gICAgZ2V0IGV4dGVuc2lvbigpIHtyZXR1cm4gXCIucGx1Z2luLmpzXCI7fVxyXG4gICAgZ2V0IGNvbnRlbnRGb2xkZXIoKSB7cmV0dXJuIHBhdGgucmVzb2x2ZShDb25maWcuZGF0YVBhdGgsIFwicGx1Z2luc1wiKTt9XHJcbiAgICBnZXQgcHJlZml4KCkge3JldHVybiBcInBsdWdpblwiO31cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMub25Td2l0Y2ggPSB0aGlzLm9uU3dpdGNoLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDAsIG1sZW4gPSBtdXRhdGlvbnMubGVuZ3RoOyBpIDwgbWxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9uTXV0YXRpb24obXV0YXRpb25zW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEFsaWFzZXMgKi9cclxuICAgIHVwZGF0ZVBsdWdpbkxpc3QoKSB7cmV0dXJuIHRoaXMudXBkYXRlTGlzdCgpO31cclxuXHJcbiAgICBlbmFibGVQbHVnaW4oaWRPckNvbnRlbnQpIHtyZXR1cm4gdGhpcy5lbmFibGVDb250ZW50KGlkT3JDb250ZW50KTt9XHJcbiAgICBkaXNhYmxlUGx1Z2luKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpO31cclxuICAgIHRvZ2dsZVBsdWdpbihpZCkge3JldHVybiB0aGlzLnRvZ2dsZUNvbnRlbnQoaWQpO31cclxuXHJcbiAgICB1bmxvYWRQbHVnaW4oaWRPckZpbGVPckNvbnRlbnQpIHtyZXR1cm4gdGhpcy51bmxvYWRDb250ZW50KGlkT3JGaWxlT3JDb250ZW50KTt9XHJcblxyXG4gICAgbG9hZFBsdWdpbihmaWxlbmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSBNb2RhbHMuc2hvd0NvbnRlbnRFcnJvcnMoe3RoZW1lczogW2Vycm9yXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZFBsdWdpbihpZE9yRmlsZU9yQ29udGVudCkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5yZWxvYWRDb250ZW50KGlkT3JGaWxlT3JDb250ZW50KTtcclxuICAgICAgICBpZiAoZXJyb3IpIE1vZGFscy5zaG93Q29udGVudEVycm9ycyh7cGx1Z2luczogW2Vycm9yXX0pO1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YoaWRPckZpbGVPckNvbnRlbnQpID09IFwic3RyaW5nXCIgPyB0aGlzLmNvbnRlbnRMaXN0LmZpbmQoYyA9PiBjLmlkID09IGlkT3JGaWxlT3JDb250ZW50IHx8IGMuZmlsZW5hbWUgPT0gaWRPckZpbGVPckNvbnRlbnQpIDogaWRPckZpbGVPckNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZEFsbFBsdWdpbnMoKSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5sb2FkQWxsQ29udGVudCgpO1xyXG4gICAgICAgIHRoaXMuc2V0dXBGdW5jdGlvbnMoKTtcclxuICAgICAgICBTZXR0aW5ncy5yZWdpc3RlclBhbmVsKFwicGx1Z2luc1wiLCBcIlBsdWdpbnNcIiwge2VsZW1lbnQ6ICgpID0+IFNldHRpbmdzUmVuZGVyZXIuZ2V0Q29udGVudFBhbmVsKFwiUGx1Z2luc1wiLCB0aGlzLmNvbnRlbnRMaXN0LCB0aGlzLnN0YXRlLCB7XHJcbiAgICAgICAgICAgIGZvbGRlcjogdGhpcy5jb250ZW50Rm9sZGVyLFxyXG4gICAgICAgICAgICBvbkNoYW5nZTogdGhpcy50b2dnbGVQbHVnaW4uYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgcmVsb2FkOiB0aGlzLnJlbG9hZFBsdWdpbi5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICByZWZyZXNoTGlzdDogdGhpcy51cGRhdGVQbHVnaW5MaXN0LmJpbmQodGhpcylcclxuICAgICAgICB9KX0pO1xyXG4gICAgICAgIHJldHVybiBlcnJvcnM7XHJcbiAgICB9XHJcblxyXG4gICAgLyogT3ZlcnJpZGVzICovXHJcbiAgICBpbml0aWFsaXplQ29udGVudChjb250ZW50KSB7XHJcbiAgICAgICAgaWYgKCFjb250ZW50LnR5cGUpIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgY29udGVudC5maWxlbmFtZSwgXCJQbHVnaW4gaGFkIG5vIGV4cG9ydHNcIiwge21lc3NhZ2U6IFwiUGx1Z2luIGhhZCBubyBleHBvcnRzIG9yIG5vIG5hbWUgcHJvcGVydHkuXCIsIHN0YWNrOiBcIlwifSk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdGhlUGx1Z2luID0gbmV3IGNvbnRlbnQudHlwZSgpO1xyXG4gICAgICAgICAgICBjb250ZW50LnBsdWdpbiA9IHRoZVBsdWdpbjtcclxuICAgICAgICAgICAgY29udGVudC5uYW1lID0gdGhlUGx1Z2luLmdldE5hbWUoKSB8fCBjb250ZW50Lm5hbWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQuYXV0aG9yID0gdGhlUGx1Z2luLmdldEF1dGhvcigpIHx8IGNvbnRlbnQuYXV0aG9yIHx8IFwiTm8gYXV0aG9yXCI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQuZGVzY3JpcHRpb24gPSB0aGVQbHVnaW4uZ2V0RGVzY3JpcHRpb24oKSB8fCBjb250ZW50LmRlc2NyaXB0aW9uIHx8IFwiTm8gZGVzY3JpcHRpb25cIjtcclxuICAgICAgICAgICAgY29udGVudC52ZXJzaW9uID0gdGhlUGx1Z2luLmdldFZlcnNpb24oKSB8fCBjb250ZW50LnZlcnNpb24gfHwgXCJObyB2ZXJzaW9uXCI7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mKGNvbnRlbnQucGx1Z2luLmxvYWQpID09IFwiZnVuY3Rpb25cIikgY29udGVudC5wbHVnaW4ubG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZVtjb250ZW50LmlkXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb250ZW50RXJyb3IoY29udGVudC5uYW1lLCBjb250ZW50LmZpbGVuYW1lLCBcImxvYWQoKSBjb3VsZCBub3QgYmUgZmlyZWQuXCIsIHttZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2t9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtyZXR1cm4gbmV3IENvbnRlbnRFcnJvcihjb250ZW50Lm5hbWUsIGNvbnRlbnQuZmlsZW5hbWUsIFwiQ291bGQgbm90IGJlIGNvbnN0cnVjdGVkLlwiLCB7bWVzc2FnZTogZXJyb3IubWVzc2FnZSwgc3RhY2s6IGVycm9yLnN0YWNrfSk7fVxyXG4gICAgfVxyXG5cclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50LCBtZXRhKSB7XHJcbiAgICAgICAgbW9kdWxlLl9jb21waWxlKGNvbnRlbnQsIG1vZHVsZS5maWxlbmFtZSk7XHJcbiAgICAgICAgY29uc3QgZGlkRXhwb3J0ID0gIVV0aWxpdGllcy5pc0VtcHR5KG1vZHVsZS5leHBvcnRzKTtcclxuICAgICAgICBpZiAoZGlkRXhwb3J0KSB7XHJcbiAgICAgICAgICAgIG1ldGEudHlwZSA9IG1vZHVsZS5leHBvcnRzO1xyXG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IG1ldGE7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZW50ICs9IGBcXG5tb2R1bGUuZXhwb3J0cyA9ICR7SlNPTi5zdHJpbmdpZnkobWV0YSl9O1xcbm1vZHVsZS5leHBvcnRzLnR5cGUgPSAke21ldGEuZXhwb3J0cyB8fCBtZXRhLm5hbWV9O2A7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnRDb250ZW50KGlkKSB7cmV0dXJuIHRoaXMuc3RhcnRQbHVnaW4oaWQpO31cclxuICAgIHN0b3BDb250ZW50KGlkKSB7cmV0dXJuIHRoaXMuc3RvcFBsdWdpbihpZCk7fVxyXG5cclxuICAgIHN0YXJ0UGx1Z2luKGlkT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHR5cGVvZihpZE9yQ29udGVudCkgPT0gXCJzdHJpbmdcIiA/IHRoaXMuY29udGVudExpc3QuZmluZChwID0+IHAuaWQgPT0gaWRPckNvbnRlbnQpIDogaWRPckNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcGx1Z2luID0gY29udGVudC5wbHVnaW47XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcGx1Z2luLnN0YXJ0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuZW1pdChcInN0YXJ0ZWRcIiwgY29udGVudC5pZCk7XHJcbiAgICAgICAgICAgIFRvYXN0cy5zaG93KGAke2NvbnRlbnQubmFtZX0gdiR7Y29udGVudC52ZXJzaW9ufSBoYXMgc3RhcnRlZC5gKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICB0aGlzLnN0YXRlW2NvbnRlbnQuaWRdID0gZmFsc2U7XHJcbiAgICAgICAgICAgIFRvYXN0cy5lcnJvcihgJHtjb250ZW50Lm5hbWV9IHYke2NvbnRlbnQudmVyc2lvbn0gY291bGQgbm90IGJlIHN0YXJ0ZWQuYCk7XHJcbiAgICAgICAgICAgIFV0aWxpdGllcy5lcnIoXCJQbHVnaW5zXCIsIGNvbnRlbnQubmFtZSArIFwiIGNvdWxkIG5vdCBiZSBzdGFydGVkLlwiLCBlcnIpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbnRlbnRFcnJvcihjb250ZW50Lm5hbWUsIGNvbnRlbnQuZmlsZW5hbWUsIFwic3RhcnQoKSBjb3VsZCBub3QgYmUgZmlyZWQuXCIsIHttZXNzYWdlOiBlcnIubWVzc2FnZSwgc3RhY2s6IGVyci5zdGFja30pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdG9wUGx1Z2luKGlkT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHR5cGVvZihpZE9yQ29udGVudCkgPT0gXCJzdHJpbmdcIiA/IHRoaXMuY29udGVudExpc3QuZmluZChwID0+IHAuaWQgPT0gaWRPckNvbnRlbnQpIDogaWRPckNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKCFjb250ZW50KSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgcGx1Z2luID0gY29udGVudC5wbHVnaW47XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgcGx1Z2luLnN0b3AoKTtcclxuICAgICAgICAgICAgdGhpcy5lbWl0KFwic3RvcHBlZFwiLCBjb250ZW50LmlkKTtcclxuICAgICAgICAgICAgVG9hc3RzLnNob3coYCR7Y29udGVudC5uYW1lfSB2JHtjb250ZW50LnZlcnNpb259IGhhcyBzdG9wcGVkLmApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhdGVbY29udGVudC5pZF0gPSBmYWxzZTtcclxuICAgICAgICAgICAgVG9hc3RzLmVycm9yKGAke2NvbnRlbnQubmFtZX0gdiR7Y29udGVudC52ZXJzaW9ufSBjb3VsZCBub3QgYmUgc3RvcHBlZC5gKTtcclxuICAgICAgICAgICAgVXRpbGl0aWVzLmVycihcIlBsdWdpbnNcIiwgY29udGVudC5uYW1lICsgXCIgY291bGQgbm90IGJlIHN0b3BwZWQuXCIsIGVycik7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgQ29udGVudEVycm9yKGNvbnRlbnQubmFtZSwgY29udGVudC5maWxlbmFtZSwgXCJzdG9wKCkgY291bGQgbm90IGJlIGZpcmVkLlwiLCB7bWVzc2FnZTogZXJyLm1lc3NhZ2UsIHN0YWNrOiBlcnIuc3RhY2t9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2V0dXBGdW5jdGlvbnMoKSB7XHJcbiAgICAgICAgZWxlY3Ryb25SZW1vdGUuZ2V0Q3VycmVudFdlYkNvbnRlbnRzKCkub24oXCJkaWQtbmF2aWdhdGUtaW4tcGFnZVwiLCB0aGlzLm9uU3dpdGNoLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwge1xyXG4gICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgICAgIHN1YnRyZWU6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvblN3aXRjaCgpIHtcclxuICAgICAgICB0aGlzLmVtaXQoXCJwYWdlLXN3aXRjaFwiKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY29udGVudExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgcGx1Z2luID0gdGhpcy5jb250ZW50TGlzdFtpXS5wbHVnaW47XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zdGF0ZVt0aGlzLmNvbnRlbnRMaXN0W2ldLmlkXSkgY29udGludWU7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YocGx1Z2luLm9uU3dpdGNoKSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgICAgICB0cnkgeyBwbHVnaW4ub25Td2l0Y2goKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikgeyBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBcIlVuYWJsZSB0byBmaXJlIG9uU3dpdGNoIGZvciBcIiArIHRoaXMuY29udGVudExpc3RbaV0ubmFtZSArIFwiLlwiLCBlcnIpOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25NdXRhdGlvbihtdXRhdGlvbikge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb250ZW50TGlzdC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBwbHVnaW4gPSB0aGlzLmNvbnRlbnRMaXN0W2ldLnBsdWdpbjtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW3RoaXMuY29udGVudExpc3RbaV0uaWRdKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiBwbHVnaW4ub2JzZXJ2ZXIgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICAgICAgdHJ5IHsgcGx1Z2luLm9ic2VydmVyKG11dGF0aW9uKTsgfVxyXG4gICAgICAgICAgICAgICAgY2F0Y2ggKGVycikgeyBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBcIlVuYWJsZSB0byBmaXJlIG9ic2VydmVyIGZvciBcIiArIHRoaXMuY29udGVudExpc3RbaV0ubmFtZSArIFwiLlwiLCBlcnIpOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/pluginmanager.js\n");
/***/ }),
/***/ "./src/modules/settingsmanager.js":
/*!****************************************!*\
!*** ./src/modules/settingsmanager.js ***!
\****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _datastore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datastore */ \"./src/modules/datastore.js\");\n/* harmony import */ var _emitter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _webpackmodules__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./webpackmodules */ \"./src/modules/webpackmodules.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class SettingsManager {\n constructor() {\n this.state = {};\n this.collections = [];\n this.panels = [];\n this.registerCollection(\"settings\", \"Settings\", data__WEBPACK_IMPORTED_MODULE_0__[\"SettingsConfig\"]);\n }\n\n initialize() {\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].initialize();\n this.loadSettings();\n this.patchSections();\n }\n\n registerCollection(id, name, settings, button = null) {\n if (this.collections.find(c => c.id == id)) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"Already have a collection with id \" + id);\n this.collections.push({\n type: \"collection\",\n id: id,\n name: name,\n settings: settings,\n button: button\n });\n this.setup();\n }\n\n removeCollection(id) {\n const location = this.collections.findIndex(c => c.id == id);\n if (!location < 0) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"No collection with id \" + id);\n this.collections.splice(location, 1);\n }\n\n registerPanel(id, name, options) {\n if (this.panels.find(p => p.id == id)) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"Already have a panel with id \" + id);\n const {\n element,\n onClick,\n order = 1\n } = options;\n const section = {\n id,\n order,\n label: name,\n section: name\n };\n if (onClick) section.clickListener = onClick;\n if (element) section.element = element instanceof _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"DiscordModules\"].React.Component ? () => _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"DiscordModules\"].React.createElement(element, {}) : typeof element == \"function\" ? element : () => element;\n this.panels.push(section);\n }\n\n removePanel(id) {\n const location = this.panels.findIndex(c => c.id == id);\n if (!location < 0) return _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].err(\"Settings\", \"No collection with id \" + id);\n this.panels.splice(location, 1);\n }\n\n getPath(path, collectionId = \"\", categoryId = \"\") {\n const collection = path.length == 3 ? path[0] : collectionId;\n const category = path.length == 3 ? path[1] : path.length == 2 ? path[0] : categoryId;\n const setting = path[path.length - 1];\n return {\n collection,\n category,\n setting\n };\n }\n\n setup() {\n for (let c = 0; c < this.collections.length; c++) {\n const collection = this.collections[c];\n const categories = this.collections[c].settings;\n if (!this.state[collection.id]) this.state[collection.id] = {};\n\n for (let s = 0; s < categories.length; s++) {\n const category = categories[s];\n\n if (category.type != \"category\") {\n if (!this.state[collection.id].hasOwnProperty(category.id)) this.state[collection.id][category.id] = category.value;\n } else {\n if (!this.state[collection.id].hasOwnProperty(category.id)) this.state[collection.id][category.id] = {};\n\n for (let s = 0; s < category.settings.length; s++) {\n const setting = category.settings[s];\n if (!this.state[collection.id][category.id].hasOwnProperty(setting.id)) this.state[collection.id][category.id][setting.id] = setting.value;\n\n if (setting.enableWith) {\n const path = this.getPath(setting.enableWith.split(\".\"), collection.id, category.id);\n if (setting.hasOwnProperty(\"disabled\")) continue;\n Object.defineProperty(setting, \"disabled\", {\n get: () => {\n return !this.state[path.collection][path.category][path.setting];\n }\n });\n }\n\n if (setting.disableWith) {\n const path = this.getPath(setting.disableWith.split(\".\"), collection.id, category.id);\n if (setting.hasOwnProperty(\"disabled\")) continue;\n Object.defineProperty(setting, \"disabled\", {\n get: () => {\n return this.state[path.collection][path.category][path.setting];\n }\n });\n }\n }\n }\n }\n }\n }\n\n async patchSections() {\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(_webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByDisplayName(\"FluxContainer(GuildSettings)\").prototype, \"render\", {\n after: data => {\n data.thisObject._reactInternalFiber.return.return.return.return.return.return.memoizedProps.id = \"guild-settings\";\n }\n });\n const UserSettings = await this.getUserSettings();\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(UserSettings.prototype, \"render\", {\n after: data => {\n data.thisObject._reactInternalFiber.return.return.return.return.return.return.return.memoizedProps.id = \"user-settings\";\n }\n });\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(UserSettings.prototype, \"generateSections\", {\n after: data => {\n let location = data.returnValue.findIndex(s => s.section.toLowerCase() == \"linux\") + 1;\n\n const insert = section => {\n data.returnValue.splice(location, 0, section);\n location++;\n };\n\n insert({\n section: \"DIVIDER\"\n });\n insert({\n section: \"HEADER\",\n label: \"BandagedBD\"\n });\n\n for (const collection of this.collections) {\n if (collection.disabled) continue;\n insert({\n section: collection.name,\n label: collection.name,\n element: () => ui__WEBPACK_IMPORTED_MODULE_4__[\"SettingsPanel\"].buildSettingsPanel(collection.name, collection.settings, this.state[collection.id], this.onSettingChange.bind(this, collection.id), collection.button ? collection.button : null)\n });\n }\n\n for (const panel of this.panels.sort((a, b) => a.order > b.order)) {\n if (panel.clickListener) panel.onClick = event => panel.clickListener(data.thisObject, event, data.returnValue);\n insert(panel);\n }\n\n insert({\n section: \"CUSTOM\",\n element: () => ui__WEBPACK_IMPORTED_MODULE_4__[\"SettingsPanel\"].attribution\n });\n }\n });\n this.forceUpdate();\n }\n\n forceUpdate() {\n const viewClass = _webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByProps(\"standardSidebarView\").standardSidebarView.split(\" \")[0];\n const node = document.querySelector(`.${viewClass}`);\n _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].getInternalInstance(node).return.return.return.return.return.return.stateNode.forceUpdate();\n }\n\n getUserSettings() {\n return new Promise(resolve => {\n const cancel = _utilities__WEBPACK_IMPORTED_MODULE_5__[\"default\"].monkeyPatch(_webpackmodules__WEBPACK_IMPORTED_MODULE_3__[\"default\"].getByProps(\"getUserSettingsSections\").default.prototype, \"render\", {\n after: data => {\n resolve(data.returnValue.type);\n data.thisObject.forceUpdate();\n cancel();\n }\n });\n });\n }\n\n saveSettings() {\n _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].setData(\"settings\", this.state);\n }\n\n loadSettings() {\n const previousState = _datastore__WEBPACK_IMPORTED_MODULE_1__[\"default\"].getData(\"settings\");\n if (!previousState) return this.saveSettings();\n\n for (const collection in this.state) {\n if (!previousState[collection]) Object.assign(previousState, {\n [collection]: this.state[collection]\n });\n\n for (const category in this.state[collection]) {\n if (!previousState[collection][category]) Object.assign(previousState[collection], {\n [category]: this.state[collection][category]\n });\n\n for (const setting in this.state[collection][category]) {\n if (previousState[collection][category][setting] == undefined) continue;\n this.state[collection][category][setting] = previousState[collection][category][setting];\n }\n }\n }\n\n this.saveSettings(); // in case new things were added\n }\n\n onSettingChange(collection, category, id, value) {\n const before = this.collections.length + this.panels.length;\n this.state[collection][category][id] = value;\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].dispatch(\"setting-updated\", collection, category, id, value);\n const after = this.collections.length + this.panels.length;\n this.saveSettings();\n if (before != after) setTimeout(this.forceUpdate.bind(this), 50);\n }\n\n getSetting(collection, category, id) {\n if (arguments.length == 2) return this.collections[0].find(c => c.id == arguments[0]).settings.find(s => s.id == arguments[1]);\n return this.collections.find(c => c.id == collection).find(c => c.id == category).settings.find(s => s.id == id);\n }\n\n get(collection, category, id) {\n if (arguments.length == 2) {\n id = category;\n category = collection;\n collection = \"settings\";\n }\n\n if (!this.state[collection] || !this.state[collection][category]) return false;\n return this.state[collection][category][id];\n }\n\n set(collection, category, id, value) {\n if (arguments.length == 3) {\n value = id;\n id = category;\n category = collection;\n collection = \"settings\";\n }\n\n return this.onSettingChange(collection, category, id, value);\n }\n\n on(collection, category, identifier, callback) {\n const handler = (col, cat, id, value) => {\n if (col !== collection || cat !== category || id !== identifier) return;\n callback(value);\n };\n\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].on(\"setting-updated\", handler);\n return () => {\n _emitter__WEBPACK_IMPORTED_MODULE_2__[\"default\"].off(\"setting-updated\", handler);\n };\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvc2V0dGluZ3NtYW5hZ2VyLmpzP2IyZjkiXSwibmFtZXMiOlsiU2V0dGluZ3NNYW5hZ2VyIiwiY29uc3RydWN0b3IiLCJzdGF0ZSIsImNvbGxlY3Rpb25zIiwicGFuZWxzIiwicmVnaXN0ZXJDb2xsZWN0aW9uIiwiU2V0dGluZ3NDb25maWciLCJpbml0aWFsaXplIiwiRGF0YVN0b3JlIiwibG9hZFNldHRpbmdzIiwicGF0Y2hTZWN0aW9ucyIsImlkIiwibmFtZSIsInNldHRpbmdzIiwiYnV0dG9uIiwiZmluZCIsImMiLCJVdGlsaXRpZXMiLCJlcnIiLCJwdXNoIiwidHlwZSIsInNldHVwIiwicmVtb3ZlQ29sbGVjdGlvbiIsImxvY2F0aW9uIiwiZmluZEluZGV4Iiwic3BsaWNlIiwicmVnaXN0ZXJQYW5lbCIsIm9wdGlvbnMiLCJwIiwiZWxlbWVudCIsIm9uQ2xpY2siLCJvcmRlciIsInNlY3Rpb24iLCJsYWJlbCIsImNsaWNrTGlzdGVuZXIiLCJEaXNjb3JkTW9kdWxlcyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY3JlYXRlRWxlbWVudCIsInJlbW92ZVBhbmVsIiwiZ2V0UGF0aCIsInBhdGgiLCJjb2xsZWN0aW9uSWQiLCJjYXRlZ29yeUlkIiwiY29sbGVjdGlvbiIsImxlbmd0aCIsImNhdGVnb3J5Iiwic2V0dGluZyIsImNhdGVnb3JpZXMiLCJzIiwiaGFzT3duUHJvcGVydHkiLCJ2YWx1ZSIsImVuYWJsZVdpdGgiLCJzcGxpdCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0IiwiZGlzYWJsZVdpdGgiLCJtb25rZXlQYXRjaCIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0QnlEaXNwbGF5TmFtZSIsInByb3RvdHlwZSIsImFmdGVyIiwiZGF0YSIsInRoaXNPYmplY3QiLCJfcmVhY3RJbnRlcm5hbEZpYmVyIiwicmV0dXJuIiwibWVtb2l6ZWRQcm9wcyIsIlVzZXJTZXR0aW5ncyIsImdldFVzZXJTZXR0aW5ncyIsInJldHVyblZhbHVlIiwidG9Mb3dlckNhc2UiLCJpbnNlcnQiLCJkaXNhYmxlZCIsIlNldHRpbmdzUmVuZGVyZXIiLCJidWlsZFNldHRpbmdzUGFuZWwiLCJvblNldHRpbmdDaGFuZ2UiLCJiaW5kIiwicGFuZWwiLCJzb3J0IiwiYSIsImIiLCJldmVudCIsImF0dHJpYnV0aW9uIiwiZm9yY2VVcGRhdGUiLCJ2aWV3Q2xhc3MiLCJnZXRCeVByb3BzIiwic3RhbmRhcmRTaWRlYmFyVmlldyIsIm5vZGUiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJnZXRJbnRlcm5hbEluc3RhbmNlIiwic3RhdGVOb2RlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJjYW5jZWwiLCJkZWZhdWx0Iiwic2F2ZVNldHRpbmdzIiwic2V0RGF0YSIsInByZXZpb3VzU3RhdGUiLCJnZXREYXRhIiwiYXNzaWduIiwidW5kZWZpbmVkIiwiYmVmb3JlIiwiRXZlbnRzIiwiZGlzcGF0Y2giLCJzZXRUaW1lb3V0IiwiZ2V0U2V0dGluZyIsImFyZ3VtZW50cyIsInNldCIsIm9uIiwiaWRlbnRpZmllciIsImNhbGxiYWNrIiwiaGFuZGxlciIsImNvbCIsImNhdCIsIm9mZiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFZSxtRUFBSSxNQUFNQSxlQUFOLENBQXNCO0FBRXJDQyxhQUFXLEdBQUc7QUFDVixTQUFLQyxLQUFMLEdBQWEsRUFBYjtBQUNBLFNBQUtDLFdBQUwsR0FBbUIsRUFBbkI7QUFDQSxTQUFLQyxNQUFMLEdBQWMsRUFBZDtBQUNBLFNBQUtDLGtCQUFMLENBQXdCLFVBQXhCLEVBQW9DLFVBQXBDLEVBQWdEQyxtREFBaEQ7QUFDSDs7QUFFREMsWUFBVSxHQUFHO0FBQ1RDLHNEQUFTLENBQUNELFVBQVY7QUFDQSxTQUFLRSxZQUFMO0FBQ0EsU0FBS0MsYUFBTDtBQUNIOztBQUVETCxvQkFBa0IsQ0FBQ00sRUFBRCxF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LElBQXNCdUUsR0FBRyxLQUFLckUsUUFBOUIsSUFBMENuQyxFQUFFLEtBQUtvRyxVQUFyRCxFQUFpRTtBQUNqRUMsY0FBUSxDQUFDN0QsS0FBRCxDQUFSO0FBQ0gsS0FIRDs7QUFJQXFELG9EQUFNLENBQUNNLEVBQVAsQ0FBVSxpQkFBVixFQUE2QkcsT0FBN0I7QUFDQSxXQUFPLE1BQU07QUFBQ1Qsc0RBQU0sQ0FBQ1ksR0FBUCxDQUFXLGlCQUFYLEVBQThCSCxPQUE5QjtBQUF3QyxLQUF0RDtBQUNIOztBQTVNb0MsQ0FBMUIsRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3NldHRpbmdzbWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2V0dGluZ3NDb25maWd9IGZyb20gXCJkYXRhXCI7XHJcbmltcG9ydCBEYXRhU3RvcmUgZnJvbSBcIi4vZGF0YXN0b3JlXCI7XHJcbmltcG9ydCBFdmVudHMgZnJvbSBcIi4vZW1pdHRlclwiO1xyXG5pbXBvcnQgV2VicGFja01vZHVsZXMsIHtEaXNjb3JkTW9kdWxlc30gZnJvbSBcIi4vd2VicGFja21vZHVsZXNcIjtcclxuXHJcbmltcG9ydCB7U2V0dGluZ3NQYW5lbCBhcyBTZXR0aW5nc1JlbmRlcmVyfSBmcm9tIFwidWlcIjtcclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBTZXR0aW5nc01hbmFnZXIge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7fTtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zID0gW107XHJcbiAgICAgICAgdGhpcy5wYW5lbHMgPSBbXTtcclxuICAgICAgICB0aGlzLnJlZ2lzdGVyQ29sbGVjdGlvbihcInNldHRpbmdzXCIsIFwiU2V0dGluZ3NcIiwgU2V0dGluZ3NDb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgRGF0YVN0b3JlLmluaXRpYWxpemUoKTtcclxuICAgICAgICB0aGlzLmxvYWRTZXR0aW5ncygpO1xyXG4gICAgICAgIHRoaXMucGF0Y2hTZWN0aW9ucygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyQ29sbGVjdGlvbihpZCwgbmFtZSwgc2V0dGluZ3MsIGJ1dHRvbiA9IG51bGwpIHtcclxuICAgICAgICBpZiAodGhpcy5jb2xsZWN0aW9ucy5maW5kKGMgPT4gYy5pZCA9PSBpZCkpIHJldHVybiBVdGlsaXRpZXMuZXJyKFwiU2V0dGluZ3NcIiwgXCJBbHJlYWR5IGhhdmUgYSBjb2xsZWN0aW9uIHdpdGggaWQgXCIgKyBpZCk7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9ucy5wdXNoKHtcclxuICAgICAgICAgICAgdHlwZTogXCJjb2xsZWN0aW9uXCIsXHJcbiAgICAgICAgICAgIGlkOiBpZCxcclxuICAgICAgICAgICAgbmFtZTogbmFtZSxcclxuICAgICAgICAgICAgc2V0dGluZ3M6IHNldHRpbmdzLFxyXG4gICAgICAgICAgICBidXR0b246IGJ1dHRvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc2V0dXAoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVDb2xsZWN0aW9uKGlkKSB7XHJcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLmNvbGxlY3Rpb25zLmZpbmRJbmRleChjID0+IGMuaWQgPT0gaWQpO1xyXG4gICAgICAgIGlmICghbG9jYXRpb24gPCAwKSByZXR1cm4gVXRpbGl0aWVzLmVycihcIlNldHRpbmdzXCIsIFwiTm8gY29sbGVjdGlvbiB3aXRoIGlkIFwiICsgaWQpO1xyXG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMuc3BsaWNlKGxvY2F0aW9uLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3RlclBhbmVsKGlkLCBuYW1lLCBvcHRpb25zKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucGFuZWxzLmZpbmQocCA9PiBwLmlkID09IGlkKSkgcmV0dXJuIFV0aWxpdGllcy5lcnIoXCJTZXR0aW5nc1wiLCBcIkFscmVhZHkgaGF2ZSBhIHBhbmVsIHdpdGggaWQgXCIgKyBpZCk7XHJcbiAgICAgICAgY29uc3Qge2VsZW1lbnQsIG9uQ2xpY2ssIG9yZGVyID0gMX0gPSBvcHRpb25zO1xyXG4gICAgICAgIGNvbnN0IHNlY3Rpb24gPSB7aWQsIG9yZGVyLCBsYWJlbDogbmFtZSwgc2VjdGlvbjogbmFtZX07XHJcbiAgICAgICAgaWYgKG9uQ2xpY2spIHNlY3Rpb24uY2xpY2tMaXN0ZW5lciA9IG9uQ2xpY2s7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQpIHNlY3Rpb24uZWxlbWVudCA9IGVsZW1lbnQgaW5zdGFuY2VvZiBEaXNjb3JkTW9kdWxlcy5SZWFjdC5Db21wb25lbnQgPyAoKSA9PiBEaXNjb3JkTW9kdWxlcy5SZWFjdC5jcmVhdGVFbGVtZW50KGVsZW1lbnQsIHt9KSA6IHR5cGVvZihlbGVtZW50KSA9PSBcImZ1bmN0aW9uXCIgPyBlbGVtZW50IDogKCkgPT4gZWxlbWVudDtcclxuICAgICAgICB0aGlzLnBhbmVscy5wdXNoKHNlY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZVBhbmVsKGlkKSB7XHJcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLnBhbmVscy5maW5kSW5kZXgoYyA9PiBjLmlkID09IGlkKTtcclxuICAgICAgICBpZiAoIWxvY2F0aW9uIDwgMCkgcmV0dXJuIFV0aWxpdGllcy5lcnIoXCJTZXR0aW5nc1wiLCBcIk5vIGNvbGxlY3Rpb24gd2l0aCBpZCBcIiArIGlkKTtcclxuICAgICAgICB0aGlzLnBhbmVscy5zcGxpY2UobG9jYXRpb24sIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFBhdGgocGF0aCwgY29sbGVjdGlvbklkID0gXCJcIiwgY2F0ZWdvcnlJZCA9IFwiXCIpIHtcclxuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gcGF0aC5sZW5ndGggPT0gMyA/IHBhdGhbMF0gOiBjb2xsZWN0aW9uSWQ7XHJcbiAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBwYXRoLmxlbmd0aCA9PSAzID8gcGF0aFsxXSA6IHBhdGgubGVuZ3RoID09IDIgPyBwYXRoWzBdIDogY2F0ZWdvcnlJZDtcclxuICAgICAgICBjb25zdCBzZXR0aW5nID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xyXG4gICAgICAgIHJldHVybiB7Y29sbGVjdGlvbiwgY2F0ZWdvcnksIHNldHRpbmd9O1xyXG4gICAgfVxyXG5cclxuICAgIHNldHVwKCkge1xyXG4gICAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgdGhpcy5jb2xsZWN0aW9ucy5sZW5ndGg7IGMrKykge1xyXG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5jb2xsZWN0aW9uc1tjXTtcclxuICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IHRoaXMuY29sbGVjdGlvbnNbY10uc2V0dGluZ3M7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXSA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBzID0gMDsgcyA8IGNhdGVnb3JpZXMubGVuZ3RoOyBzKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gY2F0ZWdvcmllc1tzXTtcclxuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeS50eXBlICE9IFwiY2F0ZWdvcnlcIikge2lmICghdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXS5oYXNPd25Qcm9wZXJ0eShjYXRlZ29yeS5pZCkpIHRoaXMuc3RhdGVbY29sbGVjdGlvbi5pZF1bY2F0ZWdvcnkuaWRdID0gY2F0ZWdvcnkudmFsdWU7fVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdLmhhc093blByb3BlcnR5KGNhdGVnb3J5LmlkKSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXVtjYXRlZ29yeS5pZF0gPSB7fTtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBzID0gMDsgcyA8IGNhdGVnb3J5LnNldHRpbmdzLmxlbmd0aDsgcysrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNldHRpbmcgPSBjYXRlZ29yeS5zZXR0aW5nc1tzXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdW2NhdGVnb3J5LmlkXS5oYXNPd25Qcm9wZXJ0eShzZXR0aW5nLmlkKSkgdGhpcy5zdGF0ZVtjb2xsZWN0aW9uLmlkXVtjYXRlZ29yeS5pZF1bc2V0dGluZy5pZF0gPSBzZXR0aW5nLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZy5lbmFibGVXaXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdGhpcy5nZXRQYXRoKHNldHRpbmcuZW5hYmxlV2l0aC5zcGxpdChcIi5cIiksIGNvbGxlY3Rpb24uaWQsIGNhdGVnb3J5LmlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzZXR0aW5nLmhhc093blByb3BlcnR5KFwiZGlzYWJsZWRcIikpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHNldHRpbmcsIFwiZGlzYWJsZWRcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIXRoaXMuc3RhdGVbcGF0aC5jb2xsZWN0aW9uXVtwYXRoLmNhdGVnb3J5XVtwYXRoLnNldHRpbmddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2V0dGluZy5kaXNhYmxlV2l0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRoaXMuZ2V0UGF0aChzZXR0aW5nLmRpc2FibGVXaXRoLnNwbGl0KFwiLlwiKSwgY29sbGVjdGlvbi5pZCwgY2F0ZWdvcnkuaWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNldHRpbmcuaGFzT3duUHJvcGVydHkoXCJkaXNhYmxlZFwiKSkgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2V0dGluZywgXCJkaXNhYmxlZFwiLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0OiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXRlW3BhdGguY29sbGVjdGlvbl1bcGF0aC5jYXRlZ29yeV1bcGF0aC5zZXR0aW5nXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBwYXRjaFNlY3Rpb25zKCkge1xyXG4gICAgICAgIFV0aWxpdGllcy5tb25rZXlQYXRjaChXZWJwYWNrTW9kdWxlcy5nZXRCeURpc3BsYXlOYW1lKFwiRmx1eENvbnRhaW5lcihHdWlsZFNldHRpbmdzKVwiKS5wcm90b3R5cGUsIFwicmVuZGVyXCIsIHthZnRlcjogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgZGF0YS50aGlzT2JqZWN0Ll9yZWFjdEludGVybmFsRmliZXIucmV0dXJuLnJldHVybi5yZXR1cm4ucmV0dXJuLnJldHVybi5yZXR1cm4ubWVtb2l6ZWRQcm9wcy5pZCA9IFwiZ3VpbGQtc2V0dGluZ3NcIjtcclxuICAgICAgICB9fSk7XHJcbiAgICAgICAgY29uc3QgVXNlclNldHRpbmdzID0gYXdhaXQgdGhpcy5nZXRVc2VyU2V0dGluZ3MoKTtcclxuICAgICAgICBVdGlsaXRpZXMubW9ua2V5UGF0Y2goVXNlclNldHRpbmdzLnByb3RvdHlwZSwgXCJyZW5kZXJcIiwge2FmdGVyOiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBkYXRhLnRoaXNPYmplY3QuX3JlYWN0SW50ZXJuYWxGaWJlci5yZXR1cm4ucmV0dXJuLnJldHVybi5yZXR1cm4ucmV0dXJuLnJldHVybi5yZXR1cm4ubWVtb2l6ZWRQcm9wcy5pZCA9IFwidXNlci1zZXR0aW5nc1wiO1xyXG4gICAgICAgIH19KTtcclxuICAgICAgICBVdGlsaXRpZXMubW9ua2V5UGF0Y2goVXNlclNldHRpbmdzLnByb3RvdHlwZSwgXCJnZW5lcmF0ZVNlY3Rpb25zXCIsIHthZnRlcjogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgbGV0IGxvY2F0aW9uID0gZGF0YS5yZXR1cm5WYWx1ZS5maW5kSW5kZXgocyA9PiBzLnNlY3Rpb24udG9Mb3dlckNhc2UoKSA9PSBcImxpbnV4XCIpICsgMTtcclxuICAgICAgICAgICAgY29uc3QgaW5zZXJ0ID0gKHNlY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIGRhdGEucmV0dXJuVmFsdWUuc3BsaWNlKGxvY2F0aW9uLCAwLCBzZWN0aW9uKTtcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uKys7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGluc2VydCh7c2VjdGlvbjogXCJESVZJREVSXCJ9KTtcclxuICAgICAgICAgICAgaW5zZXJ0KHtzZWN0aW9uOiBcIkhFQURFUlwiLCBsYWJlbDogXCJCYW5kYWdlZEJEXCJ9KTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjb2xsZWN0aW9uIG9mIHRoaXMuY29sbGVjdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uLmRpc2FibGVkKSBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgIGluc2VydCh7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VjdGlvbjogY29sbGVjdGlvbi5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjb2xsZWN0aW9uLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudDogKCkgPT4gU2V0dGluZ3NSZW5kZXJlci5idWlsZFNldHRpbmdzUGFuZWwoY29sbGVjdGlvbi5uYW1lLCBjb2xsZWN0aW9uLnNldHRpbmdzLCB0aGlzLnN0YXRlW2NvbGxlY3Rpb24uaWRdLCB0aGlzLm9uU2V0dGluZ0NoYW5nZS5iaW5kKHRoaXMsIGNvbGxlY3Rpb24uaWQpLCBjb2xsZWN0aW9uLmJ1dHRvbiA/IGNvbGxlY3Rpb24uYnV0dG9uIDogbnVsbClcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcGFuZWwgb2YgdGhpcy5wYW5lbHMuc29ydCgoYSxiKSA9PiBhLm9yZGVyID4gYi5vcmRlcikpIHtcclxuICAgICAgICAgICAgICAgIGlmIChwYW5lbC5jbGlja0xpc3RlbmVyKSBwYW5lbC5vbkNsaWNrID0gKGV2ZW50KSA9PiBwYW5lbC5jbGlja0xpc3RlbmVyKGRhdGEudGhpc09iamVjdCwgZXZlbnQsIGRhdGEucmV0dXJuVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgaW5zZXJ0KHBhbmVsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbnNlcnQoe3NlY3Rpb246IFwiQ1VTVE9NXCIsIGVsZW1lbnQ6ICgpID0+IFNldHRpbmdzUmVuZGVyZXIuYXR0cmlidXRpb259KTtcclxuICAgICAgICB9fSk7XHJcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcmNlVXBkYXRlKCkge1xyXG4gICAgICAgIGNvbnN0IHZpZXdDbGFzcyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJzdGFuZGFyZFNpZGViYXJWaWV3XCIpLnN0YW5kYXJkU2lkZWJhclZpZXcuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICAgIGNvbnN0IG5vZGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuJHt2aWV3Q2xhc3N9YCk7XHJcbiAgICAgICAgVXRpbGl0aWVzLmdldEludGVybmFsSW5zdGFuY2Uobm9kZSkucmV0dXJuLnJldHVybi5yZXR1cm4ucmV0dXJuLnJldHVybi5yZXR1cm4uc3RhdGVOb2RlLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VXNlclNldHRpbmdzKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY2FuY2VsID0gVXRpbGl0aWVzLm1vbmtleVBhdGNoKFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRVc2VyU2V0dGluZ3NTZWN0aW9uc1wiKS5kZWZhdWx0LnByb3RvdHlwZSwgXCJyZW5kZXJcIiwge2FmdGVyOiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhLnJldHVyblZhbHVlLnR5cGUpO1xyXG4gICAgICAgICAgICAgICAgZGF0YS50aGlzT2JqZWN0LmZvcmNlVXBkYXRlKCk7XHJcbiAgICAgICAgICAgICAgICBjYW5jZWwoKTtcclxuICAgICAgICAgICAgfX0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVTZXR0aW5ncygpIHtcclxuICAgICAgICBEYXRhU3RvcmUuc2V0RGF0YShcInNldHRpbmdzXCIsIHRoaXMuc3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRTZXR0aW5ncygpIHtcclxuICAgICAgICBjb25zdCBwcmV2aW91c1N0YXRlID0gRGF0YVN0b3JlLmdldERhdGEoXCJzZXR0aW5nc1wiKTtcclxuICAgICAgICBpZiAoIXByZXZpb3VzU3RhdGUpIHJldHVybiB0aGlzLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgIGZvciAoY29uc3QgY29sbGVjdGlvbiBpbiB0aGlzLnN0YXRlKSB7XHJcbiAgICAgICAgICAgIGlmICghcHJldmlvdXNTdGF0ZVtjb2xsZWN0aW9uXSkgT2JqZWN0LmFzc2lnbihwcmV2aW91c1N0YXRlLCB7W2NvbGxlY3Rpb25dOiB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dfSk7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2F0ZWdvcnkgaW4gdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XSkgT2JqZWN0LmFzc2lnbihwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dLCB7W2NhdGVnb3J5XTogdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV19KTtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc2V0dGluZyBpbiB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1N0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XVtzZXR0aW5nXSA9PSB1bmRlZmluZWQpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVbY29sbGVjdGlvbl1bY2F0ZWdvcnldW3NldHRpbmddID0gcHJldmlvdXNTdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV1bc2V0dGluZ107XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2F2ZVNldHRpbmdzKCk7IC8vIGluIGNhc2UgbmV3IHRoaW5ncyB3ZXJlIGFkZGVkXHJcbiAgICB9XHJcblxyXG4gICAgb25TZXR0aW5nQ2hhbmdlKGNvbGxlY3Rpb24sIGNhdGVnb3J5LCBpZCwgdmFsdWUpIHtcclxuICAgICAgICBjb25zdCBiZWZvcmUgPSB0aGlzLmNvbGxlY3Rpb25zLmxlbmd0aCArIHRoaXMucGFuZWxzLmxlbmd0aDtcclxuICAgICAgICB0aGlzLnN0YXRlW2NvbGxlY3Rpb25dW2NhdGVnb3J5XVtpZF0gPSB2YWx1ZTtcclxuICAgICAgICBFdmVudHMuZGlzcGF0Y2goXCJzZXR0aW5nLXVwZGF0ZWRcIiwgY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkLCB2YWx1ZSk7XHJcbiAgICAgICAgY29uc3QgYWZ0ZXIgPSB0aGlzLmNvbGxlY3Rpb25zLmxlbmd0aCArIHRoaXMucGFuZWxzLmxlbmd0aDtcclxuICAgICAgICB0aGlzLnNhdmVTZXR0aW5ncygpO1xyXG4gICAgICAgIGlmIChiZWZvcmUgIT0gYWZ0ZXIpIHNldFRpbWVvdXQodGhpcy5mb3JjZVVwZGF0ZS5iaW5kKHRoaXMpLCA1MCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2V0dGluZyhjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWQpIHtcclxuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAyKSByZXR1cm4gdGhpcy5jb2xsZWN0aW9uc1swXS5maW5kKGMgPT4gYy5pZCA9PSBhcmd1bWVudHNbMF0pLnNldHRpbmdzLmZpbmQocyA9PiBzLmlkID09IGFyZ3VtZW50c1sxXSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbnMuZmluZChjID0+IGMuaWQgPT0gY29sbGVjdGlvbikuZmluZChjID0+IGMuaWQgPT0gY2F0ZWdvcnkpLnNldHRpbmdzLmZpbmQocyA9PiBzLmlkID09IGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQoY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkKSB7XHJcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikge1xyXG4gICAgICAgICAgICBpZCA9IGNhdGVnb3J5O1xyXG4gICAgICAgICAgICBjYXRlZ29yeSA9IGNvbGxlY3Rpb247XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSBcInNldHRpbmdzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXSB8fCAhdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV0pIHJldHVybiBmYWxzZTtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZVtjb2xsZWN0aW9uXVtjYXRlZ29yeV1baWRdO1xyXG4gICAgfVxyXG5cclxuICAgIHNldChjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWQsIHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMykge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGlkO1xyXG4gICAgICAgICAgICBpZCA9IGNhdGVnb3J5O1xyXG4gICAgICAgICAgICBjYXRlZ29yeSA9IGNvbGxlY3Rpb247XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSBcInNldHRpbmdzXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLm9uU2V0dGluZ0NoYW5nZShjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWQsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbihjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWRlbnRpZmllciwgY2FsbGJhY2spIHtcclxuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGNvbCwgY2F0LCBpZCwgdmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKGNvbCAhPT0gY29sbGVjdGlvbiB8fCBjYXQgIT09IGNhdGVnb3J5IHx8IGlkICE9PSBpZGVudGlmaWVyKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIEV2ZW50cy5vbihcInNldHRpbmctdXBkYXRlZFwiLCBoYW5kbGVyKTtcclxuICAgICAgICByZXR1cm4gKCkgPT4ge0V2ZW50cy5vZmYoXCJzZXR0aW5nLXVwZGF0ZWRcIiwgaGFuZGxlcik7fTtcclxuICAgIH1cclxufTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/modules/settingsmanager.js\n");
/***/ }),
/***/ "./src/modules/thememanager.js":
/*!*************************************!*\
!*** ./src/modules/thememanager.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var _contentmanager__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./contentmanager */ \"./src/modules/contentmanager.js\");\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var ui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui */ \"./src/ui/ui.js\");\n/* harmony import */ var _settingsmanager__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\n\n\n\n\nconst path = __webpack_require__(/*! path */ \"path\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new class ThemeManager extends _contentmanager__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n get name() {\n return \"ThemeManager\";\n }\n\n get moduleExtension() {\n return \".css\";\n }\n\n get extension() {\n return \".theme.css\";\n }\n\n get contentFolder() {\n return path.resolve(data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].dataPath, \"themes\");\n }\n\n get prefix() {\n return \"theme\";\n }\n /* Aliases */\n\n\n updateThemeList() {\n return this.updateList();\n }\n\n loadAllThemes() {\n _settingsmanager__WEBPACK_IMPORTED_MODULE_4__[\"default\"].registerPanel(\"themes\", \"Themes\", {\n element: () => ui__WEBPACK_IMPORTED_MODULE_3__[\"SettingsPanel\"].getContentPanel(\"Themes\", this.contentList, this.state, {\n folder: this.contentFolder,\n onChange: this.toggleTheme.bind(this),\n reload: this.reloadTheme.bind(this),\n refreshList: this.updateThemeList.bind(this)\n })\n });\n return this.loadAllContent();\n }\n\n enableTheme(idOrContent) {\n return this.enableContent(idOrContent);\n }\n\n disableTheme(idOrContent) {\n return this.disableContent(idOrContent);\n }\n\n toggleTheme(id) {\n return this.toggleContent(id);\n }\n\n unloadTheme(idOrFileOrContent) {\n return this.unloadContent(idOrFileOrContent);\n }\n\n loadTheme(filename) {\n const error = this.loadContent(filename);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n\n reloadTheme(idOrFileOrContent) {\n const error = this.reloadContent(idOrFileOrContent);\n if (error) ui__WEBPACK_IMPORTED_MODULE_3__[\"Modals\"].showContentErrors({\n themes: [error]\n });\n }\n /* Overrides */\n\n\n getContentModification(module, content, meta) {\n meta.css = content.split(\"\\n\").slice(1).join(\"\\n\");\n return `module.exports = ${JSON.stringify(meta)};`;\n }\n\n startContent(id) {\n return this.addTheme(id);\n }\n\n stopContent(id) {\n return this.removeTheme(id);\n }\n\n addTheme(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const style = document.createElement(\"style\");\n style.id = _utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].escapeID(content.id);\n style.textContent = unescape(content.css);\n document.head.append(style);\n content.element = style;\n }\n\n removeTheme(idOrContent) {\n const content = typeof idOrContent == \"string\" ? this.contentList.find(p => p.id == idOrContent) : idOrContent;\n if (!content) return;\n const element = content.element || document.getElementById(_utilities__WEBPACK_IMPORTED_MODULE_2__[\"default\"].escapeID(content.id));\n if (element) element.remove();\n }\n\n}());//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvdGhlbWVtYW5hZ2VyLmpzPzQwNzgiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJUaGVtZU1hbmFnZXIiLCJDb250ZW50TWFuYWdlciIsIm5hbWUiLCJtb2R1bGVFeHRlbnNpb24iLCJleHRlbnNpb24iLCJjb250ZW50Rm9sZGVyIiwicmVzb2x2ZSIsIkNvbmZpZyIsImRhdGFQYXRoIiwicHJlZml4IiwidXBkYXRlVGhlbWVMaXN0IiwidXBkYXRlTGlzdCIsImxvYWRBbGxUaGVtZXMiLCJTZXR0aW5ncyIsInJlZ2lzdGVyUGFuZWwiLCJlbGVtZW50IiwiU2V0dGluZ3NSZW5kZXJlciIsImdldENvbnRlbnRQYW5lbCIsImNvbnRlbnRMaXN0Iiwic3RhdGUiLCJmb2xkZXIiLCJvbkNoYW5nZSIsInRvZ2dsZVRoZW1lIiwiYmluZCIsInJlbG9hZCIsInJlbG9hZFRoZW1lIiwicmVmcmVzaExpc3QiLCJsb2FkQWxsQ29udGVudCIsImVuYWJsZVRoZW1lIiwiaWRPckNvbnRlbnQiLCJlbmFibGVDb250ZW50IiwiZGlzYWJsZVRoZW1lIiwiZGlzYWJsZUNvbnRlbnQiLCJpZCIsInRvZ2dsZUNvbnRlbnQiLCJ1bmxvYWRUaGVtZSIsImlkT3JGaWxlT3JDb250ZW50IiwidW5sb2FkQ29udGVudCIsImxvYWRUaGVtZSIsImZpbGVuYW1lIiwiZXJyb3IiLCJsb2FkQ29udGVudCIsIk1vZGFscyIsInNob3dDb250ZW50RXJyb3JzIiwidGhlbWVzIiwicmVsb2FkQ29udGVudCIsImdldENvbnRlbnRNb2RpZmljYXRpb24iLCJtb2R1bGUiLCJjb250ZW50IiwibWV0YSIsImNzcyIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXJ0Q29udGVudCIsImFkZFRoZW1lIiwic3RvcENvbnRlbnQiLCJyZW1vdmVUaGVtZSIsImZpbmQiLCJwIiwic3R5bGUiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJVdGlsaXRpZXMiLCJlc2NhcGVJRCIsInRleHRDb250ZW50IiwidW5lc2NhcGUiLCJoZWFkIiwiYXBwZW5kIiwiZ2V0RWxlbWVudEJ5SWQiLCJyZW1vdmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxNQUFNQSxJQUFJLEdBQUdDLG1CQUFPLENBQUMsa0JBQUQsQ0FBcEI7O0FBRWUsbUVBQUksTUFBTUMsWUFBTixTQUEyQkMsdURBQTNCLENBQTBDO0FBQ3pELE1BQUlDLElBQUosR0FBVztBQUFDLFdBQU8sY0FBUDtBQUF1Qjs7QUFDbkMsTUFBSUMsZUFBSixHQUFzQjtBQUFDLFdBQU8sTUFBUDtBQUFlOztBQUN0QyxNQUFJQyxTQUFKLEdBQWdCO0FBQUMsV0FBTyxZQUFQO0FBQXFCOztBQUN0QyxNQUFJQyxhQUFKLEdBQW9CO0FBQUMsV0FBT1AsSUFBSSxDQUFDUSxPQUFMLENBQWFDLDJDQUFNLENBQUNDLFFBQXBCLEVBQThCLFFBQTlCLENBQVA7QUFBZ0Q7O0FBQ3JFLE1BQUlDLE1BQUosR0FBYTtBQUFDLFdBQU8sT0FBUDtBQUFnQjtBQUU5Qjs7O0FBQ0FDLGlCQUFlLEdBQUc7QUFBQyxXQUFPLEtBQUtDLFVBQUwsRUFBUDtBQUEwQjs7QUFDN0NDLGVBQWEsR0FBRztBQUNaQyw0REFBUSxDQUFDQyxhQUFULENBQXVCLFFBQXZCLEVBQWlDLFFBQWpDLEVBQTJDO0FBQUNDLGFBQU8sRUFBRSxNQUFNQyxnREFBZ0IsQ0FBQ0MsZUFBakIsQ0FBaUMsUUFBakMsRUFBMkMsS0FBS0MsV0FBaEQsRUFBNkQsS0FBS0MsS0FBbEUsRUFBeUU7QUFDaElDLGNBQU0sRUFBRSxLQUFLZixhQURtSDtBQUVoSWdCLGdCQUFRLEVBQUUsS0FBS0MsV0FBTCxDQUFpQkMsSUFBakIsQ0FBc0IsSUFBdEIsQ0FGc0g7QUFHaElDLGNBQU0sRUFBRSxLQUFLQyxXQUFMLENBQWlCRixJQUFqQixDQUFzQixJQUF0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QUFDQSxRQUFJLENBQUNtQixPQUFMLEVBQWM7QUFDZCxVQUFNakMsT0FBTyxHQUFHaUMsT0FBTyxDQUFDakMsT0FBUixJQUFtQmdELFFBQVEsQ0FBQ1EsY0FBVCxDQUF3Qk4sa0RBQVMsQ0FBQ0MsUUFBVixDQUFtQmxCLE9BQU8sQ0FBQ2YsRUFBM0IsQ0FBeEIsQ0FBbkM7QUFDQSxRQUFJbEIsT0FBSixFQUFhQSxPQUFPLENBQUN5RCxNQUFSO0FBQ2hCOztBQTNEd0QsQ0FBOUMsRUFBZiIsImZpbGUiOiIuL3NyYy9tb2R1bGVzL3RoZW1lbWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQgQ29udGVudE1hbmFnZXIgZnJvbSBcIi4vY29udGVudG1hbmFnZXJcIjtcclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuaW1wb3J0IHtNb2RhbHN9IGZyb20gXCJ1aVwiO1xyXG5pbXBvcnQgU2V0dGluZ3MgZnJvbSBcIi4vc2V0dGluZ3NtYW5hZ2VyXCI7XHJcbmltcG9ydCB7U2V0dGluZ3NQYW5lbCBhcyBTZXR0aW5nc1JlbmRlcmVyfSBmcm9tIFwidWlcIjtcclxuXHJcbmNvbnN0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IG5ldyBjbGFzcyBUaGVtZU1hbmFnZXIgZXh0ZW5kcyBDb250ZW50TWFuYWdlciB7XHJcbiAgICBnZXQgbmFtZSgpIHtyZXR1cm4gXCJUaGVtZU1hbmFnZXJcIjt9XHJcbiAgICBnZXQgbW9kdWxlRXh0ZW5zaW9uKCkge3JldHVybiBcIi5jc3NcIjt9XHJcbiAgICBnZXQgZXh0ZW5zaW9uKCkge3JldHVybiBcIi50aGVtZS5jc3NcIjt9XHJcbiAgICBnZXQgY29udGVudEZvbGRlcigpIHtyZXR1cm4gcGF0aC5yZXNvbHZlKENvbmZpZy5kYXRhUGF0aCwgXCJ0aGVtZXNcIik7fVxyXG4gICAgZ2V0IHByZWZpeCgpIHtyZXR1cm4gXCJ0aGVtZVwiO31cclxuXHJcbiAgICAvKiBBbGlhc2VzICovXHJcbiAgICB1cGRhdGVUaGVtZUxpc3QoKSB7cmV0dXJuIHRoaXMudXBkYXRlTGlzdCgpO31cclxuICAgIGxvYWRBbGxUaGVtZXMoKSB7XHJcbiAgICAgICAgU2V0dGluZ3MucmVnaXN0ZXJQYW5lbChcInRoZW1lc1wiLCBcIlRoZW1lc1wiLCB7ZWxlbWVudDogKCkgPT4gU2V0dGluZ3NSZW5kZXJlci5nZXRDb250ZW50UGFuZWwoXCJUaGVtZXNcIiwgdGhpcy5jb250ZW50TGlzdCwgdGhpcy5zdGF0ZSwge1xyXG4gICAgICAgICAgICBmb2xkZXI6IHRoaXMuY29udGVudEZvbGRlcixcclxuICAgICAgICAgICAgb25DaGFuZ2U6IHRoaXMudG9nZ2xlVGhlbWUuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgcmVsb2FkOiB0aGlzLnJlbG9hZFRoZW1lLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgIHJlZnJlc2hMaXN0OiB0aGlzLnVwZGF0ZVRoZW1lTGlzdC5iaW5kKHRoaXMpXHJcbiAgICAgICAgfSl9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkQWxsQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGVuYWJsZVRoZW1lKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZW5hYmxlQ29udGVudChpZE9yQ29udGVudCk7fVxyXG4gICAgZGlzYWJsZVRoZW1lKGlkT3JDb250ZW50KSB7cmV0dXJuIHRoaXMuZGlzYWJsZUNvbnRlbnQoaWRPckNvbnRlbnQpO31cclxuICAgIHRvZ2dsZVRoZW1lKGlkKSB7cmV0dXJuIHRoaXMudG9nZ2xlQ29udGVudChpZCk7fVxyXG5cclxuICAgIHVubG9hZFRoZW1lKGlkT3JGaWxlT3JDb250ZW50KSB7cmV0dXJuIHRoaXMudW5sb2FkQ29udGVudChpZE9yRmlsZU9yQ29udGVudCk7fVxyXG5cclxuICAgIGxvYWRUaGVtZShmaWxlbmFtZSkge1xyXG4gICAgICAgIGNvbnN0IGVycm9yID0gdGhpcy5sb2FkQ29udGVudChmaWxlbmFtZSk7XHJcbiAgICAgICAgaWYgKGVycm9yKSBNb2RhbHMuc2hvd0NvbnRlbnRFcnJvcnMoe3RoZW1lczogW2Vycm9yXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZFRoZW1lKGlkT3JGaWxlT3JDb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLnJlbG9hZENvbnRlbnQoaWRPckZpbGVPckNvbnRlbnQpO1xyXG4gICAgICAgIGlmIChlcnJvcikgTW9kYWxzLnNob3dDb250ZW50RXJyb3JzKHt0aGVtZXM6IFtlcnJvcl19KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBPdmVycmlkZXMgKi9cclxuICAgIGdldENvbnRlbnRNb2RpZmljYXRpb24obW9kdWxlLCBjb250ZW50LCBtZXRhKSB7XHJcbiAgICAgICAgbWV0YS5jc3MgPSBjb250ZW50LnNwbGl0KFwiXFxuXCIpLnNsaWNlKDEpLmpvaW4oXCJcXG5cIik7XHJcbiAgICAgICAgcmV0dXJuIGBtb2R1bGUuZXhwb3J0cyA9ICR7SlNPTi5zdHJpbmdpZnkobWV0YSl9O2A7XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIHN0YXJ0Q29udGVudChpZCkge3JldHVybiB0aGlzLmFkZFRoZW1lKGlkKTt9XHJcbiAgICBzdG9wQ29udGVudChpZCkge3JldHVybiB0aGlzLnJlbW92ZVRoZW1lKGlkKTt9XHJcblxyXG4gICAgYWRkVGhlbWUoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKTtcclxuICAgICAgICBzdHlsZS5pZCA9IFV0aWxpdGllcy5lc2NhcGVJRChjb250ZW50LmlkKTtcclxuICAgICAgICBzdHlsZS50ZXh0Q29udGVudCA9IHVuZXNjYXBlKGNvbnRlbnQuY3NzKTtcclxuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZChzdHlsZSk7XHJcbiAgICAgICAgY29udGVudC5lbGVtZW50ID0gc3R5bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVGhlbWUoaWRPckNvbnRlbnQpIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mKGlkT3JDb250ZW50KSA9PSBcInN0cmluZ1wiID8gdGhpcy5jb250ZW50TGlzdC5maW5kKHAgPT4gcC5pZCA9PSBpZE9yQ29udGVudCkgOiBpZE9yQ29udGVudDtcclxuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gY29udGVudC5lbGVtZW50IHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFV0aWxpdGllcy5lc2NhcGVJRChjb250ZW50LmlkKSk7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQpIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcbn07Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/thememanager.js\n");
/***/ }),
/***/ "./src/modules/utilities.js":
/*!**********************************!*\
!*** ./src/modules/utilities.js ***!
\**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Utilities; });\n/* eslint-disable no-console */\nclass Utilities {\n /** Document/window width */\n static get screenWidth() {\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n /** Document/window height */\n\n\n static get screenHeight() {\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n }\n\n static stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n\n return content;\n }\n\n static getTextArea() {\n return $(\".channelTextArea-1LDbYG textarea\");\n }\n\n static getInternalInstance(node) {\n return node[Object.keys(node).find(k => k.startsWith(\"__reactInternalInstance\"))] || null;\n }\n\n static insertText(textarea, text) {\n textarea.focus();\n textarea.selectionStart = 0;\n textarea.selectionEnd = textarea.value.length;\n document.execCommand(\"insertText\", false, text);\n }\n\n static injectCss(uri) {\n $(\"<link/>\", {\n type: \"text/css\",\n rel: \"stylesheet\",\n href: uri\n }).appendTo($(\"head\"));\n }\n\n static injectJs(uri) {\n return new Promise(resolve => {\n $(\"<script/>\", {\n type: \"text/javascript\",\n src: uri,\n onload: resolve\n }).appendTo($(\"body\"));\n });\n }\n\n static escapeID(id) {\n return id.replace(/^[^a-z]+|[^\\w-]+/gi, \"\");\n }\n\n static log(moduleName, message) {\n console.log(`%c[BandagedBD]%c [${moduleName}]%c ${message}`, \"color: #3a71c1; font-weight: 700;\", \"color: #3a71c1;\", \"\");\n }\n\n static warn(moduleName, message) {\n console.warn(`%c[BandagedBD]%c [${moduleName}]%c ${message}`, \"color: #E8A400; font-weight: 700;\", \"color: #E8A400;\", \"\");\n }\n\n static err(moduleName, message, error) {\n console.log(`%c[BandagedBD]%c [${moduleName}]%c ${message}`, \"color: red; font-weight: 700;\", \"color: red;\", \"\");\n\n if (error) {\n console.groupCollapsed(\"%cError: \" + error.message, \"color: red;\");\n console.error(error.stack);\n console.groupEnd();\n }\n }\n\n static escape(s) {\n return s.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n }\n\n static testJSON(data) {\n try {\n JSON.parse(data);\n return true;\n } catch (err) {\n return false;\n }\n }\n\n static suppressErrors(method, message) {\n return (...params) => {\n try {\n return method(...params);\n } catch (e) {\n this.err(\"SuppressedError\", \"Error occurred in \" + message, e);\n }\n };\n }\n\n static monkeyPatch(what, methodName, options) {\n const {\n before,\n after,\n instead,\n once = false,\n silent = false,\n force = false\n } = options;\n const displayName = options.displayName || what.displayName || what.name || what.constructor.displayName || what.constructor.name;\n if (!silent) console.log(\"patch\", methodName, \"of\", displayName); // eslint-disable-line no-console\n\n if (!what[methodName]) {\n if (force) what[methodName] = function () {};else return console.error(methodName, \"does not exist for\", displayName); // eslint-disable-line no-console\n }\n\n const origMethod = what[methodName];\n\n const cancel = () => {\n if (!silent) console.log(\"unpatch\", methodName, \"of\", displayName); // eslint-disable-line no-console\n\n what[methodName] = origMethod;\n };\n\n what[methodName] = function () {\n const data = {\n thisObject: this,\n methodArguments: arguments,\n cancelPatch: cancel,\n originalMethod: origMethod,\n callOriginalMethod: () => data.returnValue = data.originalMethod.apply(data.thisObject, data.methodArguments)\n };\n\n if (instead) {\n const tempRet = Utilities.suppressErrors(instead, \"`instead` callback of \" + what[methodName].displayName)(data);\n if (tempRet !== undefined) data.returnValue = tempRet;\n } else {\n if (before) Utilities.suppressErrors(before, \"`before` callback of \" + what[methodName].displayName)(data);\n data.callOriginalMethod();\n if (after) Utilities.suppressErrors(after, \"`after` callback of \" + what[methodName].displayName)(data);\n }\n\n if (once) cancel();\n return data.returnValue;\n };\n\n what[methodName].__monkeyPatched = true;\n if (!what[methodName].__originalMethod) what[methodName].__originalMethod = origMethod;\n what[methodName].displayName = \"patched \" + (what[methodName].displayName || methodName);\n return cancel;\n }\n\n static onRemoved(node, callback) {\n const observer = new MutationObserver(mutations => {\n for (let m = 0; m < mutations.length; m++) {\n const mutation = mutations[m];\n const nodes = Array.from(mutation.removedNodes);\n const directMatch = nodes.indexOf(node) > -1;\n const parentMatch = nodes.some(parent => parent.contains(node));\n\n if (directMatch || parentMatch) {\n observer.disconnect();\n callback();\n }\n }\n });\n observer.observe(document.body, {\n subtree: true,\n childList: true\n });\n }\n\n static isEmpty(obj) {\n if (obj == null || obj == undefined || obj == \"\") return true;\n if (typeof obj !== \"object\") return false;\n if (Array.isArray(obj)) return obj.length == 0;\n\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) return false;\n }\n\n return true;\n }\n /**\r\n * Generates an automatically memoizing version of an object.\r\n * @author Zerebos\r\n * @param {Object} object - object to memoize\r\n * @returns {Proxy} the proxy to the object that memoizes properties\r\n */\n\n\n static memoizeObject(object) {\n const proxy = new Proxy(object, {\n get: function (obj, mod) {\n if (!obj.hasOwnProperty(mod)) return undefined;\n\n if (Object.getOwnPropertyDescriptor(obj, mod).get) {\n const value = obj[mod];\n delete obj[mod];\n obj[mod] = value;\n }\n\n return obj[mod];\n },\n set: function (obj, mod, value) {\n if (obj.hasOwnProperty(mod)) return this.err(\"MemoizedObject\", \"Trying to overwrite existing property\");\n obj[mod] = value;\n return obj[mod];\n }\n });\n Object.defineProperty(proxy, \"hasOwnProperty\", {\n value: function (prop) {\n return this[prop] !== undefined;\n }\n });\n return proxy;\n }\n /**\r\n * Builds a classname string from any number of arguments. This includes arrays and objects.\r\n * When given an array all values from the array are added to the list.\r\n * When given an object they keys are added as the classnames if the value is truthy.\r\n * Copyright (c) 2018 Jed Watson https://github.com/JedWatson/classnames MIT License\r\n * @param {...Any} argument - anything that should be used to add classnames.\r\n */\n\n\n static className() {\n const classes = [];\n const hasOwn = {}.hasOwnProperty;\n\n for (let i = 0; i < arguments.length; i++) {\n const arg = arguments[i];\n if (!arg) continue;\n const argType = typeof arg;\n\n if (argType === \"string\" || argType === \"number\") {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n const inner = this.classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === \"object\") {\n for (const key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(\" \");\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvdXRpbGl0aWVzLmpzPzk3NjkiXSwibmFtZXMiOlsiVXRpbGl0aWVzIiwic2NyZWVuV2lkdGgiLCJNYXRoIiwibWF4IiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJzY3JlZW5IZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJpbm5lckhlaWdodCIsInN0cmlwQk9NIiwiY29udGVudCIsImNoYXJDb2RlQXQiLCJzbGljZSIsImdldFRleHRBcmVhIiwiJCIsImdldEludGVybmFsSW5zdGFuY2UiLCJub2RlIiwiT2JqZWN0Iiwia2V5cyIsImZpbmQiLCJrIiwic3RhcnRzV2l0aCIsImluc2VydFRleHQiLCJ0ZXh0YXJlYSIsInRleHQiLCJmb2N1cyIsInNlbGVjdGlvblN0YXJ0Iiwic2VsZWN0aW9uRW5kIiwidmFsdWUiLCJsZW5ndGgiLCJleGVjQ29tbWFuZCIsImluamVjdENzcyIsInVyaSIsInR5cGUiLCJyZWwiLCJocmVmIiwiYXBwZW5kVG8iLCJpbmplY3RKcyIsIlByb21pc2UiLCJyZXNvbHZlIiwic3JjIiwib25sb2FkIiwiZXNjYXBlSUQiLCJpZCIsInJlcGxhY2UiLCJsb2ciLCJtb2R1bGVOYW1lIiwibWVzc2FnZSIsImNvbnNvbGUiLCJ3YXJuIiwiZXJyIiwiZXJyb3IiLCJncm91cENvbGxhcHNlZCIsInN0YWNrIiwiZ3JvdXBFbmQiLCJlc2NhcGUiLCJzIiwidGVzdEpTT04iLCJkYXRhIiwiSlNPTiIsInBhcnNlIiwic3VwcHJlc3NFcnJvcnMiLCJtZXRob2QiLCJwYXJhbXMiLCJlIiwibW9ua2V5UGF0Y2giLCJ3aGF0IiwibWV0aG9kTmFtZSIsIm9wdGlvbnMiLCJiZWZvcmUiLCJhZnRlciIsImluc3RlYWQiLCJvbmNlIiwic2lsZW50IiwiZm9yY2UiLCJkaXNwbGF5TmFtZSIsIm5hbWUiLCJjb25zdHJ1Y3RvciIsIm9yaWdNZXRob2QiLCJjYW5jZWwiLCJ0aGlzT2JqZWN0IiwibWV0aG9kQXJndW1lbnRzIiwiYXJndW1lbnRzIiwiY2FuY2VsUGF0Y2giLCJvcmlnaW5hbE1ldGhvZCIsImNhbGxPcmlnaW5hbE1ldGhvZCIsInJldHVyblZhbHVlIiwiYXBwbHkiLCJ0ZW1wUmV0IiwidW5kZWZpbmVkIiwiX19tb25rZXlQYXRjaGVkIiwiX19vcmlnaW5hbE1ldGhvZCIsIm9uUmVtb3ZlZCIsImNhbGxiYWNrIiwib2JzZXJ2ZXIiLCJNdXRhdGlvbk9ic2VydmVyIiwibXV0YXRpb25zIiwibSIsIm11dGF0aW9uIiwibm9kZXMiLCJBcnJheSIsImZyb20iLCJyZW1vdmVkTm9kZXMiLCJkaXJlY3RNYXRjaCIsImluZGV4T2YiLCJwYXJlbnRNYXRjaCIsInNvbWUiLCJwYXJlbnQiLCJjb250YWlucyIsImRpc2Nvbm5lY3QiLCJvYnNlcnZlIiwiYm9keSIsInN1YnRyZWUiLCJjaGlsZExpc3QiLCJpc0VtcHR5Iiwib2JqIiwiaXNBcnJheSIsImtleSIsImhhc093blByb3BlcnR5IiwibWVtb2l6ZU9iamVjdCIsIm9iamVjdCIsInByb3h5IiwiUHJveHkiLCJnZXQiLCJtb2QiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJzZXQiLCJkZWZpbmVQcm9wZXJ0eSIsInByb3AiLCJjbGFzc05hbWUiLCJjbGFzc2VzIiwiaGFzT3duIiwiaSIsImFyZyIsImFyZ1R5cGUiLCJwdXNoIiwiaW5uZXIiLCJjbGFzc05hbWVzIiwiY2FsbCIsImpvaW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUVlLE1BQU1BLFNBQU4sQ0FBZ0I7QUFDM0I7QUFDQSxhQUFXQyxXQUFYLEdBQXlCO0FBQUUsV0FBT0MsSUFBSSxDQUFDQyxHQUFMLENBQVNDLFFBQVEsQ0FBQ0MsZUFBVCxDQUF5QkMsV0FBbEMsRUFBK0NDLE1BQU0sQ0FBQ0MsVUFBUCxJQUFxQixDQUFwRSxDQUFQO0FBQWdGO0FBQzNHOzs7QUFDQSxhQUFXQyxZQUFYLEdBQTBCO0FBQUUs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LENBQUNTLElBQVIsQ0FBYSxHQUFiLENBQVA7QUFDRzs7QUE3TjBCIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvdXRpbGl0aWVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVXRpbGl0aWVzIHtcclxuICAgIC8qKiBEb2N1bWVudC93aW5kb3cgd2lkdGggKi9cclxuICAgIHN0YXRpYyBnZXQgc2NyZWVuV2lkdGgoKSB7IHJldHVybiBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApOyB9XHJcbiAgICAvKiogRG9jdW1lbnQvd2luZG93IGhlaWdodCAqL1xyXG4gICAgc3RhdGljIGdldCBzY3JlZW5IZWlnaHQoKSB7IHJldHVybiBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgMCk7IH1cclxuXHJcbiAgICBzdGF0aWMgc3RyaXBCT00oY29udGVudCkge1xyXG4gICAgICAgIGlmIChjb250ZW50LmNoYXJDb2RlQXQoMCkgPT09IDB4RkVGRikge1xyXG4gICAgICAgICAgICBjb250ZW50ID0gY29udGVudC5zbGljZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldFRleHRBcmVhKCkge1xyXG4gICAgICAgIHJldHVybiAkKFwiLmNoYW5uZWxUZXh0QXJlYS0xTERiWUcgdGV4dGFyZWFcIik7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldEludGVybmFsSW5zdGFuY2Uobm9kZSkge1xyXG4gICAgICAgIHJldHVybiBub2RlW09iamVjdC5rZXlzKG5vZGUpLmZpbmQoayA9PiBrLnN0YXJ0c1dpdGgoXCJfX3JlYWN0SW50ZXJuYWxJbnN0YW5jZVwiKSldIHx8IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluc2VydFRleHQodGV4dGFyZWEsIHRleHQpIHtcclxuICAgICAgICB0ZXh0YXJlYS5mb2N1cygpO1xyXG4gICAgICAgIHRleHRhcmVhLnNlbGVjdGlvblN0YXJ0ID0gMDtcclxuICAgICAgICB0ZXh0YXJlYS5zZWxlY3Rpb25FbmQgPSB0ZXh0YXJlYS52YWx1ZS5sZW5ndGg7XHJcbiAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoXCJpbnNlcnRUZXh0XCIsIGZhbHNlLCB0ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgaW5qZWN0Q3NzKHVyaSkge1xyXG4gICAgICAgICQoXCI8bGluay8+XCIsIHtcclxuICAgICAgICAgICAgdHlwZTogXCJ0ZXh0L2Nzc1wiLFxyXG4gICAgICAgICAgICByZWw6IFwic3R5bGVzaGVldFwiLFxyXG4gICAgICAgICAgICBocmVmOiB1cmlcclxuICAgICAgICB9KS5hcHBlbmRUbygkKFwiaGVhZFwiKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGluamVjdEpzKHVyaSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcclxuICAgICAgICAgICAgJChcIjxzY3JpcHQvPlwiLCB7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBcInRleHQvamF2YXNjcmlwdFwiLFxyXG4gICAgICAgICAgICAgICAgc3JjOiB1cmksXHJcbiAgICAgICAgICAgICAgICBvbmxvYWQ6IHJlc29sdmVcclxuICAgICAgICAgICAgfSkuYXBwZW5kVG8oJChcImJvZHlcIikpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBlc2NhcGVJRChpZCkge1xyXG4gICAgICAgIHJldHVybiBpZC5yZXBsYWNlKC9eW15hLXpdK3xbXlxcdy1dKy9naSwgXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGxvZyhtb2R1bGVOYW1lLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYCVjW0JhbmRhZ2VkQkRdJWMgWyR7bW9kdWxlTmFtZX1dJWMgJHttZXNzYWdlfWAsIFwiY29sb3I6ICMzYTcxYzE7IGZvbnQtd2VpZ2h0OiA3MDA7XCIsIFwiY29sb3I6ICMzYTcxYzE7XCIsIFwiXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB3YXJuKG1vZHVsZU5hbWUsIG1lc3NhZ2UpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oYCVjW0JhbmRhZ2VkQkRdJWMgWyR7bW9kdWxlTmFtZX1dJWMgJHttZXNzYWdlfWAsIFwiY29sb3I6ICNFOEE0MDA7IGZvbnQtd2VpZ2h0OiA3MDA7XCIsIFwiY29sb3I6ICNFOEE0MDA7XCIsIFwiXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBlcnIobW9kdWxlTmFtZSwgbWVzc2FnZSwgZXJyb3IpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgJWNbQmFuZGFnZWRCRF0lYyBbJHttb2R1bGVOYW1lfV0lYyAke21lc3NhZ2V9YCwgXCJjb2xvcjogcmVkOyBmb250LXdlaWdodDogNzAwO1wiLCBcImNvbG9yOiByZWQ7XCIsIFwiXCIpO1xyXG4gICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmdyb3VwQ29sbGFwc2VkKFwiJWNFcnJvcjogXCIgKyBlcnJvci5tZXNzYWdlLCBcImNvbG9yOiByZWQ7XCIpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yLnN0YWNrKTtcclxuICAgICAgICAgICAgY29uc29sZS5ncm91cEVuZCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZXNjYXBlKHMpIHtcclxuICAgICAgICByZXR1cm4gcy5yZXBsYWNlKC9bLS9cXFxcXiQqKz8uKCl8W1xcXXt9XS9nLCBcIlxcXFwkJlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdGVzdEpTT04oZGF0YSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIEpTT04ucGFyc2UoZGF0YSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHN1cHByZXNzRXJyb3JzKG1ldGhvZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHJldHVybiAoLi4ucGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7IHJldHVybiBtZXRob2QoLi4ucGFyYW1zKTtcdH1cclxuICAgICAgICAgICAgY2F0Y2ggKGUpIHsgdGhpcy5lcnIoXCJTdXBwcmVzc2VkRXJyb3JcIiwgXCJFcnJvciBvY2N1cnJlZCBpbiBcIiArIG1lc3NhZ2UsIGUpOyB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgbW9ua2V5UGF0Y2god2hhdCwgbWV0aG9kTmFtZSwgb3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IHtiZWZvcmUsIGFmdGVyLCBpbnN0ZWFkLCBvbmNlID0gZmFsc2UsIHNpbGVudCA9IGZhbHNlLCBmb3JjZSA9IGZhbHNlfSA9IG9wdGlvbnM7XHJcbiAgICAgICAgY29uc3QgZGlzcGxheU5hbWUgPSBvcHRpb25zLmRpc3BsYXlOYW1lIHx8IHdoYXQuZGlzcGxheU5hbWUgfHwgd2hhdC5uYW1lIHx8IHdoYXQuY29uc3RydWN0b3IuZGlzcGxheU5hbWUgfHwgd2hhdC5jb25zdHJ1Y3Rvci5uYW1lO1xyXG4gICAgICAgIGlmICghc2lsZW50KSBjb25zb2xlLmxvZyhcInBhdGNoXCIsIG1ldGhvZE5hbWUsIFwib2ZcIiwgZGlzcGxheU5hbWUpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcclxuICAgICAgICBpZiAoIXdoYXRbbWV0aG9kTmFtZV0pIHtcclxuICAgICAgICAgICAgaWYgKGZvcmNlKSB3aGF0W21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7fTtcclxuICAgICAgICAgICAgZWxzZSByZXR1cm4gY29uc29sZS5lcnJvcihtZXRob2ROYW1lLCBcImRvZXMgbm90IGV4aXN0IGZvclwiLCBkaXNwbGF5TmFtZSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcmlnTWV0aG9kID0gd2hhdFttZXRob2ROYW1lXTtcclxuICAgICAgICBjb25zdCBjYW5jZWwgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghc2lsZW50KSBjb25zb2xlLmxvZyhcInVucGF0Y2hcIiwgbWV0aG9kTmFtZSwgXCJvZlwiLCBkaXNwbGF5TmFtZSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxyXG4gICAgICAgICAgICB3aGF0W21ldGhvZE5hbWVdID0gb3JpZ01ldGhvZDtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHdoYXRbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgICAgICAgICAgIHRoaXNPYmplY3Q6IHRoaXMsXHJcbiAgICAgICAgICAgICAgICBtZXRob2RBcmd1bWVudHM6IGFyZ3VtZW50cyxcclxuICAgICAgICAgICAgICAgIGNhbmNlbFBhdGNoOiBjYW5jZWwsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5hbE1ldGhvZDogb3JpZ01ldGhvZCxcclxuICAgICAgICAgICAgICAgIGNhbGxPcmlnaW5hbE1ldGhvZDogKCkgPT4gZGF0YS5yZXR1cm5WYWx1ZSA9IGRhdGEub3JpZ2luYWxNZXRob2QuYXBwbHkoZGF0YS50aGlzT2JqZWN0LCBkYXRhLm1ldGhvZEFyZ3VtZW50cylcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgaWYgKGluc3RlYWQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBSZXQgPSBVdGlsaXRpZXMuc3VwcHJlc3NFcnJvcnMoaW5zdGVhZCwgXCJgaW5zdGVhZGAgY2FsbGJhY2sgb2YgXCIgKyB3aGF0W21ldGhvZE5hbWVdLmRpc3BsYXlOYW1lKShkYXRhKTtcclxuICAgICAgICAgICAgICAgIGlmICh0ZW1wUmV0ICE9PSB1bmRlZmluZWQpIGRhdGEucmV0dXJuVmFsdWUgPSB0ZW1wUmV0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKGJlZm9yZSkgVXRpbGl0aWVzLnN1cHByZXNzRXJyb3JzKGJlZm9yZSwgXCJgYmVmb3JlYCBjYWxsYmFjayBvZiBcIiArIHdoYXRbbWV0aG9kTmFtZV0uZGlzcGxheU5hbWUpKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5jYWxsT3JpZ2luYWxNZXRob2QoKTtcclxuICAgICAgICAgICAgICAgIGlmIChhZnRlcikgVXRpbGl0aWVzLnN1cHByZXNzRXJyb3JzKGFmdGVyLCBcImBhZnRlcmAgY2FsbGJhY2sgb2YgXCIgKyB3aGF0W21ldGhvZE5hbWVdLmRpc3BsYXlOYW1lKShkYXRhKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAob25jZSkgY2FuY2VsKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJldHVyblZhbHVlO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgd2hhdFttZXRob2ROYW1lXS5fX21vbmtleVBhdGNoZWQgPSB0cnVlO1xyXG4gICAgICAgIGlmICghd2hhdFttZXRob2ROYW1lXS5fX29yaWdpbmFsTWV0aG9kKSB3aGF0W21ldGhvZE5hbWVdLl9fb3JpZ2luYWxNZXRob2QgPSBvcmlnTWV0aG9kO1xyXG4gICAgICAgIHdoYXRbbWV0aG9kTmFtZV0uZGlzcGxheU5hbWUgPSBcInBhdGNoZWQgXCIgKyAod2hhdFttZXRob2ROYW1lXS5kaXNwbGF5TmFtZSB8fCBtZXRob2ROYW1lKTtcclxuICAgICAgICByZXR1cm4gY2FuY2VsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBvblJlbW92ZWQobm9kZSwgY2FsbGJhY2spIHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgZm9yIChsZXQgbSA9IDA7IG0gPCBtdXRhdGlvbnMubGVuZ3RoOyBtKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG11dGF0aW9uID0gbXV0YXRpb25zW21dO1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZXMgPSBBcnJheS5mcm9tKG11dGF0aW9uLnJlbW92ZWROb2Rlcyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBkaXJlY3RNYXRjaCA9IG5vZGVzLmluZGV4T2Yobm9kZSkgPiAtMTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE1hdGNoID0gbm9kZXMuc29tZShwYXJlbnQgPT4gcGFyZW50LmNvbnRhaW5zKG5vZGUpKTtcclxuICAgICAgICAgICAgICAgIGlmIChkaXJlY3RNYXRjaCB8fCBwYXJlbnRNYXRjaCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge3N1YnRyZWU6IHRydWUsIGNoaWxkTGlzdDogdHJ1ZX0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc0VtcHR5KG9iaikge1xyXG4gICAgICAgIGlmIChvYmogPT0gbnVsbCB8fCBvYmogPT0gdW5kZWZpbmVkIHx8IG9iaiA9PSBcIlwiKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICBpZiAodHlwZW9mKG9iaikgIT09IFwib2JqZWN0XCIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSByZXR1cm4gb2JqLmxlbmd0aCA9PSAwO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZW5lcmF0ZXMgYW4gYXV0b21hdGljYWxseSBtZW1vaXppbmcgdmVyc2lvbiBvZiBhbiBvYmplY3QuXHJcbiAgICAgKiBAYXV0aG9yIFplcmVib3NcclxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgLSBvYmplY3QgdG8gbWVtb2l6ZVxyXG4gICAgICogQHJldHVybnMge1Byb3h5fSB0aGUgcHJveHkgdG8gdGhlIG9iamVjdCB0aGF0IG1lbW9pemVzIHByb3BlcnRpZXNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIG1lbW9pemVPYmplY3Qob2JqZWN0KSB7XHJcbiAgICAgICAgY29uc3QgcHJveHkgPSBuZXcgUHJveHkob2JqZWN0LCB7XHJcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24ob2JqLCBtb2QpIHtcclxuICAgICAgICAgICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KG1vZCkpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG1vZCkuZ2V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpbbW9kXTtcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgb2JqW21vZF07XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqW21vZF0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBvYmpbbW9kXTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2V0OiBmdW5jdGlvbihvYmosIG1vZCwgdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkobW9kKSkgcmV0dXJuIHRoaXMuZXJyKFwiTWVtb2l6ZWRPYmplY3RcIiwgXCJUcnlpbmcgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIHByb3BlcnR5XCIpO1xyXG4gICAgICAgICAgICAgICAgb2JqW21vZF0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvYmpbbW9kXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJveHksIFwiaGFzT3duUHJvcGVydHlcIiwge3ZhbHVlOiBmdW5jdGlvbihwcm9wKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzW3Byb3BdICE9PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfX0pO1xyXG5cclxuICAgICAgICByZXR1cm4gcHJveHk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBCdWlsZHMgYSBjbGFzc25hbWUgc3RyaW5nIGZyb20gYW55IG51bWJlciBvZiBhcmd1bWVudHMuIFRoaXMgaW5jbHVkZXMgYXJyYXlzIGFuZCBvYmplY3RzLlxyXG4gICAgICogV2hlbiBnaXZlbiBhbiBhcnJheSBhbGwgdmFsdWVzIGZyb20gdGhlIGFycmF5IGFyZSBhZGRlZCB0byB0aGUgbGlzdC5cclxuICAgICAqIFdoZW4gZ2l2ZW4gYW4gb2JqZWN0IHRoZXkga2V5cyBhcmUgYWRkZWQgYXMgdGhlIGNsYXNzbmFtZXMgaWYgdGhlIHZhbHVlIGlzIHRydXRoeS5cclxuICAgICAqIENvcHlyaWdodCAoYykgMjAxOCBKZWQgV2F0c29uIGh0dHBzOi8vZ2l0aHViLmNvbS9KZWRXYXRzb24vY2xhc3NuYW1lcyBNSVQgTGljZW5zZVxyXG4gICAgICogQHBhcmFtIHsuLi5Bbnl9IGFyZ3VtZW50IC0gYW55dGhpbmcgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBhZGQgY2xhc3NuYW1lcy5cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGNsYXNzTmFtZSgpIHtcclxuICAgICAgICBjb25zdCBjbGFzc2VzID0gW107XHJcbiAgICAgICAgY29uc3QgaGFzT3duID0ge30uaGFzT3duUHJvcGVydHk7XHJcblxyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0Y29uc3QgYXJnID0gYXJndW1lbnRzW2ldO1xyXG5cdFx0XHRpZiAoIWFyZykgY29udGludWU7XHJcblxyXG5cdFx0XHRjb25zdCBhcmdUeXBlID0gdHlwZW9mIGFyZztcclxuXHJcblx0XHRcdGlmIChhcmdUeXBlID09PSBcInN0cmluZ1wiIHx8IGFyZ1R5cGUgPT09IFwibnVtYmVyXCIpIHtcclxuXHRcdFx0XHRjbGFzc2VzLnB1c2goYXJnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFyZykgJiYgYXJnLmxlbmd0aCkge1xyXG5cdFx0XHRcdGNvbnN0IGlubmVyID0gdGhpcy5jbGFzc05hbWVzLmFwcGx5KG51bGwsIGFyZyk7XHJcblx0XHRcdFx0aWYgKGlubmVyKSB7XHJcblx0XHRcdFx0XHRjbGFzc2VzLnB1c2goaW5uZXIpO1xyXG5cdFx0XHRcdH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChhcmdUeXBlID09PSBcIm9iamVjdFwiKSB7XHJcblx0XHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gYXJnKSB7XHJcblx0XHRcdFx0XHRpZiAoaGFzT3duLmNhbGwoYXJnLCBrZXkpICYmIGFyZ1trZXldKSB7XHJcblx0XHRcdFx0XHRcdGNsYXNzZXMucHVzaChrZXkpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBjbGFzc2VzLmpvaW4oXCIgXCIpO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/modules/utilities.js\n");
/***/ }),
/***/ "./src/modules/webpackmodules.js":
/*!***************************************!*\
!*** ./src/modules/webpackmodules.js ***!
\***************************************/
/*! exports provided: DiscordModules, Filters, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DiscordModules\", function() { return DiscordModules; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Filters\", function() { return Filters; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return WebpackModules; });\n/* harmony import */ var _utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utilities */ \"./src/modules/utilities.js\");\n/**\r\n * Allows for grabbing and searching through Discord's webpacked modules.\r\n * @module WebpackModules\r\n * @version 0.0.2\r\n */\n\nconst DiscordModules = _utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].memoizeObject({\n get React() {\n return WebpackModules.getByProps(\"createElement\", \"cloneElement\");\n },\n\n get ReactDOM() {\n return WebpackModules.getByProps(\"render\", \"findDOMNode\");\n },\n\n get Flux() {\n return WebpackModules.getByProps(\"connectStores\");\n },\n\n get Events() {\n return WebpackModules.getByPrototypes(\"setMaxListeners\", \"emit\");\n },\n\n /* Guild Info, Stores, and Utilities */\n get GuildStore() {\n return WebpackModules.getByProps(\"getGuild\");\n },\n\n get SortedGuildStore() {\n return WebpackModules.getByProps(\"getSortedGuilds\");\n },\n\n get SelectedGuildStore() {\n return WebpackModules.getByProps(\"getLastSelectedGuildId\");\n },\n\n get GuildSync() {\n return WebpackModules.getByProps(\"getSyncedGuilds\");\n },\n\n get GuildInfo() {\n return WebpackModules.getByProps(\"getAcronym\");\n },\n\n get GuildChannelsStore() {\n return WebpackModules.getByProps(\"getChannels\", \"getDefaultChannel\");\n },\n\n get GuildMemberStore() {\n return WebpackModules.getByProps(\"getMember\");\n },\n\n get MemberCountStore() {\n return WebpackModules.getByProps(\"getMemberCounts\");\n },\n\n get GuildEmojiStore() {\n return WebpackModules.getByProps(\"getEmojis\");\n },\n\n get GuildActions() {\n return WebpackModules.getByProps(\"markGuildAsRead\");\n },\n\n get GuildPermissions() {\n return WebpackModules.getByProps(\"getGuildPermissions\");\n },\n\n /* Channel Store & Actions */\n get ChannelStore() {\n return WebpackModules.getByProps(\"getChannels\", \"getDMFromUserId\");\n },\n\n get SelectedChannelStore() {\n return WebpackModules.getByProps(\"getLastSelectedChannelId\");\n },\n\n get ChannelActions() {\n return WebpackModules.getByProps(\"selectChannel\");\n },\n\n get PrivateChannelActions() {\n return WebpackModules.getByProps(\"openPrivateChannel\");\n },\n\n get ChannelSelector() {\n return WebpackModules.getByProps(\"selectGuild\", \"selectChannel\");\n },\n\n /* Current User Info, State and Settings */\n get UserInfoStore() {\n return WebpackModules.getByProps(\"getToken\");\n },\n\n get UserSettingsStore() {\n return WebpackModules.getByProps(\"guildPositions\");\n },\n\n get AccountManager() {\n return WebpackModules.getByProps(\"register\", \"login\");\n },\n\n get UserSettingsUpdater() {\n return WebpackModules.getByProps(\"updateRemoteSettings\");\n },\n\n get OnlineWatcher() {\n return WebpackModules.getByProps(\"isOnline\");\n },\n\n get CurrentUserIdle() {\n return WebpackModules.getByProps(\"getIdleTime\");\n },\n\n get RelationshipStore() {\n return WebpackModules.getByProps(\"isBlocked\", \"getFriendIDs\");\n },\n\n get RelationshipManager() {\n return WebpackModules.getByProps(\"addRelationship\");\n },\n\n get MentionStore() {\n return WebpackModules.getByProps(\"getMentions\");\n },\n\n /* User Stores and Utils */\n get UserStore() {\n return WebpackModules.getByProps(\"getCurrentUser\");\n },\n\n get UserStatusStore() {\n return WebpackModules.getByProps(\"getStatus\", \"getState\");\n },\n\n get UserTypingStore() {\n return WebpackModules.getByProps(\"isTyping\");\n },\n\n get UserActivityStore() {\n return WebpackModules.getByProps(\"getActivity\");\n },\n\n get UserNameResolver() {\n return WebpackModules.getByProps(\"getName\");\n },\n\n get UserNoteStore() {\n return WebpackModules.getByProps(\"getNote\");\n },\n\n get UserNoteActions() {\n return WebpackModules.getByProps(\"updateNote\");\n },\n\n /* Emoji Store and Utils */\n get EmojiInfo() {\n return WebpackModules.getByProps(\"isEmojiDisabled\");\n },\n\n get EmojiUtils() {\n return WebpackModules.getByProps(\"getGuildEmoji\");\n },\n\n get EmojiStore() {\n return WebpackModules.getByProps(\"getByCategory\", \"EMOJI_NAME_RE\");\n },\n\n /* Invite Store and Utils */\n get InviteStore() {\n return WebpackModules.getByProps(\"getInvites\");\n },\n\n get InviteResolver() {\n return WebpackModules.getByProps(\"findInvite\");\n },\n\n get InviteActions() {\n return WebpackModules.getByProps(\"acceptInvite\");\n },\n\n /* Discord Objects & Utils */\n get DiscordConstants() {\n return WebpackModules.getByProps(\"Permissions\", \"ActivityTypes\", \"StatusTypes\");\n },\n\n get DiscordPermissions() {\n return WebpackModules.getByProps(\"Permissions\", \"ActivityTypes\", \"StatusTypes\").Permissions;\n },\n\n get PermissionUtils() {\n return WebpackModules.getByProps(\"getHighestRole\");\n },\n\n get ColorConverter() {\n return WebpackModules.getByProps(\"hex2int\");\n },\n\n get ColorShader() {\n return WebpackModules.getByProps(\"darken\");\n },\n\n get TinyColor() {\n return WebpackModules.getByPrototypes(\"toRgb\");\n },\n\n get ClassResolver() {\n return WebpackModules.getByProps(\"getClass\");\n },\n\n get ButtonData() {\n return WebpackModules.getByProps(\"ButtonSizes\");\n },\n\n get IconNames() {\n return WebpackModules.getByProps(\"IconNames\");\n },\n\n get NavigationUtils() {\n return WebpackModules.getByProps(\"transitionTo\", \"replaceWith\", \"getHistory\");\n },\n\n /* Discord Messages */\n get MessageStore() {\n return WebpackModules.getByProps(\"getMessages\");\n },\n\n get MessageActions() {\n return WebpackModules.getByProps(\"jumpToMessage\", \"_sendMessage\");\n },\n\n get MessageQueue() {\n return WebpackModules.getByProps(\"enqueue\");\n },\n\n get MessageParser() {\n return WebpackModules.getByProps(\"createMessage\", \"parse\", \"unparse\");\n },\n\n /* Text Processing */\n get hljs() {\n return WebpackModules.getByProps(\"highlight\", \"highlightBlock\");\n },\n\n get SimpleMarkdown() {\n return WebpackModules.getByProps(\"parseBlock\", \"parseInline\", \"defaultOutput\");\n },\n\n /* Experiments */\n get ExperimentStore() {\n return WebpackModules.getByProps(\"getExperimentOverrides\");\n },\n\n get ExperimentsManager() {\n return WebpackModules.getByProps(\"isDeveloper\");\n },\n\n get CurrentExperiment() {\n return WebpackModules.getByProps(\"getExperimentId\");\n },\n\n /* Images, Avatars and Utils */\n get ImageResolver() {\n return WebpackModules.getByProps(\"getUserAvatarURL\", \"getGuildIconURL\");\n },\n\n get ImageUtils() {\n return WebpackModules.getByProps(\"getSizedImageSrc\");\n },\n\n get AvatarDefaults() {\n return WebpackModules.getByProps(\"getUserAvatarURL\", \"DEFAULT_AVATARS\");\n },\n\n /* Window, DOM, HTML */\n get WindowInfo() {\n return WebpackModules.getByProps(\"isFocused\", \"windowSize\");\n },\n\n get TagInfo() {\n return WebpackModules.getByProps(\"VALID_TAG_NAMES\");\n },\n\n get DOMInfo() {\n return WebpackModules.getByProps(\"canUseDOM\");\n },\n\n /* Locale/Location and Time */\n get LocaleManager() {\n return WebpackModules.getByProps(\"setLocale\");\n },\n\n get Moment() {\n return WebpackModules.getByProps(\"parseZone\");\n },\n\n get LocationManager() {\n return WebpackModules.getByProps(\"createLocation\");\n },\n\n get Timestamps() {\n return WebpackModules.getByProps(\"fromTimestamp\");\n },\n\n get TimeFormatter() {\n return WebpackModules.getByProps(\"dateFormat\");\n },\n\n /* Strings and Utils */\n get Strings() {\n return WebpackModules.getByProps(\"Messages\").Messages;\n },\n\n get StringFormats() {\n return WebpackModules.getByProps(\"a\", \"z\");\n },\n\n get StringUtils() {\n return WebpackModules.getByProps(\"toASCII\");\n },\n\n /* URLs and Utils */\n get URLParser() {\n return WebpackModules.getByProps(\"Url\", \"parse\");\n },\n\n get ExtraURLs() {\n return WebpackModules.getByProps(\"getArticleURL\");\n },\n\n /* Drag & Drop */\n get DNDActions() {\n return WebpackModules.getByProps(\"beginDrag\");\n },\n\n get DNDSources() {\n return WebpackModules.getByProps(\"addTarget\");\n },\n\n get DNDObjects() {\n return WebpackModules.getByProps(\"DragSource\");\n },\n\n /* Media Stuff (Audio/Video) */\n get MediaDeviceInfo() {\n return WebpackModules.getByProps(\"Codecs\", \"SUPPORTED_BROWSERS\");\n },\n\n get MediaInfo() {\n return WebpackModules.getByProps(\"getOutputVolume\");\n },\n\n get MediaEngineInfo() {\n return WebpackModules.getByProps(\"MediaEngineFeatures\");\n },\n\n get VoiceInfo() {\n return WebpackModules.getByProps(\"EchoCancellation\");\n },\n\n get VideoStream() {\n return WebpackModules.getByProps(\"getVideoStream\");\n },\n\n get SoundModule() {\n return WebpackModules.getByProps(\"playSound\");\n },\n\n /* Electron & Other Internals with Utils*/\n get ElectronModule() {\n return WebpackModules.getByProps(\"setBadge\");\n },\n\n get Dispatcher() {\n return WebpackModules.getByProps(\"dirtyDispatch\");\n },\n\n get PathUtils() {\n return WebpackModules.getByProps(\"hasBasename\");\n },\n\n get NotificationModule() {\n return WebpackModules.getByProps(\"showNotification\");\n },\n\n get RouterModule() {\n return WebpackModules.getByProps(\"Router\");\n },\n\n get APIModule() {\n return WebpackModules.getByProps(\"getAPIBaseURL\");\n },\n\n get AnalyticEvents() {\n return WebpackModules.getByProps(\"AnalyticEventConfigs\");\n },\n\n get KeyGenerator() {\n return WebpackModules.getByRegex(/\"binary\"/);\n },\n\n get Buffers() {\n return WebpackModules.getByProps(\"Buffer\", \"kMaxLength\");\n },\n\n get DeviceStore() {\n return WebpackModules.getByProps(\"getDevices\");\n },\n\n get SoftwareInfo() {\n return WebpackModules.getByProps(\"os\");\n },\n\n get CurrentContext() {\n return WebpackModules.getByProps(\"setTagsContext\");\n }\n\n});\n\n/**\r\n * Checks if a given module matches a set of parameters.\r\n * @callback module:WebpackModules.Filters~filter\r\n * @param {*} module - module to check\r\n * @returns {boolean} - True if the module matches the filter, false otherwise\r\n */\n\n/**\r\n * Filters for use with {@link module:WebpackModules} but may prove useful elsewhere.\r\n */\n\nclass Filters {\n /**\r\n * Generates a {@link module:WebpackModules.Filters~filter} that filters by a set of properties.\r\n * @param {Array<string>} props - Array of property names\r\n * @param {module:WebpackModules.Filters~filter} filter - Additional filter\r\n * @returns {module:WebpackModules.Filters~filter} - A filter that checks for a set of properties\r\n */\n static byProperties(props, filter = m => m) {\n return module => {\n const component = filter(module);\n if (!component) return false;\n return props.every(property => component[property] !== undefined);\n };\n }\n /**\r\n * Generates a {@link module:WebpackModules.Filters~filter} that filters by a set of properties on the object's prototype.\r\n * @param {Array<string>} fields - Array of property names\r\n * @param {module:WebpackModules.Filters~filter} filter - Additional filter\r\n * @returns {module:WebpackModules.Filters~filter} - A filter that checks for a set of properties on the object's prototype\r\n */\n\n\n static byPrototypeFields(fields, filter = m => m) {\n return module => {\n const component = filter(module);\n if (!component) return false;\n if (!component.prototype) return false;\n return fields.every(field => component.prototype[field] !== undefined);\n };\n }\n /**\r\n * Generates a {@link module:WebpackModules.Filters~filter} that filters by a regex.\r\n * @param {RegExp} search - A RegExp to check on the module\r\n * @param {module:WebpackModules.Filters~filter} filter - Additional filter\r\n * @returns {module:WebpackModules.Filters~filter} - A filter that checks for a set of properties\r\n */\n\n\n static byCode(search, filter = m => m) {\n return module => {\n const method = filter(module);\n if (!method) return false;\n return method.toString([]).search(search) !== -1;\n };\n }\n /**\r\n * Generates a {@link module:WebpackModules.Filters~filter} that filters by strings.\r\n * @param {...String} search - A RegExp to check on the module\r\n * @returns {module:WebpackModules.Filters~filter} - A filter that checks for a set of strings\r\n */\n\n\n static byString(...strings) {\n return module => {\n const moduleString = module.toString([]);\n\n for (const s of strings) {\n if (!moduleString.includes(s)) return false;\n }\n\n return true;\n };\n }\n /**\r\n * Generates a {@link module:WebpackModules.Filters~filter} that filters by a set of properties.\r\n * @param {string} name - Name the module should have\r\n * @param {module:WebpackModules.Filters~filter} filter - Additional filter\r\n * @returns {module:WebpackModules.Filters~filter} - A filter that checks for a set of properties\r\n */\n\n\n static byDisplayName(name) {\n return module => {\n return module && module.displayName === name;\n };\n }\n /**\r\n * Generates a combined {@link module:WebpackModules.Filters~filter} from a list of filters.\r\n * @param {...module:WebpackModules.Filters~filter} filters - A list of filters\r\n * @returns {module:WebpackModules.Filters~filter} - Combinatory filter of all arguments\r\n */\n\n\n static combine(...filters) {\n return module => {\n return filters.every(filter => filter(module));\n };\n }\n\n}\nclass WebpackModules {\n static find(filter, first = true) {\n return this.getModule(filter, first);\n }\n\n static findAll(filter) {\n return this.getModule(filter, false);\n }\n\n static findByUniqueProperties(props, first = true) {\n return first ? this.getByProps(...props) : this.getAllByProps(...props);\n }\n\n static findByDisplayName(name) {\n return this.getByDisplayName(name);\n }\n /**\r\n * Finds a module using a filter function.\r\n * @param {Function} filter A function to use to filter modules\r\n * @param {Boolean} first Whether to return only the first matching module\r\n * @return {Any}\r\n */\n\n\n static getModule(filter, first = true) {\n const modules = this.getAllModules();\n const rm = [];\n\n for (const index in modules) {\n if (!modules.hasOwnProperty(index)) continue;\n const module = modules[index];\n const {\n exports\n } = module;\n let foundModule = null;\n if (!exports) continue;\n if (exports.__esModule && exports.default && filter(exports.default)) foundModule = exports.default;\n if (filter(exports)) foundModule = exports;\n if (!foundModule) continue;\n if (first) return foundModule;\n rm.push(foundModule);\n }\n\n return first || rm.length == 0 ? undefined : rm;\n }\n /**\r\n * Finds all modules matching a filter function.\r\n * @param {Function} filter A function to use to filter modules\r\n */\n\n\n static getModules(filter) {\n return this.getModule(filter, false);\n }\n /**\r\n * Finds a module by its name.\r\n * @param {String} name The name of the module\r\n * @param {Function} fallback A function to use to filter modules if not finding a known module\r\n * @return {Any}\r\n */\n\n\n static getModuleByName(name, fallback) {\n if (DiscordModules.hasOwnProperty(name)) return DiscordModules[name];\n if (!fallback) return undefined;\n const module = this.getModule(fallback, true);\n return module ? DiscordModules[name] = module : undefined;\n }\n /**\r\n * Finds a module by its display name.\r\n * @param {String} name The display name of the module\r\n * @return {Any}\r\n */\n\n\n static getByDisplayName(name) {\n return this.getModule(Filters.byDisplayName(name), true);\n }\n /**\r\n * Finds a module using its code.\r\n * @param {RegEx} regex A regular expression to use to filter modules\r\n * @param {Boolean} first Whether to return the only the first matching module\r\n * @return {Any}\r\n */\n\n\n static getByRegex(regex, first = true) {\n return this.getModule(Filters.byCode(regex), first);\n }\n /**\r\n * Finds a single module using properties on its prototype.\r\n * @param {...string} prototypes Properties to use to filter modules\r\n * @return {Any}\r\n */\n\n\n static getByPrototypes(...prototypes) {\n return this.getModule(Filters.byPrototypeFields(prototypes), true);\n }\n /**\r\n * Finds all modules with a set of properties of its prototype.\r\n * @param {...string} prototypes Properties to use to filter modules\r\n * @return {Any}\r\n */\n\n\n static getAllByPrototypes(...prototypes) {\n return this.getModule(Filters.byPrototypeFields(prototypes), false);\n }\n /**\r\n * Finds a single module using its own properties.\r\n * @param {...string} props Properties to use to filter modules\r\n * @return {Any}\r\n */\n\n\n static getByProps(...props) {\n return this.getModule(Filters.byProperties(props), true);\n }\n /**\r\n * Finds all modules with a set of properties.\r\n * @param {...string} props Properties to use to filter modules\r\n * @return {Any}\r\n */\n\n\n static getAllByProps(...props) {\n return this.getModule(Filters.byProperties(props), false);\n }\n /**\r\n * Finds a single module using a set of strings.\r\n * @param {...String} props Strings to use to filter modules\r\n * @return {Any}\r\n */\n\n\n static getByString(...strings) {\n return this.getModule(Filters.byString(...strings), true);\n }\n /**\r\n * Finds all modules with a set of strings.\r\n * @param {...String} strings Strings to use to filter modules\r\n * @return {Any}\r\n */\n\n\n static getAllByString(...strings) {\n return this.getModule(Filters.byString(...strings), false);\n }\n /**\r\n * Discord's __webpack_require__ function.\r\n */\n\n\n static get require() {\n if (this._require) return this._require;\n const id = \"bbd-webpackmodules\";\n\n const __webpack_require__ = typeof window.webpackJsonp == \"function\" ? window.webpackJsonp([], {\n [id]: (module, exports, __webpack_require__) => exports.default = __webpack_require__\n }, [id]).default : window.webpackJsonp.push([[], {\n [id]: (module, exports, __webpack_require__) => module.exports = __webpack_require__\n }, [[id]]]);\n\n delete __webpack_require__.m[id];\n delete __webpack_require__.c[id];\n return this._require = __webpack_require__;\n }\n /**\r\n * Returns all loaded modules.\r\n * @return {Array}\r\n */\n\n\n static getAllModules() {\n return this.require.c;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL21vZHVsZXMvd2VicGFja21vZHVsZXMuanM/OWIyNyJdLCJuYW1lcyI6WyJEaXNjb3JkTW9kdWxlcyIsIlV0aWxpdGllcyIsIm1lbW9pemVPYmplY3QiLCJSZWFjdCIsIldlYnBhY2tNb2R1bGVzIiwiZ2V0QnlQcm9wcyIsIlJlYWN0RE9NIiwiRmx1eCIsIkV2ZW50cyIsImdldEJ5UHJvdG90eXBlcyIsIkd1aWxkU3RvcmUiLCJTb3J0ZWRHdWlsZFN0b3JlIiwiU2VsZWN0ZWRHdWlsZFN0b3JlIiwiR3VpbGRTeW5jIiwiR3VpbGRJbmZvIiwiR3VpbGRDaGFubmVsc1N0b3JlIiwiR3VpbGRNZW1iZXJTdG9yZSIsIk1lbWJlckNvdW50U3RvcmUiLCJHdWlsZEVtb2ppU3RvcmUiLCJHdWlsZEFjdGlvbnMiLCJHdWlsZFBlcm1pc3Npb25zIiwiQ2hhbm5lbFN0b3JlIiwiU2VsZWN0ZWRDaGFubmVsU3RvcmUiLCJDaGFubmVsQWN0aW9ucyIsIlByaXZhdGVDaGFubmVsQWN0aW9ucyIsIkNoYW5uZWxTZWxlY3RvciIsIlVzZXJJbmZvU3RvcmUiLCJVc2VyU2V0dGluZ3NTdG9yZSIsIkFjY291bnRNYW5hZ2VyIiwiVXNlclNldHRpbmdzVXBkYXRlciIsIk9ubGluZVdhdGNoZXIiLCJDdXJyZW50VXNlcklkbGUiLCJSZWxhdGlvbnNoaXBTdG9yZSIsIlJlbGF0aW9uc2hpcE1hbmFnZXIiLCJNZW50aW9uU3RvcmUiLCJVc2VyU3RvcmUiLCJVc2VyU3RhdHVzU3RvcmUiLCJVc2VyVHlwaW5nU3RvcmUiLCJVc2VyQWN0aXZpdHlTdG9yZSIsIlVzZXJOYW1lUmVzb2x2ZXIiLCJVc2VyTm90ZVN0b3JlIiwiVXNlck5vdGVBY3Rpb25zIiwiRW1vamlJbmZvIiwiRW1vamlVdGlscyIsIkVtb2ppU3RvcmUiLCJJbnZpdGVTdG9yZSIsIkludml0ZVJlc29sdmVyIiwiSW52aXRlQWN0aW9ucyIsIkRpc2NvcmRDb25zdGFudHMiLCJEaXNjb3JkUGVybWlzc2lvbnMiLCJQZXJtaXNzaW9ucyIsIlBlcm1pc3Npb25VdGlscyIsIkNvbG9yQ29udmVydGVyIiwiQ29sb3JTaGFkZXIiLCJUaW55Q29sb3IiLCJDbGFzc1Jlc29sdmVyIiwiQnV0dG9uRGF0YSIsIkljb25OYW1lcyIsIk5hdmlnYXRpb25VdGlscyIsIk1lc3NhZ2VTdG9yZSIsIk1lc3NhZ2VBY3Rpb25zIiwiTWVzc2FnZVF1ZXVlIiwiTWVzc2FnZVBhcnNlciIsImhsanMiLCJTaW1wbGVNYXJrZG93biIsIkV4cGVyaW1lbnRTdG9yZSIsIkV4cGVyaW1lbnRzTWFuYWdlciIsIkN1cnJlbnRFeHBlcmltZW50IiwiSW1hZ2VSZXNvbHZlciIsIkltYWdlVXRpbHMiLCJBdmF0YXJEZWZhdWx0cyIsIldpbmRvd0luZm8iLCJUYWdJbmZvIiwiRE9NSW5mbyIsIkxvY2FsZU1hbmFnZXIiLCJNb21lbnQiLCJMb2NhdGlvbk1hbmFnZXIiLCJUaW1lc3RhbXBzIiwiVGltZUZvcm1hdHRlciIsIlN0cmluZ3MiLCJNZXNzYWdlcyIsIlN0cmluZ0Zvcm1hdHMiLCJTdHJpbmdVdGlscyIsIlVSTFBhcnNlciIsIkV4dHJhVVJMcyIsIkROREFjdGlvbnMiLCJETkRTb3VyY2VzIiwiRE5ET2JqZWN0cyIsIk1lZGlhRGV2aWNlSW5mbyIsIk1lZGlhSW5mbyIsIk1lZGlhRW5naW5lSW5mbyIsIlZvaWNlSW5mbyIsIlZpZGVvU3RyZWFtIiwiU291bmRNb2R1bGUiLCJFbGVjdHJvbk1vZHVsZSIsIkRpc3BhdGNoZXIiLCJQYXRoVXRpbHMiLCJOb3RpZmljYXRpb25Nb2R1bGUiLCJSb3V0ZXJNb2R1bGUiLCJBUElNb2R1bGUiLCJBbmFseXRpY0V2ZW50cyIsIktleUdlbmVyYXRvciIsImdldEJ5UmVnZXgiLCJCdWZmZXJzIiwiRGV2aWNlU3RvcmUiLCJTb2Z0d2FyZUluZm8iLCJDdXJyZW50Q29udGV4dCIsIkZpbHRlcnMiLCJieVByb3BlcnRpZXMiLCJwcm9wcyIsImZpbHRlciIsIm0iLCJtb2R1bGUiLCJjb21wb25lbnQiLCJldmVyeSIsInByb3BlcnR5IiwidW5kZWZpbmVkIiwiYnlQcm90b3R5cGVGaWVsZHMiLCJmaWVsZHMiLCJwcm90b3R5cGUiLCJmaWVsZCIsImJ5Q29kZSIsInNlYXJjaCIsIm1ldGhvZCIsInRvU3RyaW5nIiwiYnlTdHJpbmciLCJzdHJpbmdzIiwibW9kdWxlU3RyaW5nIiwicyIsImluY2x1ZGVzIiwiYnlEaXNwbGF5TmFtZSIsIm5hbWUiLCJkaXNwbGF5TmFtZSIsImNvbWJpbmUiLCJmaWx0ZXJzIiwiZmluZCIsImZpcnN0IiwiZ2V0TW9kdWxlIiwiZmluZEFsbCIsImZpbmRCeVVuaXF1ZVByb3BlcnRpZXMiLCJnZXRBbGxCeVByb3BzIiwiZmluZEJ5RGlzcGxheU5hbWUiLCJnZXRCeURpc3BsYXlOYW1lIiwibW9kdWxlcyIsImdldEFsbE1vZHVsZXMiLCJybSIsImluZGV4IiwiaGFzT3duUHJvcGVydHkiLCJleHBvcnRzIiwiZm91bmRNb2R1bGUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInB1c2giLCJsZW5ndGgiLCJnZXRNb2R1bGVzIiwiZ2V0TW9kdWxlQnlOYW1lIiwiZmFsbGJhY2siLCJyZWdleCIsInByb3RvdHlwZXMiLCJnZXRBbGxCeVByb3RvdHlwZXMiLCJnZXRCeVN0cmluZyIsImdldEFsbEJ5U3RyaW5nIiwicmVxdWlyZSIsIl9yZXF1aXJlIiwiaWQiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwid2luZG93Iiwid2VicGFja0pzb25wIiwiYyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7OztBQU1BO0FBRUEsTUFBTUEsY0FBYyxHQUFHQyxrREFBUyxDQUFDQyxhQUFWLENBQXdCO0FBQzNDLE1BQUlDLEtBQUosR0FBWTtBQUFDLFdBQU9DLGNBQWMsQ0FBQ0MsVUFBZixDQUEwQixlQUExQixFQUEyQyxjQUEzQyxDQUFQO0FBQW1FLEdBRHJDOztBQUUzQyxNQUFJQyxRQUFKLEdBQWU7QUFBQyxXQUFPRixjQUFjLENBQUNDLFVBQWYsQ0FBMEIs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cEIsQ0FBc0JKLEVBQXRCLENBQVA7QUFDQSxXQUFPLEtBQUtELFFBQUwsR0FBZ0JFLG1CQUF2QjtBQUNIO0FBRUQ7Ozs7OztBQUlBLFNBQU9yQixhQUFQLEdBQXVCO0FBQ25CLFdBQU8sS0FBS2tCLE9BQUwsQ0FBYU0sQ0FBcEI7QUFDSDs7QUFsSitCIiwiZmlsZSI6Ii4vc3JjL21vZHVsZXMvd2VicGFja21vZHVsZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQWxsb3dzIGZvciBncmFiYmluZyBhbmQgc2VhcmNoaW5nIHRocm91Z2ggRGlzY29yZCdzIHdlYnBhY2tlZCBtb2R1bGVzLlxyXG4gKiBAbW9kdWxlIFdlYnBhY2tNb2R1bGVzXHJcbiAqIEB2ZXJzaW9uIDAuMC4yXHJcbiAqL1xyXG5cclxuaW1wb3J0IFV0aWxpdGllcyBmcm9tIFwiLi91dGlsaXRpZXNcIjtcclxuXHJcbmNvbnN0IERpc2NvcmRNb2R1bGVzID0gVXRpbGl0aWVzLm1lbW9pemVPYmplY3Qoe1xyXG4gICAgZ2V0IFJlYWN0KCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiY3JlYXRlRWxlbWVudFwiLCBcImNsb25lRWxlbWVudFwiKTt9LFxyXG4gICAgZ2V0IFJlYWN0RE9NKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwicmVuZGVyXCIsIFwiZmluZERPTU5vZGVcIik7fSxcclxuICAgIGdldCBGbHV4KCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiY29ubmVjdFN0b3Jlc1wiKTt9LFxyXG4gICAgZ2V0IEV2ZW50cygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm90b3R5cGVzKFwic2V0TWF4TGlzdGVuZXJzXCIsIFwiZW1pdFwiKTt9LFxyXG5cclxuICAgIC8qIEd1aWxkIEluZm8sIFN0b3JlcywgYW5kIFV0aWxpdGllcyAqL1xyXG4gICAgZ2V0IEd1aWxkU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRHdWlsZFwiKTt9LFxyXG4gICAgZ2V0IFNvcnRlZEd1aWxkU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRTb3J0ZWRHdWlsZHNcIik7fSxcclxuICAgIGdldCBTZWxlY3RlZEd1aWxkU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRMYXN0U2VsZWN0ZWRHdWlsZElkXCIpO30sXHJcbiAgICBnZXQgR3VpbGRTeW5jKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0U3luY2VkR3VpbGRzXCIpO30sXHJcbiAgICBnZXQgR3VpbGRJbmZvKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0QWNyb255bVwiKTt9LFxyXG4gICAgZ2V0IEd1aWxkQ2hhbm5lbHNTdG9yZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldENoYW5uZWxzXCIsIFwiZ2V0RGVmYXVsdENoYW5uZWxcIik7fSxcclxuICAgIGdldCBHdWlsZE1lbWJlclN0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0TWVtYmVyXCIpO30sXHJcbiAgICBnZXQgTWVtYmVyQ291bnRTdG9yZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldE1lbWJlckNvdW50c1wiKTt9LFxyXG4gICAgZ2V0IEd1aWxkRW1vamlTdG9yZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldEVtb2ppc1wiKTt9LFxyXG4gICAgZ2V0IEd1aWxkQWN0aW9ucygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcIm1hcmtHdWlsZEFzUmVhZFwiKTt9LFxyXG4gICAgZ2V0IEd1aWxkUGVybWlzc2lvbnMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRHdWlsZFBlcm1pc3Npb25zXCIpO30sXHJcblxyXG4gICAgLyogQ2hhbm5lbCBTdG9yZSAmIEFjdGlvbnMgKi9cclxuICAgIGdldCBDaGFubmVsU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRDaGFubmVsc1wiLCBcImdldERNRnJvbVVzZXJJZFwiKTt9LFxyXG4gICAgZ2V0IFNlbGVjdGVkQ2hhbm5lbFN0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0TGFzdFNlbGVjdGVkQ2hhbm5lbElkXCIpO30sXHJcbiAgICBnZXQgQ2hhbm5lbEFjdGlvbnMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJzZWxlY3RDaGFubmVsXCIpO30sXHJcbiAgICBnZXQgUHJpdmF0ZUNoYW5uZWxBY3Rpb25zKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwib3BlblByaXZhdGVDaGFubmVsXCIpO30sXHJcbiAgICBnZXQgQ2hhbm5lbFNlbGVjdG9yKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwic2VsZWN0R3VpbGRcIiwgXCJzZWxlY3RDaGFubmVsXCIpO30sXHJcblxyXG4gICAgLyogQ3VycmVudCBVc2VyIEluZm8sIFN0YXRlIGFuZCBTZXR0aW5ncyAqL1xyXG4gICAgZ2V0IFVzZXJJbmZvU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRUb2tlblwiKTt9LFxyXG4gICAgZ2V0IFVzZXJTZXR0aW5nc1N0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ3VpbGRQb3NpdGlvbnNcIik7fSxcclxuICAgIGdldCBBY2NvdW50TWFuYWdlcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcInJlZ2lzdGVyXCIsIFwibG9naW5cIik7fSxcclxuICAgIGdldCBVc2VyU2V0dGluZ3NVcGRhdGVyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwidXBkYXRlUmVtb3RlU2V0dGluZ3NcIik7fSxcclxuICAgIGdldCBPbmxpbmVXYXRjaGVyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiaXNPbmxpbmVcIik7fSxcclxuICAgIGdldCBDdXJyZW50VXNlcklkbGUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRJZGxlVGltZVwiKTt9LFxyXG4gICAgZ2V0IFJlbGF0aW9uc2hpcFN0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiaXNCbG9ja2VkXCIsIFwiZ2V0RnJpZW5kSURzXCIpO30sXHJcbiAgICBnZXQgUmVsYXRpb25zaGlwTWFuYWdlcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImFkZFJlbGF0aW9uc2hpcFwiKTt9LFxyXG4gICAgZ2V0IE1lbnRpb25TdG9yZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldE1lbnRpb25zXCIpO30sXHJcblxyXG4gICAgLyogVXNlciBTdG9yZXMgYW5kIFV0aWxzICovXHJcbiAgICBnZXQgVXNlclN0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0Q3VycmVudFVzZXJcIik7fSxcclxuICAgIGdldCBVc2VyU3RhdHVzU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRTdGF0dXNcIiwgXCJnZXRTdGF0ZVwiKTt9LFxyXG4gICAgZ2V0IFVzZXJUeXBpbmdTdG9yZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImlzVHlwaW5nXCIpO30sXHJcbiAgICBnZXQgVXNlckFjdGl2aXR5U3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRBY3Rpdml0eVwiKTt9LFxyXG4gICAgZ2V0IFVzZXJOYW1lUmVzb2x2ZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXROYW1lXCIpO30sXHJcbiAgICBnZXQgVXNlck5vdGVTdG9yZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldE5vdGVcIik7fSxcclxuICAgIGdldCBVc2VyTm90ZUFjdGlvbnMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJ1cGRhdGVOb3RlXCIpO30sXHJcblxyXG4gICAgLyogRW1vamkgU3RvcmUgYW5kIFV0aWxzICovXHJcbiAgICBnZXQgRW1vamlJbmZvKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiaXNFbW9qaURpc2FibGVkXCIpO30sXHJcbiAgICBnZXQgRW1vamlVdGlscygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldEd1aWxkRW1vamlcIik7fSxcclxuICAgIGdldCBFbW9qaVN0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0QnlDYXRlZ29yeVwiLCBcIkVNT0pJX05BTUVfUkVcIik7fSxcclxuXHJcbiAgICAvKiBJbnZpdGUgU3RvcmUgYW5kIFV0aWxzICovXHJcbiAgICBnZXQgSW52aXRlU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRJbnZpdGVzXCIpO30sXHJcbiAgICBnZXQgSW52aXRlUmVzb2x2ZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJmaW5kSW52aXRlXCIpO30sXHJcbiAgICBnZXQgSW52aXRlQWN0aW9ucygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImFjY2VwdEludml0ZVwiKTt9LFxyXG5cclxuICAgIC8qIERpc2NvcmQgT2JqZWN0cyAmIFV0aWxzICovXHJcbiAgICBnZXQgRGlzY29yZENvbnN0YW50cygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcIlBlcm1pc3Npb25zXCIsIFwiQWN0aXZpdHlUeXBlc1wiLCBcIlN0YXR1c1R5cGVzXCIpO30sXHJcbiAgICBnZXQgRGlzY29yZFBlcm1pc3Npb25zKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiUGVybWlzc2lvbnNcIiwgXCJBY3Rpdml0eVR5cGVzXCIsIFwiU3RhdHVzVHlwZXNcIikuUGVybWlzc2lvbnM7fSxcclxuICAgIGdldCBQZXJtaXNzaW9uVXRpbHMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRIaWdoZXN0Um9sZVwiKTt9LFxyXG4gICAgZ2V0IENvbG9yQ29udmVydGVyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiaGV4MmludFwiKTt9LFxyXG4gICAgZ2V0IENvbG9yU2hhZGVyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZGFya2VuXCIpO30sXHJcbiAgICBnZXQgVGlueUNvbG9yKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3RvdHlwZXMoXCJ0b1JnYlwiKTt9LFxyXG4gICAgZ2V0IENsYXNzUmVzb2x2ZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRDbGFzc1wiKTt9LFxyXG4gICAgZ2V0IEJ1dHRvbkRhdGEoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJCdXR0b25TaXplc1wiKTt9LFxyXG4gICAgZ2V0IEljb25OYW1lcygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcIkljb25OYW1lc1wiKTt9LFxyXG4gICAgZ2V0IE5hdmlnYXRpb25VdGlscygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcInRyYW5zaXRpb25Ub1wiLCBcInJlcGxhY2VXaXRoXCIsIFwiZ2V0SGlzdG9yeVwiKTt9LFxyXG5cclxuICAgIC8qIERpc2NvcmQgTWVzc2FnZXMgKi9cclxuICAgIGdldCBNZXNzYWdlU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRNZXNzYWdlc1wiKTt9LFxyXG4gICAgZ2V0IE1lc3NhZ2VBY3Rpb25zKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwianVtcFRvTWVzc2FnZVwiLCBcIl9zZW5kTWVzc2FnZVwiKTt9LFxyXG4gICAgZ2V0IE1lc3NhZ2VRdWV1ZSgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImVucXVldWVcIik7fSxcclxuICAgIGdldCBNZXNzYWdlUGFyc2VyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiY3JlYXRlTWVzc2FnZVwiLCBcInBhcnNlXCIsIFwidW5wYXJzZVwiKTt9LFxyXG5cclxuICAgIC8qIFRleHQgUHJvY2Vzc2luZyAqL1xyXG4gICAgZ2V0IGhsanMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJoaWdobGlnaHRcIiwgXCJoaWdobGlnaHRCbG9ja1wiKTt9LFxyXG4gICAgZ2V0IFNpbXBsZU1hcmtkb3duKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwicGFyc2VCbG9ja1wiLCBcInBhcnNlSW5saW5lXCIsIFwiZGVmYXVsdE91dHB1dFwiKTt9LFxyXG5cclxuICAgIC8qIEV4cGVyaW1lbnRzICovXHJcbiAgICBnZXQgRXhwZXJpbWVudFN0b3JlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0RXhwZXJpbWVudE92ZXJyaWRlc1wiKTt9LFxyXG4gICAgZ2V0IEV4cGVyaW1lbnRzTWFuYWdlcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImlzRGV2ZWxvcGVyXCIpO30sXHJcbiAgICBnZXQgQ3VycmVudEV4cGVyaW1lbnQoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRFeHBlcmltZW50SWRcIik7fSxcclxuXHJcbiAgICAvKiBJbWFnZXMsIEF2YXRhcnMgYW5kIFV0aWxzICovXHJcbiAgICBnZXQgSW1hZ2VSZXNvbHZlcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldFVzZXJBdmF0YXJVUkxcIiwgXCJnZXRHdWlsZEljb25VUkxcIik7fSxcclxuICAgIGdldCBJbWFnZVV0aWxzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0U2l6ZWRJbWFnZVNyY1wiKTt9LFxyXG4gICAgZ2V0IEF2YXRhckRlZmF1bHRzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0VXNlckF2YXRhclVSTFwiLCBcIkRFRkFVTFRfQVZBVEFSU1wiKTt9LFxyXG5cclxuICAgIC8qIFdpbmRvdywgRE9NLCBIVE1MICovXHJcbiAgICBnZXQgV2luZG93SW5mbygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImlzRm9jdXNlZFwiLCBcIndpbmRvd1NpemVcIik7fSxcclxuICAgIGdldCBUYWdJbmZvKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiVkFMSURfVEFHX05BTUVTXCIpO30sXHJcbiAgICBnZXQgRE9NSW5mbygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImNhblVzZURPTVwiKTt9LFxyXG5cclxuICAgIC8qIExvY2FsZS9Mb2NhdGlvbiBhbmQgVGltZSAqL1xyXG4gICAgZ2V0IExvY2FsZU1hbmFnZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJzZXRMb2NhbGVcIik7fSxcclxuICAgIGdldCBNb21lbnQoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJwYXJzZVpvbmVcIik7fSxcclxuICAgIGdldCBMb2NhdGlvbk1hbmFnZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJjcmVhdGVMb2NhdGlvblwiKTt9LFxyXG4gICAgZ2V0IFRpbWVzdGFtcHMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJmcm9tVGltZXN0YW1wXCIpO30sXHJcbiAgICBnZXQgVGltZUZvcm1hdHRlcigpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImRhdGVGb3JtYXRcIik7fSxcclxuXHJcbiAgICAvKiBTdHJpbmdzIGFuZCBVdGlscyAqL1xyXG4gICAgZ2V0IFN0cmluZ3MoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJNZXNzYWdlc1wiKS5NZXNzYWdlczt9LFxyXG4gICAgZ2V0IFN0cmluZ0Zvcm1hdHMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJhXCIsIFwielwiKTt9LFxyXG4gICAgZ2V0IFN0cmluZ1V0aWxzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwidG9BU0NJSVwiKTt9LFxyXG5cclxuICAgIC8qIFVSTHMgYW5kIFV0aWxzICovXHJcbiAgICBnZXQgVVJMUGFyc2VyKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiVXJsXCIsIFwicGFyc2VcIik7fSxcclxuICAgIGdldCBFeHRyYVVSTHMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRBcnRpY2xlVVJMXCIpO30sXHJcblxyXG4gICAgLyogRHJhZyAmIERyb3AgKi9cclxuICAgIGdldCBETkRBY3Rpb25zKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiYmVnaW5EcmFnXCIpO30sXHJcbiAgICBnZXQgRE5EU291cmNlcygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImFkZFRhcmdldFwiKTt9LFxyXG4gICAgZ2V0IERORE9iamVjdHMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJEcmFnU291cmNlXCIpO30sXHJcblxyXG4gICAgLyogTWVkaWEgU3R1ZmYgKEF1ZGlvL1ZpZGVvKSAqL1xyXG4gICAgZ2V0IE1lZGlhRGV2aWNlSW5mbygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcIkNvZGVjc1wiLCBcIlNVUFBPUlRFRF9CUk9XU0VSU1wiKTt9LFxyXG4gICAgZ2V0IE1lZGlhSW5mbygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldE91dHB1dFZvbHVtZVwiKTt9LFxyXG4gICAgZ2V0IE1lZGlhRW5naW5lSW5mbygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcIk1lZGlhRW5naW5lRmVhdHVyZXNcIik7fSxcclxuICAgIGdldCBWb2ljZUluZm8oKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJFY2hvQ2FuY2VsbGF0aW9uXCIpO30sXHJcbiAgICBnZXQgVmlkZW9TdHJlYW0oKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRWaWRlb1N0cmVhbVwiKTt9LFxyXG4gICAgZ2V0IFNvdW5kTW9kdWxlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwicGxheVNvdW5kXCIpO30sXHJcblxyXG4gICAgLyogRWxlY3Ryb24gJiBPdGhlciBJbnRlcm5hbHMgd2l0aCBVdGlscyovXHJcbiAgICBnZXQgRWxlY3Ryb25Nb2R1bGUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJzZXRCYWRnZVwiKTt9LFxyXG4gICAgZ2V0IERpc3BhdGNoZXIoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJkaXJ0eURpc3BhdGNoXCIpO30sXHJcbiAgICBnZXQgUGF0aFV0aWxzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiaGFzQmFzZW5hbWVcIik7fSxcclxuICAgIGdldCBOb3RpZmljYXRpb25Nb2R1bGUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJzaG93Tm90aWZpY2F0aW9uXCIpO30sXHJcbiAgICBnZXQgUm91dGVyTW9kdWxlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiUm91dGVyXCIpO30sXHJcbiAgICBnZXQgQVBJTW9kdWxlKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiZ2V0QVBJQmFzZVVSTFwiKTt9LFxyXG4gICAgZ2V0IEFuYWx5dGljRXZlbnRzKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiQW5hbHl0aWNFdmVudENvbmZpZ3NcIik7fSxcclxuICAgIGdldCBLZXlHZW5lcmF0b3IoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UmVnZXgoL1wiYmluYXJ5XCIvKTt9LFxyXG4gICAgZ2V0IEJ1ZmZlcnMoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJCdWZmZXJcIiwgXCJrTWF4TGVuZ3RoXCIpO30sXHJcbiAgICBnZXQgRGV2aWNlU3RvcmUoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXREZXZpY2VzXCIpO30sXHJcbiAgICBnZXQgU29mdHdhcmVJbmZvKCkge3JldHVybiBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwib3NcIik7fSxcclxuICAgIGdldCBDdXJyZW50Q29udGV4dCgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcInNldFRhZ3NDb250ZXh0XCIpO31cclxufSk7XHJcblxyXG5leHBvcnQge0Rpc2NvcmRNb2R1bGVzfTtcclxuXHJcbi8qKlxyXG4gKiBDaGVja3MgaWYgYSBnaXZlbiBtb2R1bGUgbWF0Y2hlcyBhIHNldCBvZiBwYXJhbWV0ZXJzLlxyXG4gKiBAY2FsbGJhY2sgbW9kdWxlOldlYnBhY2tNb2R1bGVzLkZpbHRlcnN+ZmlsdGVyXHJcbiAqIEBwYXJhbSB7Kn0gbW9kdWxlIC0gbW9kdWxlIHRvIGNoZWNrXHJcbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFRydWUgaWYgdGhlIG1vZHVsZSBtYXRjaGVzIHRoZSBmaWx0ZXIsIGZhbHNlIG90aGVyd2lzZVxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGaWx0ZXJzIGZvciB1c2Ugd2l0aCB7QGxpbmsgbW9kdWxlOldlYnBhY2tNb2R1bGVzfSBidXQgbWF5IHByb3ZlIHVzZWZ1bCBlbHNld2hlcmUuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmlsdGVycyB7XHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhIHtAbGluayBtb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IHRoYXQgZmlsdGVycyBieSBhIHNldCBvZiBwcm9wZXJ0aWVzLlxyXG4gICAgICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBwcm9wcyAtIEFycmF5IG9mIHByb3BlcnR5IG5hbWVzXHJcbiAgICAgKiBAcGFyYW0ge21vZHVsZTpXZWJwYWNrTW9kdWxlcy5GaWx0ZXJzfmZpbHRlcn0gZmlsdGVyIC0gQWRkaXRpb25hbCBmaWx0ZXJcclxuICAgICAqIEByZXR1cm5zIHttb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IC0gQSBmaWx0ZXIgdGhhdCBjaGVja3MgZm9yIGEgc2V0IG9mIHByb3BlcnRpZXNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGJ5UHJvcGVydGllcyhwcm9wcywgZmlsdGVyID0gbSA9PiBtKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGZpbHRlcihtb2R1bGUpO1xyXG4gICAgICAgICAgICBpZiAoIWNvbXBvbmVudCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4gcHJvcHMuZXZlcnkocHJvcGVydHkgPT4gY29tcG9uZW50W3Byb3BlcnR5XSAhPT0gdW5kZWZpbmVkKTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2VuZXJhdGVzIGEge0BsaW5rIG1vZHVsZTpXZWJwYWNrTW9kdWxlcy5GaWx0ZXJzfmZpbHRlcn0gdGhhdCBmaWx0ZXJzIGJ5IGEgc2V0IG9mIHByb3BlcnRpZXMgb24gdGhlIG9iamVjdCdzIHByb3RvdHlwZS5cclxuICAgICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZmllbGRzIC0gQXJyYXkgb2YgcHJvcGVydHkgbmFtZXNcclxuICAgICAqIEBwYXJhbSB7bW9kdWxlOldlYnBhY2tNb2R1bGVzLkZpbHRlcnN+ZmlsdGVyfSBmaWx0ZXIgLSBBZGRpdGlvbmFsIGZpbHRlclxyXG4gICAgICogQHJldHVybnMge21vZHVsZTpXZWJwYWNrTW9kdWxlcy5GaWx0ZXJzfmZpbHRlcn0gLSBBIGZpbHRlciB0aGF0IGNoZWNrcyBmb3IgYSBzZXQgb2YgcHJvcGVydGllcyBvbiB0aGUgb2JqZWN0J3MgcHJvdG90eXBlXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBieVByb3RvdHlwZUZpZWxkcyhmaWVsZHMsIGZpbHRlciA9IG0gPT4gbSkge1xyXG4gICAgICAgIHJldHVybiBtb2R1bGUgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBmaWx0ZXIobW9kdWxlKTtcclxuICAgICAgICAgICAgaWYgKCFjb21wb25lbnQpIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKCFjb21wb25lbnQucHJvdG90eXBlKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWVsZHMuZXZlcnkoZmllbGQgPT4gY29tcG9uZW50LnByb3RvdHlwZVtmaWVsZF0gIT09IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhIHtAbGluayBtb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IHRoYXQgZmlsdGVycyBieSBhIHJlZ2V4LlxyXG4gICAgICogQHBhcmFtIHtSZWdFeHB9IHNlYXJjaCAtIEEgUmVnRXhwIHRvIGNoZWNrIG9uIHRoZSBtb2R1bGVcclxuICAgICAqIEBwYXJhbSB7bW9kdWxlOldlYnBhY2tNb2R1bGVzLkZpbHRlcnN+ZmlsdGVyfSBmaWx0ZXIgLSBBZGRpdGlvbmFsIGZpbHRlclxyXG4gICAgICogQHJldHVybnMge21vZHVsZTpXZWJwYWNrTW9kdWxlcy5GaWx0ZXJzfmZpbHRlcn0gLSBBIGZpbHRlciB0aGF0IGNoZWNrcyBmb3IgYSBzZXQgb2YgcHJvcGVydGllc1xyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYnlDb2RlKHNlYXJjaCwgZmlsdGVyID0gbSA9PiBtKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1ldGhvZCA9IGZpbHRlcihtb2R1bGUpO1xyXG4gICAgICAgICAgICBpZiAoIW1ldGhvZCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4gbWV0aG9kLnRvU3RyaW5nKFtdKS5zZWFyY2goc2VhcmNoKSAhPT0gLTE7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhIHtAbGluayBtb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IHRoYXQgZmlsdGVycyBieSBzdHJpbmdzLlxyXG4gICAgICogQHBhcmFtIHsuLi5TdHJpbmd9IHNlYXJjaCAtIEEgUmVnRXhwIHRvIGNoZWNrIG9uIHRoZSBtb2R1bGVcclxuICAgICAqIEByZXR1cm5zIHttb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IC0gQSBmaWx0ZXIgdGhhdCBjaGVja3MgZm9yIGEgc2V0IG9mIHN0cmluZ3NcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGJ5U3RyaW5nKC4uLnN0cmluZ3MpIHtcclxuICAgICAgICByZXR1cm4gbW9kdWxlID0+IHtcclxuICAgICAgICAgICAgY29uc3QgbW9kdWxlU3RyaW5nID0gbW9kdWxlLnRvU3RyaW5nKFtdKTtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBzIG9mIHN0cmluZ3MpIHtcclxuICAgICAgICAgICAgICAgIGlmICghbW9kdWxlU3RyaW5nLmluY2x1ZGVzKHMpKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhIHtAbGluayBtb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IHRoYXQgZmlsdGVycyBieSBhIHNldCBvZiBwcm9wZXJ0aWVzLlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBOYW1lIHRoZSBtb2R1bGUgc2hvdWxkIGhhdmVcclxuICAgICAqIEBwYXJhbSB7bW9kdWxlOldlYnBhY2tNb2R1bGVzLkZpbHRlcnN+ZmlsdGVyfSBmaWx0ZXIgLSBBZGRpdGlvbmFsIGZpbHRlclxyXG4gICAgICogQHJldHVybnMge21vZHVsZTpXZWJwYWNrTW9kdWxlcy5GaWx0ZXJzfmZpbHRlcn0gLSBBIGZpbHRlciB0aGF0IGNoZWNrcyBmb3IgYSBzZXQgb2YgcHJvcGVydGllc1xyXG4gICAgICovXHJcbiAgICBzdGF0aWMgYnlEaXNwbGF5TmFtZShuYW1lKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLmRpc3BsYXlOYW1lID09PSBuYW1lO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZW5lcmF0ZXMgYSBjb21iaW5lZCB7QGxpbmsgbW9kdWxlOldlYnBhY2tNb2R1bGVzLkZpbHRlcnN+ZmlsdGVyfSBmcm9tIGEgbGlzdCBvZiBmaWx0ZXJzLlxyXG4gICAgICogQHBhcmFtIHsuLi5tb2R1bGU6V2VicGFja01vZHVsZXMuRmlsdGVyc35maWx0ZXJ9IGZpbHRlcnMgLSBBIGxpc3Qgb2YgZmlsdGVyc1xyXG4gICAgICogQHJldHVybnMge21vZHVsZTpXZWJwYWNrTW9kdWxlcy5GaWx0ZXJzfmZpbHRlcn0gLSBDb21iaW5hdG9yeSBmaWx0ZXIgb2YgYWxsIGFyZ3VtZW50c1xyXG4gICAgICovXHJcbiAgICBzdGF0aWMgY29tYmluZSguLi5maWx0ZXJzKSB7XHJcbiAgICAgICAgcmV0dXJuIG1vZHVsZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJzLmV2ZXJ5KGZpbHRlciA9PiBmaWx0ZXIobW9kdWxlKSk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2VicGFja01vZHVsZXMge1xyXG5cclxuICAgIHN0YXRpYyBmaW5kKGZpbHRlciwgZmlyc3QgPSB0cnVlKSB7cmV0dXJuIHRoaXMuZ2V0TW9kdWxlKGZpbHRlciwgZmlyc3QpO31cclxuICAgIHN0YXRpYyBmaW5kQWxsKGZpbHRlcikge3JldHVybiB0aGlzLmdldE1vZHVsZShmaWx0ZXIsIGZhbHNlKTt9XHJcbiAgICBzdGF0aWMgZmluZEJ5VW5pcXVlUHJvcGVydGllcyhwcm9wcywgZmlyc3QgPSB0cnVlKSB7cmV0dXJuIGZpcnN0ID8gdGhpcy5nZXRCeVByb3BzKC4uLnByb3BzKSA6IHRoaXMuZ2V0QWxsQnlQcm9wcyguLi5wcm9wcyk7fVxyXG4gICAgc3RhdGljIGZpbmRCeURpc3BsYXlOYW1lKG5hbWUpIHtyZXR1cm4gdGhpcy5nZXRCeURpc3BsYXlOYW1lKG5hbWUpO31cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGEgbW9kdWxlIHVzaW5nIGEgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZmlsdGVyIEEgZnVuY3Rpb24gdG8gdXNlIHRvIGZpbHRlciBtb2R1bGVzXHJcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGZpcnN0IFdoZXRoZXIgdG8gcmV0dXJuIG9ubHkgdGhlIGZpcnN0IG1hdGNoaW5nIG1vZHVsZVxyXG4gICAgICogQHJldHVybiB7QW55fVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0TW9kdWxlKGZpbHRlciwgZmlyc3QgPSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3QgbW9kdWxlcyA9IHRoaXMuZ2V0QWxsTW9kdWxlcygpO1xyXG4gICAgICAgIGNvbnN0IHJtID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBpbmRleCBpbiBtb2R1bGVzKSB7XHJcbiAgICAgICAgICAgIGlmICghbW9kdWxlcy5oYXNPd25Qcm9wZXJ0eShpbmRleCkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBjb25zdCBtb2R1bGUgPSBtb2R1bGVzW2luZGV4XTtcclxuICAgICAgICAgICAgY29uc3Qge2V4cG9ydHN9ID0gbW9kdWxlO1xyXG4gICAgICAgICAgICBsZXQgZm91bmRNb2R1bGUgPSBudWxsO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFleHBvcnRzKSBjb250aW51ZTtcclxuICAgICAgICAgICAgaWYgKGV4cG9ydHMuX19lc01vZHVsZSAmJiBleHBvcnRzLmRlZmF1bHQgJiYgZmlsdGVyKGV4cG9ydHMuZGVmYXVsdCkpIGZvdW5kTW9kdWxlID0gZXhwb3J0cy5kZWZhdWx0O1xyXG4gICAgICAgICAgICBpZiAoZmlsdGVyKGV4cG9ydHMpKSBmb3VuZE1vZHVsZSA9IGV4cG9ydHM7XHJcbiAgICAgICAgICAgIGlmICghZm91bmRNb2R1bGUpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBpZiAoZmlyc3QpIHJldHVybiBmb3VuZE1vZHVsZTtcclxuICAgICAgICAgICAgcm0ucHVzaChmb3VuZE1vZHVsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmaXJzdCB8fCBybS5sZW5ndGggPT0gMCA/IHVuZGVmaW5lZCA6IHJtO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluZHMgYWxsIG1vZHVsZXMgbWF0Y2hpbmcgYSBmaWx0ZXIgZnVuY3Rpb24uXHJcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmaWx0ZXIgQSBmdW5jdGlvbiB0byB1c2UgdG8gZmlsdGVyIG1vZHVsZXNcclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldE1vZHVsZXMoZmlsdGVyKSB7cmV0dXJuIHRoaXMuZ2V0TW9kdWxlKGZpbHRlciwgZmFsc2UpO31cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGEgbW9kdWxlIGJ5IGl0cyBuYW1lLlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZVxyXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZmFsbGJhY2sgQSBmdW5jdGlvbiB0byB1c2UgdG8gZmlsdGVyIG1vZHVsZXMgaWYgbm90IGZpbmRpbmcgYSBrbm93biBtb2R1bGVcclxuICAgICAqIEByZXR1cm4ge0FueX1cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldE1vZHVsZUJ5TmFtZShuYW1lLCBmYWxsYmFjaykge1xyXG4gICAgICAgIGlmIChEaXNjb3JkTW9kdWxlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkgcmV0dXJuIERpc2NvcmRNb2R1bGVzW25hbWVdO1xyXG4gICAgICAgIGlmICghZmFsbGJhY2spIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgY29uc3QgbW9kdWxlID0gdGhpcy5nZXRNb2R1bGUoZmFsbGJhY2ssIHRydWUpO1xyXG4gICAgICAgIHJldHVybiBtb2R1bGUgPyBEaXNjb3JkTW9kdWxlc1tuYW1lXSA9IG1vZHVsZSA6IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGEgbW9kdWxlIGJ5IGl0cyBkaXNwbGF5IG5hbWUuXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbmFtZSBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBtb2R1bGVcclxuICAgICAqIEByZXR1cm4ge0FueX1cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEJ5RGlzcGxheU5hbWUobmFtZSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1vZHVsZShGaWx0ZXJzLmJ5RGlzcGxheU5hbWUobmFtZSksIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluZHMgYSBtb2R1bGUgdXNpbmcgaXRzIGNvZGUuXHJcbiAgICAgKiBAcGFyYW0ge1JlZ0V4fSByZWdleCBBIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byB1c2UgdG8gZmlsdGVyIG1vZHVsZXNcclxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gZmlyc3QgV2hldGhlciB0byByZXR1cm4gdGhlIG9ubHkgdGhlIGZpcnN0IG1hdGNoaW5nIG1vZHVsZVxyXG4gICAgICogQHJldHVybiB7QW55fVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0QnlSZWdleChyZWdleCwgZmlyc3QgPSB0cnVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlKEZpbHRlcnMuYnlDb2RlKHJlZ2V4KSwgZmlyc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluZHMgYSBzaW5nbGUgbW9kdWxlIHVzaW5nIHByb3BlcnRpZXMgb24gaXRzIHByb3RvdHlwZS5cclxuICAgICAqIEBwYXJhbSB7Li4uc3RyaW5nfSBwcm90b3R5cGVzIFByb3BlcnRpZXMgdG8gdXNlIHRvIGZpbHRlciBtb2R1bGVzXHJcbiAgICAgKiBAcmV0dXJuIHtBbnl9XHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRCeVByb3RvdHlwZXMoLi4ucHJvdG90eXBlcykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1vZHVsZShGaWx0ZXJzLmJ5UHJvdG90eXBlRmllbGRzKHByb3RvdHlwZXMpLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGFsbCBtb2R1bGVzIHdpdGggYSBzZXQgb2YgcHJvcGVydGllcyBvZiBpdHMgcHJvdG90eXBlLlxyXG4gICAgICogQHBhcmFtIHsuLi5zdHJpbmd9IHByb3RvdHlwZXMgUHJvcGVydGllcyB0byB1c2UgdG8gZmlsdGVyIG1vZHVsZXNcclxuICAgICAqIEByZXR1cm4ge0FueX1cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEFsbEJ5UHJvdG90eXBlcyguLi5wcm90b3R5cGVzKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlKEZpbHRlcnMuYnlQcm90b3R5cGVGaWVsZHMocHJvdG90eXBlcyksIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGEgc2luZ2xlIG1vZHVsZSB1c2luZyBpdHMgb3duIHByb3BlcnRpZXMuXHJcbiAgICAgKiBAcGFyYW0gey4uLnN0cmluZ30gcHJvcHMgUHJvcGVydGllcyB0byB1c2UgdG8gZmlsdGVyIG1vZHVsZXNcclxuICAgICAqIEByZXR1cm4ge0FueX1cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEJ5UHJvcHMoLi4ucHJvcHMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb2R1bGUoRmlsdGVycy5ieVByb3BlcnRpZXMocHJvcHMpLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGFsbCBtb2R1bGVzIHdpdGggYSBzZXQgb2YgcHJvcGVydGllcy5cclxuICAgICAqIEBwYXJhbSB7Li4uc3RyaW5nfSBwcm9wcyBQcm9wZXJ0aWVzIHRvIHVzZSB0byBmaWx0ZXIgbW9kdWxlc1xyXG4gICAgICogQHJldHVybiB7QW55fVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZ2V0QWxsQnlQcm9wcyguLi5wcm9wcykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldE1vZHVsZShGaWx0ZXJzLmJ5UHJvcGVydGllcyhwcm9wcyksIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbmRzIGEgc2luZ2xlIG1vZHVsZSB1c2luZyBhIHNldCBvZiBzdHJpbmdzLlxyXG4gICAgICogQHBhcmFtIHsuLi5TdHJpbmd9IHByb3BzIFN0cmluZ3MgdG8gdXNlIHRvIGZpbHRlciBtb2R1bGVzXHJcbiAgICAgKiBAcmV0dXJuIHtBbnl9XHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXRCeVN0cmluZyguLi5zdHJpbmdzKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TW9kdWxlKEZpbHRlcnMuYnlTdHJpbmcoLi4uc3RyaW5ncyksIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmluZHMgYWxsIG1vZHVsZXMgd2l0aCBhIHNldCBvZiBzdHJpbmdzLlxyXG4gICAgICogQHBhcmFtIHsuLi5TdHJpbmd9IHN0cmluZ3MgU3RyaW5ncyB0byB1c2UgdG8gZmlsdGVyIG1vZHVsZXNcclxuICAgICAqIEByZXR1cm4ge0FueX1cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEFsbEJ5U3RyaW5nKC4uLnN0cmluZ3MpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb2R1bGUoRmlsdGVycy5ieVN0cmluZyguLi5zdHJpbmdzKSwgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGlzY29yZCdzIF9fd2VicGFja19yZXF1aXJlX18gZnVuY3Rpb24uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBnZXQgcmVxdWlyZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5fcmVxdWlyZSkgcmV0dXJuIHRoaXMuX3JlcXVpcmU7XHJcbiAgICAgICAgY29uc3QgaWQgPSBcImJiZC13ZWJwYWNrbW9kdWxlc1wiO1xyXG4gICAgICAgIGNvbnN0IF9fd2VicGFja19yZXF1aXJlX18gPSB0eXBlb2Yod2luZG93LndlYnBhY2tKc29ucCkgPT0gXCJmdW5jdGlvblwiID8gd2luZG93LndlYnBhY2tKc29ucChbXSwge1xyXG4gICAgICAgICAgICBbaWRdOiAobW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSA9PiBleHBvcnRzLmRlZmF1bHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fXHJcbiAgICAgICAgfSwgW2lkXSkuZGVmYXVsdCA6IHdpbmRvdy53ZWJwYWNrSnNvbnAucHVzaChbW10sIHtcclxuICAgICAgICAgICAgW2lkXTogKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykgPT4gbW9kdWxlLmV4cG9ydHMgPSBfX3dlYnBhY2tfcmVxdWlyZV9fXHJcbiAgICAgICAgfSwgW1tpZF1dXSk7XHJcbiAgICAgICAgZGVsZXRlIF9fd2VicGFja19yZXF1aXJlX18ubVtpZF07XHJcbiAgICAgICAgZGVsZXRlIF9fd2VicGFja19yZXF1aXJlX18uY1tpZF07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhbGwgbG9hZGVkIG1vZHVsZXMuXHJcbiAgICAgKiBAcmV0dXJuIHtBcnJheX1cclxuICAgICAqL1xyXG4gICAgc3RhdGljIGdldEFsbE1vZHVsZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVxdWlyZS5jO1xyXG4gICAgfVxyXG5cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/modules/webpackmodules.js\n");
/***/ }),
/***/ "./src/structs/builtin.js":
/*!********************************!*\
!*** ./src/structs/builtin.js ***!
\********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BuiltinModule; });\n/* harmony import */ var _modules_utilities__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modules/utilities */ \"./src/modules/utilities.js\");\n/* harmony import */ var _modules_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../modules/emitter */ \"./src/modules/emitter.js\");\n/* harmony import */ var _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../modules/settingsmanager */ \"./src/modules/settingsmanager.js\");\n\n\n\nclass BuiltinModule {\n get name() {\n return \"Unnamed Builtin\";\n }\n\n get collection() {\n return \"settings\";\n }\n\n get category() {\n return \"general\";\n }\n\n get id() {\n return \"None\";\n }\n\n async initialize() {\n if (_modules_settingsmanager__WEBPACK_IMPORTED_MODULE_2__[\"default\"].get(this.collection, this.category, this.id)) await this.enable();\n _modules_emitter__WEBPACK_IMPORTED_MODULE_1__[\"default\"].on(\"setting-updated\", (collection, category, id, enabled) => {\n if (collection != this.collection || category !== this.category || id !== this.id) return;\n if (enabled) this.enable();else this.disable();\n });\n }\n\n registerSetting(collection, category, id, onEnable, onDisable) {\n if (arguments.length == 4) {\n collection = this.collection;\n category = arguments[0];\n id = arguments[1];\n onEnable = arguments[2];\n onDisable = arguments[3];\n } else if (arguments.length == 3) {\n collection = this.collection;\n category = this.category;\n id = arguments[0];\n onEnable = arguments[1];\n onDisable = arguments[2];\n }\n\n return _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_2__[\"default\"].on(collection, category, id, value => {\n if (value) onEnable();else onDisable();\n });\n }\n\n get(collection, category, id) {\n if (arguments.length == 2) {\n collection = this.collection;\n category = arguments[0];\n id = arguments[1];\n } else if (arguments.length == 1) {\n collection = this.collection;\n category = this.category;\n id = arguments[0];\n }\n\n return _modules_settingsmanager__WEBPACK_IMPORTED_MODULE_2__[\"default\"].get(collection, category, id);\n }\n\n async enable() {\n this.log(\"Enabled\");\n await this.enabled();\n }\n\n async disable() {\n this.log(\"Disabled\");\n await this.disabled();\n }\n\n async enabled() {}\n\n async disabled() {}\n\n log(...message) {\n _modules_utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].log(this.name, ...message);\n }\n\n warn(...message) {\n _modules_utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].warn(this.name, ...message);\n }\n\n error(...message) {\n _modules_utilities__WEBPACK_IMPORTED_MODULE_0__[\"default\"].err(this.name, ...message);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3N0cnVjdHMvYnVpbHRpbi5qcz85NTYyIl0sIm5hbWVzIjpbIkJ1aWx0aW5Nb2R1bGUiLCJuYW1lIiwiY29sbGVjdGlvbiIsImNhdGVnb3J5IiwiaWQiLCJpbml0aWFsaXplIiwiU2V0dGluZ3MiLCJnZXQiLCJlbmFibGUiLCJFdmVudHMiLCJvbiIsImVuYWJsZWQiLCJkaXNhYmxlIiwicmVnaXN0ZXJTZXR0aW5nIiwib25FbmFibGUiLCJvbkRpc2FibGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ2YWx1ZSIsImxvZyIsImRpc2FibGVkIiwibWVzc2FnZSIsIlV0aWxpdGllcyIsIndhcm4iLCJlcnJvciIsImVyciJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVlLE1BQU1BLGFBQU4sQ0FBb0I7QUFFL0IsTUFBSUMsSUFBSixHQUFXO0FBQUMsV0FBTyxpQkFBUDtBQUEwQjs7QUFDdEMsTUFBSUMsVUFBSixHQUFpQjtBQUFDLFdBQU8sVUFBUDtBQUFtQjs7QUFDckMsTUFBSUMsUUFBSixHQUFlO0FBQUMsV0FBTyxTQUFQO0FBQWtCOztBQUNsQyxNQUFJQyxFQUFKLEdBQVM7QUFBQyxXQUFPLE1BQVA7QUFBZTs7QUFFekIsUUFBTUMsVUFBTixHQUFtQjtBQUNmLFFBQUlDLGdFQUFRLENBQUNDLEdBQVQsQ0FBYSxLQUFLTCxVQUFsQixFQUE4QixLQUFLQyxRQUFuQyxFQUE2QyxLQUFLQyxFQUFsRCxDQUFKLEVBQTJELE1BQU0sS0FBS0ksTUFBTCxFQUFOO0FBQzNEQyw0REFBTSxDQUFDQyxFQUFQLENBQVUsaUJBQVYsRUFBNkIsQ0FBQ1IsVUFBRCxFQUFhQyxRQUFiLEVBQXVCQyxFQUF2QixFQUEyQk8sT0FBM0IsS0FBdUM7QUFDaEUsVUFBSVQsVUFBVSxJQUFJLEtBQUtBLFVBQW5CLElBQWlDQyxRQUFRLEtBQUssS0FBS0EsUUFBbkQsSUFBK0RDLEVBQUUsS0FBSyxLQUFLQSxFQUEvRSxFQUFtRjtBQUNuRixVQUFJTyxPQUFKLEVBQWEsS0FBS0gsTUFBTCxHQUFiLEtBQ0ssS0FBS0ksT0FBTDtBQUNSLEtBSkQ7QUFLSDs7QUFFREMsaUJBQWUsQ0FBQ1gsVUFBRCxFQUFhQyxRQUFiLEVBQXVCQyxFQUF2QixFQUEyQlUsUUFBM0IsRUFBcUNDLFNBQXJDLEVBQWdEO0FBQzNELFFBQUlDLFNBQVMsQ0FBQ0MsTUFBVixJQUFvQixDQUF4QixFQUEyQjtBQUN2QmYsZ0JBQVUsR0FBRyxLQUFLQSxVQUFsQjtBQUNBQyxjQUFRLEdBQUdhLFNBQVMsQ0FBQyxDQUFELENBQXBCO0FBQ0FaLFFBQUUsR0FBR1ksU0FBUyxDQUFDLENBQUQsQ0FBZDtBQUNBRixjQUFRLEdBQUdFLFNBQVMsQ0FBQyxDQUFELENBQXBCO0FBQ0FELGVBQVMsR0FBR0MsU0FBUyxDQUFDLENBQUQsQ0FBckI7QUFDSCxLQU5ELE1BT0ssSUFBSUEsU0FBUyxDQUFDQyxNQUFWLElBQW9CLENBQXhCLEVBQTJCO0FBQzVCZixnQkFBVSxHQUFHLEtBQUtBLFVBQWxCO0FBQ0FDLGNBQVEsR0FBRyxLQUFLQSxRQUFoQjtBQUNBQyxRQUFFLEdBQUdZLFNBQVMsQ0FBQyxDQUFELENBQWQ7QUFDQUYsY0FBUSxHQUFHRSxTQUFTLENBQUMsQ0FBRCxDQUFwQjtBQUNBRCxlQUFTLEdBQUdDLFNBQVMsQ0FBQyxDQUFELENBQXJCO0FBQ0g7O0FBQ0QsV0FBT1YsZ0VBQVEsQ0FBQ0ksRUFBVCxDQUFZUixVQUFaLEVBQXdCQyxRQUF4QixFQUFrQ0MsRUFBbEMsRUFBdUNjLEtBQUQsSUFBVztBQUNwRCxVQUFJQSxLQUFKLEVBQVdKLFFBQVEsR0FBbkIsS0FDS0MsU0FBUztBQUNqQixLQUhNLENBQVA7QUFJSDs7QUFFRFIsS0FBRyxDQUFDTCxVQUFELEVBQWFDLFFBQWIsRUFBdUJDLEVBQXZCLEVBQTJCO0FBQzFCLFFBQUlZLFNBQVMsQ0FBQ0MsTUFBVixJQUFvQixDQUF4QixFQUEyQjtBQUN2QmYsZ0JBQVUsR0FBRyxLQUFLQSxVQUFsQjtBQUNBQyxjQUFRLEdBQUdhLFNBQVMsQ0FBQyxDQUFELENBQXBCO0FBQ0FaLFFBQUUsR0FBR1ksU0FBUyxDQUFDLENBQUQsQ0FBZDtBQUNILEtBSkQsTUFLSyxJQUFJQSxTQUFTLENBQUNDLE1BQVYsSUFBb0IsQ0FBeEIsRUFBMkI7QUFDNUJmLGdCQUFVLEdBQUcsS0FBS0EsVUFBbEI7QUFDQUMsY0FBUSxHQUFHLEtBQUtBLFFBQWhCO0FBQ0FDLFFBQUUsR0FBR1ksU0FBUyxDQUFDLENBQUQsQ0FBZDtBQUNIOztBQUNELFdBQU9WLGdFQUFRLENBQUNDLEdBQVQsQ0FBYUwsVUFBYixFQUF5QkMsUUFBekIsRUFBbUNDLEVBQW5DLENBQVA7QUFDSDs7QUFFRCxRQUFNSSxNQUFOLEdBQWU7QUFDWCxTQUFLVyxHQUFMLENBQVMsU0FBVDtBQUNBLFVBQU0sS0FBS1IsT0FBTCxFQUFOO0FBQ0g7O0FBRUQsUUFBTUMsT0FBTixHQUFnQjtBQUNaLFNBQUtPLEdBQUwsQ0FBUyxVQUFUO0FBQ0EsVUFBTSxLQUFLQyxRQUFMLEVBQU47QUFDSDs7QUFFRCxRQUFNVCxPQUFOLEdBQWdCLENBQUU7O0FBQ2xCLFFBQU1TLFFBQU4sR0FBaUIsQ0FBRTs7QUFFbkJELEtBQUcsQ0FBQyxHQUFHRSxPQUFKLEVBQWE7QUFDWkMsOERBQVMsQ0FBQ0gsR0FBVixDQUFjLEtBQUtsQixJQUFuQixFQUF5QixHQUFHb0IsT0FBNUI7QUFDSDs7QUFFREUsTUFBSSxDQUFDLEdBQUdGLE9BQUosRUFBYTtBQUNiQyw4REFBUyxDQUFDQyxJQUFWLENBQWUsS0FBS3RCLElBQXBCLEVBQTBCLEdBQUdvQixPQUE3QjtBQUNIOztBQUVERyxPQUFLLENBQUMsR0FBR0gsT0FBSixFQUFhO0FBQ2RDLDhEQUFTLENBQUNHLEdBQVYsQ0FBYyxLQUFLeEIsSUFBbkIsRUFBeUIsR0FBR29CLE9BQTVCO0FBQ0g7O0FBMUU4QiIsImZpbGUiOiIuL3NyYy9zdHJ1Y3RzL2J1aWx0aW4uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVXRpbGl0aWVzIGZyb20gXCIuLi9tb2R1bGVzL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQgRXZlbnRzIGZyb20gXCIuLi9tb2R1bGVzL2VtaXR0ZXJcIjtcclxuaW1wb3J0IFNldHRpbmdzIGZyb20gXCIuLi9tb2R1bGVzL3NldHRpbmdzbWFuYWdlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVpbHRpbk1vZHVsZSB7XHJcblxyXG4gICAgZ2V0IG5hbWUoKSB7cmV0dXJuIFwiVW5uYW1lZCBCdWlsdGluXCI7fVxyXG4gICAgZ2V0IGNvbGxlY3Rpb24oKSB7cmV0dXJuIFwic2V0dGluZ3NcIjt9XHJcbiAgICBnZXQgY2F0ZWdvcnkoKSB7cmV0dXJuIFwiZ2VuZXJhbFwiO31cclxuICAgIGdldCBpZCgpIHtyZXR1cm4gXCJOb25lXCI7fVxyXG5cclxuICAgIGFzeW5jIGluaXRpYWxpemUoKSB7XHJcbiAgICAgICAgaWYgKFNldHRpbmdzLmdldCh0aGlzLmNvbGxlY3Rpb24sIHRoaXMuY2F0ZWdvcnksIHRoaXMuaWQpKSBhd2FpdCB0aGlzLmVuYWJsZSgpO1xyXG4gICAgICAgIEV2ZW50cy5vbihcInNldHRpbmctdXBkYXRlZFwiLCAoY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkLCBlbmFibGVkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uICE9IHRoaXMuY29sbGVjdGlvbiB8fCBjYXRlZ29yeSAhPT0gdGhpcy5jYXRlZ29yeSB8fCBpZCAhPT0gdGhpcy5pZCkgcmV0dXJuO1xyXG4gICAgICAgICAgICBpZiAoZW5hYmxlZCkgdGhpcy5lbmFibGUoKTtcclxuICAgICAgICAgICAgZWxzZSB0aGlzLmRpc2FibGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3RlclNldHRpbmcoY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkLCBvbkVuYWJsZSwgb25EaXNhYmxlKSB7XHJcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gNCkge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uID0gdGhpcy5jb2xsZWN0aW9uO1xyXG4gICAgICAgICAgICBjYXRlZ29yeSA9IGFyZ3VtZW50c1swXTtcclxuICAgICAgICAgICAgaWQgPSBhcmd1bWVudHNbMV07XHJcbiAgICAgICAgICAgIG9uRW5hYmxlID0gYXJndW1lbnRzWzJdO1xyXG4gICAgICAgICAgICBvbkRpc2FibGUgPSBhcmd1bWVudHNbM107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMykge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uID0gdGhpcy5jb2xsZWN0aW9uO1xyXG4gICAgICAgICAgICBjYXRlZ29yeSA9IHRoaXMuY2F0ZWdvcnk7XHJcbiAgICAgICAgICAgIGlkID0gYXJndW1lbnRzWzBdO1xyXG4gICAgICAgICAgICBvbkVuYWJsZSA9IGFyZ3VtZW50c1sxXTtcclxuICAgICAgICAgICAgb25EaXNhYmxlID0gYXJndW1lbnRzWzJdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gU2V0dGluZ3Mub24oY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkLCAodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlKSBvbkVuYWJsZSgpO1xyXG4gICAgICAgICAgICBlbHNlIG9uRGlzYWJsZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldChjb2xsZWN0aW9uLCBjYXRlZ29yeSwgaWQpIHtcclxuICAgICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAyKSB7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSB0aGlzLmNvbGxlY3Rpb247XHJcbiAgICAgICAgICAgIGNhdGVnb3J5ID0gYXJndW1lbnRzWzBdO1xyXG4gICAgICAgICAgICBpZCA9IGFyZ3VtZW50c1sxXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24gPSB0aGlzLmNvbGxlY3Rpb247XHJcbiAgICAgICAgICAgIGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeTtcclxuICAgICAgICAgICAgaWQgPSBhcmd1bWVudHNbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBTZXR0aW5ncy5nZXQoY29sbGVjdGlvbiwgY2F0ZWdvcnksIGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlbmFibGUoKSB7XHJcbiAgICAgICAgdGhpcy5sb2coXCJFbmFibGVkXCIpO1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZW5hYmxlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRpc2FibGUoKSB7XHJcbiAgICAgICAgdGhpcy5sb2coXCJEaXNhYmxlZFwiKTtcclxuICAgICAgICBhd2FpdCB0aGlzLmRpc2FibGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZW5hYmxlZCgpIHt9XHJcbiAgICBhc3luYyBkaXNhYmxlZCgpIHt9XHJcblxyXG4gICAgbG9nKC4uLm1lc3NhZ2UpIHtcclxuICAgICAgICBVdGlsaXRpZXMubG9nKHRoaXMubmFtZSwgLi4ubWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd2FybiguLi5tZXNzYWdlKSB7XHJcbiAgICAgICAgVXRpbGl0aWVzLndhcm4odGhpcy5uYW1lLCAuLi5tZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBlcnJvciguLi5tZXNzYWdlKSB7XHJcbiAgICAgICAgVXRpbGl0aWVzLmVycih0aGlzLm5hbWUsIC4uLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/structs/builtin.js\n");
/***/ }),
/***/ "./src/structs/contenterror.js":
/*!*************************************!*\
!*** ./src/structs/contenterror.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ContentError; });\nclass ContentError extends Error {\n constructor(name, filename, message, error) {\n super(message);\n this.name = name;\n this.file = filename;\n this.error = error;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3N0cnVjdHMvY29udGVudGVycm9yLmpzP2M3NTYiXSwibmFtZXMiOlsiQ29udGVudEVycm9yIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmaWxlbmFtZSIsIm1lc3NhZ2UiLCJlcnJvciIsImZpbGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBZSxNQUFNQSxZQUFOLFNBQTJCQyxLQUEzQixDQUFpQztBQUM1Q0MsYUFBVyxDQUFDQyxJQUFELEVBQU9DLFFBQVAsRUFBaUJDLE9BQWpCLEVBQTBCQyxLQUExQixFQUFpQztBQUN4QyxVQUFNRCxPQUFOO0FBQ0EsU0FBS0YsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsU0FBS0ksSUFBTCxHQUFZSCxRQUFaO0FBQ0EsU0FBS0UsS0FBTCxHQUFhQSxLQUFiO0FBQ0g7O0FBTjJDIiwiZmlsZSI6Ii4vc3JjL3N0cnVjdHMvY29udGVudGVycm9yLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGVudEVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gICAgY29uc3RydWN0b3IobmFtZSwgZmlsZW5hbWUsIG1lc3NhZ2UsIGVycm9yKSB7XHJcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmZpbGUgPSBmaWxlbmFtZTtcclxuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3I7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/structs/contenterror.js\n");
/***/ }),
/***/ "./src/structs/metaerror.js":
/*!**********************************!*\
!*** ./src/structs/metaerror.js ***!
\**********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MetaError; });\nclass MetaError extends Error {\n constructor(message) {\n super(message);\n this.name = \"MetaError\";\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3N0cnVjdHMvbWV0YWVycm9yLmpzP2UxOTYiXSwibmFtZXMiOlsiTWV0YUVycm9yIiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsIm1lc3NhZ2UiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQWUsTUFBTUEsU0FBTixTQUF3QkMsS0FBeEIsQ0FBOEI7QUFDekNDLGFBQVcsQ0FBQ0MsT0FBRCxFQUFVO0FBQ2pCLFVBQU1BLE9BQU47QUFDQSxTQUFLQyxJQUFMLEdBQVksV0FBWjtBQUNIOztBQUp3QyIsImZpbGUiOiIuL3NyYy9zdHJ1Y3RzL21ldGFlcnJvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcclxuICAgICAgICBzdXBlcihtZXNzYWdlKTtcclxuICAgICAgICB0aGlzLm5hbWUgPSBcIk1ldGFFcnJvclwiO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/structs/metaerror.js\n");
/***/ }),
/***/ "./src/ui/customcss/checkbox.jsx":
/*!***************************************!*\
!*** ./src/ui/customcss/checkbox.jsx ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Checkbox; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Checkbox extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onClick = this.onClick.bind(this);\n this.state = {\n checked: this.props.checked || false\n };\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox-label label-JWQiNe da-label\"\n }, this.props.text), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox-wrapper checkbox-3kaeSU da-checkbox checkbox-3EVISJ da-checkbox\",\n onClick: this.onClick\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox-inner checkboxInner-3yjcPe da-checkboxInner\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n className: \"checkbox checkboxElement-1qV33p da-checkboxElement\",\n checked: this.state.checked,\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null)));\n }\n\n onClick() {\n this.props.onChange(!this.state.checked);\n this.setState({\n checked: !this.state.checked\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2N1c3RvbWNzcy9jaGVja2JveC5qc3g/MjJiNSJdLCJuYW1lcyI6WyJDaGVja2JveCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIm9uQ2xpY2siLCJiaW5kIiwic3RhdGUiLCJjaGVja2VkIiwicmVuZGVyIiwidGV4dCIsIm9uQ2hhbmdlIiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsUUFBTixTQUF1QkMsNkNBQUssQ0FBQ0MsU0FBN0IsQ0FBdUM7QUFDbERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFDLElBQWIsQ0FBa0IsSUFBbEIsQ0FBZjtBQUNBLFNBQUtDLEtBQUwsR0FBYTtBQUFDQyxhQUFPLEVBQUUsS0FBS0osS0FBTCxDQUFXSSxPQUFYLElBQXNCO0FBQWhDLEtBQWI7QUFDSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsV0FBTztBQUFLLGVBQVMsRUFBQztBQUFmLE9BQ0g7QUFBSyxlQUFTLEVBQUM7QUFBZixPQUF1RCxLQUFLTCxLQUFMLENBQVdNLElBQWxFLENBREcsRUFFSDtBQUFLLGVBQVMsRUFBQywwRUFBZjtBQUEwRixhQUFPLEVBQUUsS0FBS0w7QUFBeEcsT0FDSTtBQUFLLGVBQVMsRUFBQztBQUFmLE9BQ0k7QUFBTyxlQUFTLEVBQUMsb0RBQWpCO0FBQXNFLGFBQU8sRUFBRSxLQUFLRSxLQUFMLENBQVdDLE9BQTFGO0FBQW1HLFVBQUksRUFBQztBQUF4RyxNQURKLEVBRUkseUVBRkosQ0FESixFQUtJLHlFQUxKLENBRkcsQ0FBUDtBQVVIOztBQUVESCxTQUFPLEdBQUc7QUFDTixTQUFLRCxLQUFMLENBQVdPLFFBQVgsQ0FBb0IsQ0FBQyxLQUFLSixLQUFMLENBQVdDLE9BQWhDO0FBQ0EsU0FBS0ksUUFBTCxDQUFjO0FBQUNKLGFBQU8sRUFBRSxDQUFDLEtBQUtELEtBQUwsQ0FBV0M7QUFBdEIsS0FBZDtBQUNIOztBQXZCaUQiLCJmaWxlIjoiLi9zcmMvdWkvY3VzdG9tY3NzL2NoZWNrYm94LmpzeC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaGVja2JveCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLm9uQ2xpY2sgPSB0aGlzLm9uQ2xpY2suYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge2NoZWNrZWQ6IHRoaXMucHJvcHMuY2hlY2tlZCB8fCBmYWxzZX07XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94LWl0ZW1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjaGVja2JveC1sYWJlbCBsYWJlbC1KV1FpTmUgZGEtbGFiZWxcIj57dGhpcy5wcm9wcy50ZXh0fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94LXdyYXBwZXIgY2hlY2tib3gtM2thZVNVIGRhLWNoZWNrYm94IGNoZWNrYm94LTNFVklTSiBkYS1jaGVja2JveFwiIG9uQ2xpY2s9e3RoaXMub25DbGlja30+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94LWlubmVyIGNoZWNrYm94SW5uZXItM3lqY1BlIGRhLWNoZWNrYm94SW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3NOYW1lPVwiY2hlY2tib3ggY2hlY2tib3hFbGVtZW50LTFxVjMzcCBkYS1jaGVja2JveEVsZW1lbnRcIiBjaGVja2VkPXt0aGlzLnN0YXRlLmNoZWNrZWR9IHR5cGU9XCJjaGVja2JveFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PjtcclxuICAgIH1cclxuXHJcbiAgICBvbkNsaWNrKCkge1xyXG4gICAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UoIXRoaXMuc3RhdGUuY2hlY2tlZCk7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y2hlY2tlZDogIXRoaXMuc3RhdGUuY2hlY2tlZH0pO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/customcss/checkbox.jsx\n");
/***/ }),
/***/ "./src/ui/customcss/editor.jsx":
/*!*************************************!*\
!*** ./src/ui/customcss/editor.jsx ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CssEditor; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./checkbox */ \"./src/ui/customcss/checkbox.jsx\");\n/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../settings/title */ \"./src/ui/settings/title.jsx\");\n\n\n\nclass CssEditor extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.toggleLiveUpdate = this.toggleLiveUpdate.bind(this);\n this.updateCss = this.updateCss.bind(this);\n this.saveCss = this.saveCss.bind(this);\n this.detach = this.detach.bind(this);\n this.openNative = this.openNative.bind(this);\n }\n\n componentDidMount() {\n this.editor = ace.edit(\"bd-customcss-editor\"); // Add id to the ace menu container\n\n const originalShow = this.editor.keyBinding.$defaultHandler.commands.showSettingsMenu.exec;\n\n this.editor.keyBinding.$defaultHandler.commands.showSettingsMenu.exec = function () {\n originalShow.apply(this, arguments);\n const observer = new MutationObserver(mutations => {\n for (const mutation of mutations) {\n if (!mutation.addedNodes.length || !(mutation.addedNodes[0] instanceof Element)) continue;\n const node = mutation.addedNodes[0];\n if (node.parentElement !== document.body || !node.querySelector(\"#ace_settingsmenu\")) continue;\n node.id = \"ace_settingsmenu_container\";\n observer.disconnect();\n }\n });\n observer.observe(document.body, {\n childList: true\n });\n };\n\n this.editor.setTheme(\"ace/theme/monokai\");\n this.editor.session.setMode(\"ace/mode/css\");\n this.editor.setShowPrintMargin(false);\n this.editor.setFontSize(14);\n this.editor.on(\"change\", () => {\n if (!modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"customcss\", \"liveUpdate\")) return;\n this.saveCss();\n this.updateCss();\n });\n }\n\n componentWillUnmount() {\n this.editor.destroy();\n }\n\n render() {\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n text: \"Custom CSS Editor\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"editor-wrapper\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n id: \"bd-customcss-editor\",\n className: \"editor\"\n }, this.props.css)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n id: \"bd-customcss-attach-controls\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"checkbox-group\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_checkbox__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n text: \"Live Update\",\n onChange: this.toggleLiveUpdate,\n checked: modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"customcss\", \"liveUpdate\")\n })), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n id: \"bd-customcss-detach-controls-button\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n className: \"btn btn-primary\",\n onClick: this.updateCss\n }, \"Update\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n className: \"btn btn-primary\",\n onClick: this.saveCss\n }, \"Save\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n className: \"btn btn-primary\",\n onClick: this.openNative\n }, \"Open Natively\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n className: \"btn btn-primary\",\n onClick: this.detach\n }, \"Detach\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"small-notice\"\n }, \"Unsaved changes are lost on detach\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"help-text\"\n }, \"Press \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"code\", {\n className: \"inline\"\n }, \"ctrl\"), \"+\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"code\", {\n className: \"inline\"\n }, \",\"), \" with the editor focused to access the editor's settings.\")))];\n }\n\n toggleLiveUpdate(checked) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].set(\"settings\", \"customcss\", \"liveUpdate\", checked);\n }\n\n updateCss() {\n const newCss = this.editor.session.getValue();\n if (this.props.update) this.props.update(newCss);\n }\n\n saveCss() {\n const newCss = this.editor.session.getValue();\n if (this.props.save) this.props.save(newCss);\n }\n\n detach() {\n if (this.props.openDetached) this.props.openDetached();\n }\n\n openNative() {\n if (this.props.openNative) this.props.openNative();\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2N1c3RvbWNzcy9lZGl0b3IuanN4P2ZmZTIiXSwibmFtZXMiOlsiQ3NzRWRpdG9yIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwidG9nZ2xlTGl2ZVVwZGF0ZSIsImJpbmQiLCJ1cGRhdGVDc3MiLCJzYXZlQ3NzIiwiZGV0YWNoIiwib3Blbk5hdGl2ZSIsImNvbXBvbmVudERpZE1vdW50IiwiZWRpdG9yIiwiYWNlIiwiZWRpdCIsIm9yaWdpbmFsU2hvdyIsImtleUJpbmRpbmciLCIkZGVmYXVsdEhhbmRsZXIiLCJjb21tYW5kcyIsInNob3dTZXR0aW5nc01lbnUiLCJleGVjIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJtdXRhdGlvbnMiLCJtdXRhdGlvbiIsImFkZGVkTm9kZXMiLCJsZW5ndGgiLCJFbGVtZW50Iiwibm9kZSIsInBhcmVudEVsZW1lbnQiLCJkb2N1bWVudCIsImJvZHkiLCJxdWVyeVNlbGVjdG9yIiwiaWQiLCJkaXNjb25uZWN0Iiwib2JzZXJ2ZSIsImNoaWxkTGlzdCIsInNldFRoZW1lIiwic2Vzc2lvbiIsInNldE1vZGUiLCJzZXRTaG93UHJpbnRNYXJnaW4iLCJzZXRGb250U2l6ZSIsIm9uIiwiU2V0dGluZ3MiLCJnZXQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImRlc3Ryb3kiLCJyZW5kZXIiLCJjc3MiLCJjaGVja2VkIiwic2V0IiwibmV3Q3NzIiwiZ2V0VmFsdWUiLCJ1cGRhdGUiLCJzYXZlIiwib3BlbkRldGFjaGVkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRWUsTUFBTUEsU0FBTixTQUF3QkMsNkNBQUssQ0FBQ0MsU0FBOUIsQ0FBd0M7QUFFbkRDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUVBLFNBQUtDLGdCQUFM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QVk0QixPQUFaLENBQW9CYyxRQUFwQixFQUFmO0FBQ0EsUUFBSSxLQUFLbEQsS0FBTCxDQUFXb0QsSUFBZixFQUFxQixLQUFLcEQsS0FBTCxDQUFXb0QsSUFBWCxDQUFnQkgsTUFBaEI7QUFDeEI7O0FBRUQ1QyxRQUFNLEdBQUc7QUFDTCxRQUFJLEtBQUtMLEtBQUwsQ0FBV3FELFlBQWYsRUFBNkIsS0FBS3JELEtBQUwsQ0FBV3FELFlBQVg7QUFDaEM7O0FBRUQvQyxZQUFVLEdBQUc7QUFDVCxRQUFJLEtBQUtOLEtBQUwsQ0FBV00sVUFBZixFQUEyQixLQUFLTixLQUFMLENBQVdNLFVBQVg7QUFDOUI7O0FBM0ZrRCIsImZpbGUiOiIuL3NyYy91aS9jdXN0b21jc3MvZWRpdG9yLmpzeC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3QsIFNldHRpbmdzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuL2NoZWNrYm94XCI7XHJcbmltcG9ydCBTZXR0aW5nc1RpdGxlIGZyb20gXCIuLi9zZXR0aW5ncy90aXRsZVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3NzRWRpdG9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuXHJcbiAgICAgICAgdGhpcy50b2dnbGVMaXZlVXBkYXRlID0gdGhpcy50b2dnbGVMaXZlVXBkYXRlLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy51cGRhdGVDc3MgPSB0aGlzLnVwZGF0ZUNzcy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2F2ZUNzcyA9IHRoaXMuc2F2ZUNzcy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuZGV0YWNoID0gdGhpcy5kZXRhY2guYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLm9wZW5OYXRpdmUgPSB0aGlzLm9wZW5OYXRpdmUuYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICB0aGlzLmVkaXRvciA9IGFjZS5lZGl0KFwiYmQtY3VzdG9tY3NzLWVkaXRvclwiKTtcclxuXHJcbiAgICAgICAgLy8gQWRkIGlkIHRvIHRoZSBhY2UgbWVudSBjb250YWluZXJcclxuICAgICAgICBjb25zdCBvcmlnaW5hbFNob3cgPSB0aGlzLmVkaXRvci5rZXlCaW5kaW5nLiRkZWZhdWx0SGFuZGxlci5jb21tYW5kcy5zaG93U2V0dGluZ3NNZW51LmV4ZWM7XHJcbiAgICAgICAgdGhpcy5lZGl0b3Iua2V5QmluZGluZy4kZGVmYXVsdEhhbmRsZXIuY29tbWFuZHMuc2hvd1NldHRpbmdzTWVudS5leGVjID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIG9yaWdpbmFsU2hvdy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKG11dGF0aW9ucyA9PiB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghbXV0YXRpb24uYWRkZWROb2Rlcy5sZW5ndGggfHwgIShtdXRhdGlvbi5hZGRlZE5vZGVzWzBdIGluc3RhbmNlb2YgRWxlbWVudCkpIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBtdXRhdGlvbi5hZGRlZE5vZGVzWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnBhcmVudEVsZW1lbnQgIT09IGRvY3VtZW50LmJvZHkgfHwgIW5vZGUucXVlcnlTZWxlY3RvcihcIiNhY2Vfc2V0dGluZ3NtZW51XCIpKSBjb250aW51ZTtcclxuICAgICAgICAgICAgICAgICAgICBub2RlLmlkID0gXCJhY2Vfc2V0dGluZ3NtZW51X2NvbnRhaW5lclwiO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuYm9keSwge2NoaWxkTGlzdDogdHJ1ZX0pO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZWRpdG9yLnNldFRoZW1lKFwiYWNlL3RoZW1lL21vbm9rYWlcIik7XHJcbiAgICAgICAgdGhpcy5lZGl0b3Iuc2Vzc2lvbi5zZXRNb2RlKFwiYWNlL21vZGUvY3NzXCIpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLnNldFNob3dQcmludE1hcmdpbihmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5lZGl0b3Iuc2V0Rm9udFNpemUoMTQpO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFTZXR0aW5ncy5nZXQoXCJzZXR0aW5nc1wiLCBcImN1c3RvbWNzc1wiLCBcImxpdmVVcGRhdGVcIikpIHJldHVybjtcclxuICAgICAgICAgICAgdGhpcy5zYXZlQ3NzKCk7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ3NzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgPFNldHRpbmdzVGl0bGUgdGV4dD1cIkN1c3RvbSBDU1MgRWRpdG9yXCIgLz4sXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWRpdG9yLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJiZC1jdXN0b21jc3MtZWRpdG9yXCIgY2xhc3NOYW1lPVwiZWRpdG9yXCI+e3RoaXMucHJvcHMuY3NzfTwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj4sXHJcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJiZC1jdXN0b21jc3MtYXR0YWNoLWNvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNoZWNrYm94LWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPENoZWNrYm94IHRleHQ9XCJMaXZlIFVwZGF0ZVwiIG9uQ2hhbmdlPXt0aGlzLnRvZ2dsZUxpdmVVcGRhdGV9IGNoZWNrZWQ9e1NldHRpbmdzLmdldChcInNldHRpbmdzXCIsIFwiY3VzdG9tY3NzXCIsIFwibGl2ZVVwZGF0ZVwiKX0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJkLWN1c3RvbWNzcy1kZXRhY2gtY29udHJvbHMtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJidG4gYnRuLXByaW1hcnlcIiBvbkNsaWNrPXt0aGlzLnVwZGF0ZUNzc30+VXBkYXRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJidG4gYnRuLXByaW1hcnlcIiBvbkNsaWNrPXt0aGlzLnNhdmVDc3N9PlNhdmU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cImJ0biBidG4tcHJpbWFyeVwiIG9uQ2xpY2s9e3RoaXMub3Blbk5hdGl2ZX0+T3BlbiBOYXRpdmVseTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3NOYW1lPVwiYnRuIGJ0bi1wcmltYXJ5XCIgb25DbGljaz17dGhpcy5kZXRhY2h9PkRldGFjaDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInNtYWxsLW5vdGljZVwiPlVuc2F2ZWQgY2hhbmdlcyBhcmUgbG9zdCBvbiBkZXRhY2g8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWxwLXRleHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgUHJlc3MgPGNvZGUgY2xhc3NOYW1lPVwiaW5saW5lXCI+Y3RybDwvY29kZT4rPGNvZGUgY2xhc3NOYW1lPVwiaW5saW5lXCI+LDwvY29kZT4gd2l0aCB0aGUgZWRpdG9yIGZvY3VzZWQgdG8gYWNjZXNzIHRoZSBlZGl0b3ImYXBvcztzIHNldHRpbmdzLlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcblxyXG4gICAgdG9nZ2xlTGl2ZVVwZGF0ZShjaGVja2VkKSB7XHJcbiAgICAgICAgU2V0dGluZ3Muc2V0KFwic2V0dGluZ3NcIiwgXCJjdXN0b21jc3NcIiwgXCJsaXZlVXBkYXRlXCIsIGNoZWNrZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUNzcygpIHtcclxuICAgICAgICBjb25zdCBuZXdDc3MgPSB0aGlzLmVkaXRvci5zZXNzaW9uLmdldFZhbHVlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudXBkYXRlKSB0aGlzLnByb3BzLnVwZGF0ZShuZXdDc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHNhdmVDc3MoKSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q3NzID0gdGhpcy5lZGl0b3Iuc2Vzc2lvbi5nZXRWYWx1ZSgpO1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLnNhdmUpIHRoaXMucHJvcHMuc2F2ZShuZXdDc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGRldGFjaCgpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9wcy5vcGVuRGV0YWNoZWQpIHRoaXMucHJvcHMub3BlbkRldGFjaGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgb3Blbk5hdGl2ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9wcy5vcGVuTmF0aXZlKSB0aGlzLnByb3BzLm9wZW5OYXRpdmUoKTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/customcss/editor.jsx\n");
/***/ }),
/***/ "./src/ui/emote.js":
/*!*************************!*\
!*** ./src/ui/emote.js ***!
\*************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BDEmote; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../builtins/emotemenu */ \"./src/builtins/emotemenu.js\");\n\n\nclass BDEmote extends modules__WEBPACK_IMPORTED_MODULE_0__[\"DiscordModules\"].React.Component {\n constructor(props) {\n super(props);\n const isFav = _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].favoriteEmotes && _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].favoriteEmotes[this.label] ? true : false;\n this.state = {\n shouldAnimate: !this.animateOnHover,\n isFavorite: isFav\n };\n this.onMouseEnter = this.onMouseEnter.bind(this);\n this.onMouseLeave = this.onMouseLeave.bind(this);\n this.onClick = this.onClick.bind(this);\n }\n\n get animateOnHover() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"emotes\", \"general\", \"animateOnHover\");\n }\n\n get label() {\n return this.props.modifier ? `${this.props.name}:${this.props.modifier}` : this.props.name;\n }\n\n get modifierClass() {\n return this.props.modifier ? ` emote${this.props.modifier}` : \"\";\n }\n\n onMouseEnter() {\n if (!this.state.shouldAnimate && this.animateOnHover) this.setState({\n shouldAnimate: true\n });\n if (!this.state.isFavorite && _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].favoriteEmotes[this.label]) this.setState({\n isFavorite: true\n });else if (this.state.isFavorite && !_builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].favoriteEmotes[this.label]) this.setState({\n isFavorite: false\n });\n }\n\n onMouseLeave() {\n if (this.state.shouldAnimate && this.animateOnHover) this.setState({\n shouldAnimate: false\n });\n }\n\n onClick(e) {\n if (this.props.onClick) this.props.onClick(e);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"DiscordModules\"].React.createElement(modules__WEBPACK_IMPORTED_MODULE_0__[\"BDV2\"].TooltipWrapper, {\n color: \"black\",\n position: \"top\",\n text: this.label,\n delay: 750\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"DiscordModules\"].React.createElement(\"div\", {\n className: \"emotewrapper\" + (this.props.jumboable ? \" jumboable\" : \"\"),\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n onClick: this.onClick\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"DiscordModules\"].React.createElement(\"img\", {\n draggable: false,\n className: \"emote\" + this.modifierClass + (this.props.jumboable ? \" jumboable\" : \"\") + (!this.state.shouldAnimate ? \" stop-animation\" : \"\"),\n dataModifier: this.props.modifier,\n alt: this.label,\n src: this.props.url\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"DiscordModules\"].React.createElement(\"input\", {\n className: \"fav\" + (this.state.isFavorite ? \" active\" : \"\"),\n title: \"Favorite!\",\n type: \"button\",\n onClick: e => {\n e.preventDefault();\n e.stopPropagation();\n\n if (this.state.isFavorite) {\n delete _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].favoriteEmotes[this.label];\n _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].updateFavorites();\n } else {\n _builtins_emotemenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].favorite(this.label, this.props.url);\n }\n\n this.setState({\n isFavorite: !this.state.isFavorite\n });\n }\n })));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2Vtb3RlLmpzPzZjY2IiXSwibmFtZXMiOlsiQkRFbW90ZSIsIkRpc2NvcmRNb2R1bGVzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiaXNGYXYiLCJFbW90ZU1lbnUiLCJmYXZvcml0ZUVtb3RlcyIsImxhYmVsIiwic3RhdGUiLCJzaG91bGRBbmltYXRlIiwiYW5pbWF0ZU9uSG92ZXIiLCJpc0Zhdm9yaXRlIiwib25Nb3VzZUVudGVyIiwiYmluZCIsIm9uTW91c2VMZWF2ZSIsIm9uQ2xpY2siLCJTZXR0aW5ncyIsImdldCIsIm1vZGlmaWVyIiwibmFtZSIsIm1vZGlmaWVyQ2xhc3MiLCJzZXRTdGF0ZSIsImUiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiQkRWMiIsIlRvb2x0aXBXcmFwcGVyIiwiY29sb3IiLCJwb3NpdGlvbiIsInRleHQiLCJkZWxheSIsImNsYXNzTmFtZSIsImp1bWJvYWJsZSIsImRyYWdnYWJsZSIsImRhdGFNb2RpZmllciIsImFsdCIsInNyYyIsInVybCIsInRpdGxlIiwidHlwZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwidXBkYXRlRmF2b3JpdGVzIiwiZmF2b3JpdGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVlLE1BQU1BLE9BQU4sU0FBc0JDLHNEQUFjLENBQUNDLEtBQWYsQ0FBcUJDLFNBQTNDLENBQXFEO0FBQ2hFQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFFQSxVQUFNQyxLQUFLLEdBQUdDLDJEQUFTLElBQUlBLDJEQUFTLENBQUNDLGNBQXZCLElBQXlDRCwyREFBUyxDQUFDQyxjQUFWLENBQXlCLEtBQUtDLEtBQTlCLENBQXpDLEdBQWdGLElBQWhGLEdBQXVGLEtBQXJHO0FBQ0EsU0FBS0MsS0FBTCxHQUFhO0FBQ1RDLG1CQUFhLEVBQUUsQ0FBQyxL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LEdBQXVCLFlBQXZCLEdBQXNDLEVBQXRFLEtBQTZFLENBQUMsS0FBS3hCLEtBQUwsQ0FBV0MsYUFBWixHQUE0QixpQkFBNUIsR0FBZ0QsRUFBN0gsQ0FGMkI7QUFHdEN5QixrQkFBWSxFQUFFLEtBQUsvQixLQUFMLENBQVdlLFFBSGE7QUFJdENpQixTQUFHLEVBQUUsS0FBSzVCLEtBSjRCO0FBS3RDNkIsU0FBRyxFQUFFLEtBQUtqQyxLQUFMLENBQVdrQztBQUxzQixLQUExQyxDQU5KLEVBYUl0QyxzREFBYyxDQUFDQyxLQUFmLENBQXFCd0IsYUFBckIsQ0FBbUMsT0FBbkMsRUFBNEM7QUFDeENPLGVBQVMsRUFBRSxTQUFTLEtBQUt2QixLQUFMLENBQVdHLFVBQVgsR0FBd0IsU0FBeEIsR0FBb0MsRUFBN0MsQ0FENkI7QUFFeEMyQixXQUFLLEVBQUUsV0FGaUM7QUFHeENDLFVBQUksRUFBRSxRQUhrQztBQUl4Q3hCLGFBQU8sRUFBR08sQ0FBRCxJQUFPO0FBQ1pBLFNBQUMsQ0FBQ2tCLGNBQUY7QUFDQWxCLFNBQUMsQ0FBQ21CLGVBQUY7O0FBQ0EsWUFBSSxLQUFLakMsS0FBTCxDQUFXRyxVQUFmLEVBQTJCO0FBQ3ZCLGlCQUFPTiwyREFBUyxDQUFDQyxjQUFWLENBQXlCLEtBQUtDLEtBQTlCLENBQVA7QUFDQUYscUVBQVMsQ0FBQ3FDLGVBQVY7QUFDSCxTQUhELE1BSUs7QUFDRHJDLHFFQUFTLENBQUNzQyxRQUFWLENBQW1CLEtBQUtwQyxLQUF4QixFQUErQixLQUFLSixLQUFMLENBQVdrQyxHQUExQztBQUNIOztBQUNELGFBQUtoQixRQUFMLENBQWM7QUFBQ1Ysb0JBQVUsRUFBRSxDQUFDLEtBQUtILEtBQUwsQ0FBV0c7QUFBekIsU0FBZDtBQUNIO0FBZnVDLEtBQTVDLENBYkosQ0FORCxDQUFQO0FBc0NIOztBQWhGK0QiLCJmaWxlIjoiLi9zcmMvdWkvZW1vdGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JEVjIsIERpc2NvcmRNb2R1bGVzLCBTZXR0aW5nc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuaW1wb3J0IEVtb3RlTWVudSBmcm9tIFwiLi4vYnVpbHRpbnMvZW1vdGVtZW51XCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCREVtb3RlIGV4dGVuZHMgRGlzY29yZE1vZHVsZXMuUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG5cclxuICAgICAgICBjb25zdCBpc0ZhdiA9IEVtb3RlTWVudSAmJiBFbW90ZU1lbnUuZmF2b3JpdGVFbW90ZXMgJiYgRW1vdGVNZW51LmZhdm9yaXRlRW1vdGVzW3RoaXMubGFiZWxdID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIHNob3VsZEFuaW1hdGU6ICF0aGlzLmFuaW1hdGVPbkhvdmVyLFxyXG4gICAgICAgICAgICBpc0Zhdm9yaXRlOiBpc0ZhdlxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMub25Nb3VzZUVudGVyID0gdGhpcy5vbk1vdXNlRW50ZXIuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLm9uTW91c2VMZWF2ZSA9IHRoaXMub25Nb3VzZUxlYXZlLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5vbkNsaWNrID0gdGhpcy5vbkNsaWNrLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGFuaW1hdGVPbkhvdmVyKCkge1xyXG4gICAgICAgIHJldHVybiBTZXR0aW5ncy5nZXQoXCJlbW90ZXNcIiwgXCJnZW5lcmFsXCIsIFwiYW5pbWF0ZU9uSG92ZXJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGxhYmVsKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLm1vZGlmaWVyID8gYCR7dGhpcy5wcm9wcy5uYW1lfToke3RoaXMucHJvcHMubW9kaWZpZXJ9YCA6IHRoaXMucHJvcHMubmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbW9kaWZpZXJDbGFzcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5tb2RpZmllciA/IGAgZW1vdGUke3RoaXMucHJvcHMubW9kaWZpZXJ9YCA6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgb25Nb3VzZUVudGVyKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5zdGF0ZS5zaG91bGRBbmltYXRlICYmIHRoaXMuYW5pbWF0ZU9uSG92ZXIpIHRoaXMuc2V0U3RhdGUoe3Nob3VsZEFuaW1hdGU6IHRydWV9KTtcclxuICAgICAgICBpZiAoIXRoaXMuc3RhdGUuaXNGYXZvcml0ZSAmJiBFbW90ZU1lbnUuZmF2b3JpdGVFbW90ZXNbdGhpcy5sYWJlbF0pIHRoaXMuc2V0U3RhdGUoe2lzRmF2b3JpdGU6IHRydWV9KTtcclxuICAgICAgICBlbHNlIGlmICh0aGlzLnN0YXRlLmlzRmF2b3JpdGUgJiYgIUVtb3RlTWVudS5mYXZvcml0ZUVtb3Rlc1t0aGlzLmxhYmVsXSkgdGhpcy5zZXRTdGF0ZSh7aXNGYXZvcml0ZTogZmFsc2V9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlTGVhdmUoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuc2hvdWxkQW5pbWF0ZSAmJiB0aGlzLmFuaW1hdGVPbkhvdmVyKSB0aGlzLnNldFN0YXRlKHtzaG91bGRBbmltYXRlOiBmYWxzZX0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xpY2soZSkge1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uQ2xpY2spIHRoaXMucHJvcHMub25DbGljayhlKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIERpc2NvcmRNb2R1bGVzLlJlYWN0LmNyZWF0ZUVsZW1lbnQoQkRWMi5Ub29sdGlwV3JhcHBlciwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IFwiYmxhY2tcIixcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcInRvcFwiLFxyXG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy5sYWJlbCxcclxuICAgICAgICAgICAgICAgIGRlbGF5OiA3NTBcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIERpc2NvcmRNb2R1bGVzLlJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJlbW90ZXdyYXBwZXJcIiArICh0aGlzLnByb3BzLmp1bWJvYWJsZSA/IFwiIGp1bWJvYWJsZVwiIDogXCJcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyOiB0aGlzLm9uTW91c2VFbnRlcixcclxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmU6IHRoaXMub25Nb3VzZUxlYXZlLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IHRoaXMub25DbGlja1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBEaXNjb3JkTW9kdWxlcy5SZWFjdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImVtb3RlXCIgKyB0aGlzLm1vZGlmaWVyQ2xhc3MgKyAodGhpcy5wcm9wcy5qdW1ib2FibGUgPyBcIiBqdW1ib2FibGVcIiA6IFwiXCIpICsgKCF0aGlzLnN0YXRlLnNob3VsZEFuaW1hdGUgPyBcIiBzdG9wLWFuaW1hdGlvblwiIDogXCJcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFNb2RpZmllcjogdGhpcy5wcm9wcy5tb2RpZmllcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0OiB0aGlzLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM6IHRoaXMucHJvcHMudXJsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgRGlzY29yZE1vZHVsZXMuUmVhY3QuY3JlYXRlRWxlbWVudChcImlucHV0XCIsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcImZhdlwiICsgKHRoaXMuc3RhdGUuaXNGYXZvcml0ZSA/IFwiIGFjdGl2ZVwiIDogXCJcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIkZhdm9yaXRlIVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlLmlzRmF2b3JpdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgRW1vdGVNZW51LmZhdm9yaXRlRW1vdGVzW3RoaXMubGFiZWxdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVtb3RlTWVudS51cGRhdGVGYXZvcml0ZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVtb3RlTWVudS5mYXZvcml0ZSh0aGlzLmxhYmVsLCB0aGlzLnByb3BzLnVybCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtpc0Zhdm9yaXRlOiAhdGhpcy5zdGF0ZS5pc0Zhdm9yaXRlfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/emote.js\n");
/***/ }),
/***/ "./src/ui/icons/bdlogo.jsx":
/*!*********************************!*\
!*** ./src/ui/icons/bdlogo.jsx ***!
\*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return BDLogo; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass BDLogo extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n className: \"bd-logo \" + this.props.className,\n height: \"100%\",\n width: this.props.size || \"16px\",\n viewBox: \"0 0 2000 2000\",\n style: {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"metadata\", null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"defs\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"filter\", {\n id: \"shadow1\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"feDropShadow\", {\n dx: \"20\",\n dy: \"0\",\n stdDeviation: \"20\",\n floodColor: \"rgba(0,0,0,0.35)\"\n })), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"filter\", {\n id: \"shadow2\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"feDropShadow\", {\n dx: \"15\",\n dy: \"0\",\n stdDeviation: \"20\",\n floodColor: \"rgba(255,255,255,0.15)\"\n })), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"filter\", {\n id: \"shadow3\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"feDropShadow\", {\n dx: \"10\",\n dy: \"0\",\n stdDeviation: \"20\",\n floodColor: \"rgba(0,0,0,0.35)\"\n }))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"g\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n style: {\n filter: \"url(#shadow3)\"\n },\n fill: \"#171717\",\n opacity: \"1\",\n d: \"M1195.44+135.442L1195.44+135.442L997.6+136.442C1024.2+149.742+1170.34+163.542+1193.64+179.742C1264.34+228.842+1319.74+291.242+1358.24+365.042C1398.14+441.642+1419.74+530.642+1422.54+629.642L1422.54+630.842L1422.54+632.042C1422.54+773.142+1422.54+1228.14+1422.54+1369.14L1422.54+1370.34L1422.54+1371.54C1419.84+1470.54+1398.24+1559.54+1358.24+1636.14C1319.74+1709.94+1264.44+1772.34+1193.64+1821.44C1171.04+1837.14+1025.7+1850.54+1000+1863.54L1193.54+1864.54C1539.74+1866.44+1864.54+1693.34+1864.54+1296.64L1864.54+716.942C1866.44+312.442+1541.64+135.442+1195.44+135.442Z\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n style: {\n filter: \"url(#shadow2)\"\n },\n fill: \"#3E82E5\",\n opacity: \"1\",\n d: \"M1695.54+631.442C1685.84+278.042+1409.34+135.442+1052.94+135.442L361.74+136.442L803.74+490.442L1060.74+490.442C1335.24+490.442+1335.24+835.342+1060.74+835.342L1060.74+1164.84C1150.22+1164.84+1210.53+1201.48+1241.68+1250.87C1306.07+1353+1245.76+1509.64+1060.74+1509.64L361.74+1863.54L1052.94+1864.54C1409.24+1864.54+1685.74+1721.94+1695.54+1368.54C1695.54+1205.94+1651.04+1084.44+1572.64+999.942C1651.04+915.542+1695.54+794.042+1695.54+631.442Z\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n style: {\n filter: \"url(#shadow1)\"\n },\n fill: \"#FFFFFF\",\n opacity: \"1\",\n d: \"M1469.25+631.442C1459.55+278.042+1183.05+135.442+826.65+135.442L135.45+135.442L135.45+1004C135.45+1004+135.427+1255.21+355.626+1255.21C575.825+1255.21+575.848+1004+575.848+1004L577.45+490.442L834.45+490.442C1108.95+490.442+1108.95+835.342+834.45+835.342L664.65+835.342L664.65+1164.84L834.45+1164.84C923.932+1164.84+984.244+1201.48+1015.39+1250.87C1079.78+1353+1019.47+1509.64+834.45+1509.64L135.45+1509.64L135.45+1864.54L826.65+1864.54C1182.95+1864.54+1459.45+1721.94+1469.25+1368.54C1469.25+1205.94+1424.75+1084.44+1346.35+999.942C1424.75+915.542+1469.25+794.042+1469.25+631.442Z\"\n })));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL2JkbG9nby5qc3g/YmQ4OSJdLCJuYW1lcyI6WyJCRExvZ28iLCJSZWFjdCIsIkNvbXBvbmVudCIsInJlbmRlciIsInByb3BzIiwiY2xhc3NOYW1lIiwic2l6ZSIsImZpbGxSdWxlIiwiY2xpcFJ1bGUiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJmaWx0ZXIiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsTUFBTixTQUFxQkMsNkNBQUssQ0FBQ0MsU0FBM0IsQ0FBcUM7QUFDaERDLFFBQU0sR0FBRztBQUNMLFdBQU87QUFBSyxlQUFTLEVBQUUsYUFBYSxLQUFLQyxLQUFMLENBQVdDLFNBQXhDO0FBQW1ELFlBQU0sRUFBQyxNQUExRDtBQUFpRSxXQUFLLEVBQUUsS0FBS0QsS0FBTCxDQUFXRSxJQUFYLElBQW1CLE1BQTNGO0FBQW1HLGFBQU8sRUFBQyxlQUEzRztBQUEySCxXQUFLLEVBQUU7QUFBQ0MsZ0JBQVEsRUFBRSxTQUFYO0FBQXNCQyxnQkFBUSxFQUFFLFNBQWhDO0FBQTJDQyxxQkFBYSxFQUFFLE9BQTFEO0FBQW1FQyxzQkFBYyxFQUFFO0FBQW5GO0FBQWxJLE9BQ0gsNkVBREcsRUFFSCwwRUFDSTtBQUFRLFFBQUUsRUFBQztBQUFYLE9BQXFCO0FBQWMsUUFBRSxFQUFDLElBQWpCO0FBQXNCLFFBQUUsRUFBQyxHQUF6QjtBQUE2QixrQkFBWSxFQUFDLElBQTFDO0FBQStDLGdCQUFVLEVBQUM7QUFBMUQsTUFBckIsQ0FESixFQUVJO0FBQVEsUUFBRSxFQUFDO0FBQVgsT0FBcUI7QUFBYyxRQUFFLEVBQUMsSUFBakI7QUFBc0IsUUFBRSxFQUFDLEdBQXpCO0FBQTZCLGtCQUFZLEVBQUMsSUFBMUM7QUFBK0MsZ0JBQVUsRUFBQztBQUExRCxNQUFyQixDQUZKLEVBR0k7QUFBUSxRQUFFLEVBQUM7QUFBWCxPQUFxQjtBQUFjLFFBQUUsRUFBQyxJQUFqQjtBQUFzQixRQUFFLEVBQUMsR0FBekI7QUFBNkIsa0JBQVksRUFBQyxJQUExQztBQUErQyxnQkFBVSxFQUFDO0FBQTFELE1BQXJCLENBSEosQ0FGRyxFQU9ILHVFQUNJO0FBQU0sV0FBSyxFQUFFO0FBQUNDLGNBQU0sRUFBRTtBQUFULE9BQWI7QUFBd0MsVUFBSSxFQUFDLFNBQTdDO0FBQXVELGFBQU8sRUFBQyxHQUEvRDtBQUFtRSxPQUFDLEVBQUM7QUFBckUsTUFESixFQUVJO0FBQU0sV0FBSyxFQUFFO0FBQUNBLGNBQU0sRUFBRTtBQUFULE9BQWI7QUFBd0MsVUFBSSxFQUFDLFNBQTdDO0FBQXVELGFBQU8sRUFBQyxHQUEvRDtBQUFtRSxPQUFDLEVBQUM7QUFBckUsTUFGSixFQUdJO0FBQU0sV0FBSyxFQUFFO0FBQUNBLGNBQU0sRUFBRTtBQUFULE9BQWI7QUFBd0MsVUFBSSxFQUFDLFNBQTdDO0FBQXVELGFBQU8sRUFBQyxHQUEvRDtBQUFtRSxPQUFDLEVBQUM7QUFBckUsTUFISixDQVBHLENBQVA7QUFhSDs7QUFmK0MiLCJmaWxlIjoiLi9zcmMvdWkvaWNvbnMvYmRsb2dvLmpzeC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCRExvZ28gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiA8c3ZnIGNsYXNzTmFtZT17XCJiZC1sb2dvIFwiICsgdGhpcy5wcm9wcy5jbGFzc05hbWV9IGhlaWdodD1cIjEwMCVcIiB3aWR0aD17dGhpcy5wcm9wcy5zaXplIHx8IFwiMTZweFwifSB2aWV3Qm94PVwiMCAwIDIwMDAgMjAwMFwiIHN0eWxlPXt7ZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLCBjbGlwUnVsZTogXCJldmVub2RkXCIsIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIiwgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIn19PlxyXG4gICAgICAgICAgICA8bWV0YWRhdGEgLz5cclxuICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICA8ZmlsdGVyIGlkPVwic2hhZG93MVwiPjxmZURyb3BTaGFkb3cgZHg9XCIyMFwiIGR5PVwiMFwiIHN0ZERldmlhdGlvbj1cIjIwXCIgZmxvb2RDb2xvcj1cInJnYmEoMCwwLDAsMC4zNSlcIiAvPjwvZmlsdGVyPlxyXG4gICAgICAgICAgICAgICAgPGZpbHRlciBpZD1cInNoYWRvdzJcIj48ZmVEcm9wU2hhZG93IGR4PVwiMTVcIiBkeT1cIjBcIiBzdGREZXZpYXRpb249XCIyMFwiIGZsb29kQ29sb3I9XCJyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpXCIgLz48L2ZpbHRlcj5cclxuICAgICAgICAgICAgICAgIDxmaWx0ZXIgaWQ9XCJzaGFkb3czXCI+PGZlRHJvcFNoYWRvdyBkeD1cIjEwXCIgZHk9XCIwXCIgc3RkRGV2aWF0aW9uPVwiMjBcIiBmbG9vZENvbG9yPVwicmdiYSgwLDAsMCwwLjM1KVwiIC8+PC9maWx0ZXI+XHJcbiAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgPGc+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBzdHlsZT17e2ZpbHRlcjogXCJ1cmwoI3NoYWRvdzMpXCJ9fSBmaWxsPVwiIzE3MTcxN1wiIG9wYWNpdHk9XCIxXCIgZD1cIk0xMTk1LjQ0KzEzNS40NDJMMTE5NS40NCsxMzUuNDQyTDk5Ny42KzEzNi40NDJDMTAyNC4yKzE0OS43NDIrMTE3MC4zNCsxNjMuNTQyKzExOTMuNjQrMTc5Ljc0MkMxMjY0LjM0KzIyOC44NDIrMTMxOS43NCsyOTEuMjQyKzEzNTguMjQrMzY1LjA0MkMxMzk4LjE0KzQ0MS42NDIrMTQxOS43NCs1MzAuNjQyKzE0MjIuNTQrNjI5LjY0MkwxNDIyLjU0KzYzMC44NDJMMTQyMi41NCs2MzIuMDQyQzE0MjIuNTQrNzczLjE0MisxNDIyLjU0KzEyMjguMTQrMTQyMi41NCsxMzY5LjE0TDE0MjIuNTQrMTM3MC4zNEwxNDIyLjU0KzEzNzEuNTRDMTQxOS44NCsxNDcwLjU0KzEzOTguMjQrMTU1OS41NCsxMzU4LjI0KzE2MzYuMTRDMTMxOS43NCsxNzA5Ljk0KzEyNjQuNDQrMTc3Mi4zNCsxMTkzLjY0KzE4MjEuNDRDMTE3MS4wNCsxODM3LjE0KzEwMjUuNysxODUwLjU0KzEwMDArMTg2My41NEwxMTkzLjU0KzE4NjQuNTRDMTUzOS43NCsxODY2LjQ0KzE4NjQuNTQrMTY5My4zNCsxODY0LjU0KzEyOTYuNjRMMTg2NC41NCs3MTYuOTQyQzE4NjYuNDQrMzEyLjQ0MisxNTQxLjY0KzEzNS40NDIrMTE5NS40NCsxMzUuNDQyWlwiIC8+XHJcbiAgICAgICAgICAgICAgICA8cGF0aCBzdHlsZT17e2ZpbHRlcjogXCJ1cmwoI3NoYWRvdzIpXCJ9fSBmaWxsPVwiIzNFODJFNVwiIG9wYWNpdHk9XCIxXCIgZD1cIk0xNjk1LjU0KzYzMS40NDJDMTY4NS44NCsyNzguMDQyKzE0MDkuMzQrMTM1LjQ0MisxMDUyLjk0KzEzNS40NDJMMzYxLjc0KzEzNi40NDJMODAzLjc0KzQ5MC40NDJMMTA2MC43NCs0OTAuNDQyQzEzMzUuMjQrNDkwLjQ0MisxMzM1LjI0KzgzNS4zNDIrMTA2MC43NCs4MzUuMzQyTDEwNjAuNzQrMTE2NC44NEMxMTUwLjIyKzExNjQuODQrMTIxMC41MysxMjAxLjQ4KzEyNDEuNjgrMTI1MC44N0MxMzA2LjA3KzEzNTMrMTI0NS43NisxNTA5LjY0KzEwNjAuNzQrMTUwOS42NEwzNjEuNzQrMTg2My41NEwxMDUyLjk0KzE4NjQuNTRDMTQwOS4yNCsxODY0LjU0KzE2ODUuNzQrMTcyMS45NCsxNjk1LjU0KzEzNjguNTRDMTY5NS41NCsxMjA1Ljk0KzE2NTEuMDQrMTA4NC40NCsxNTcyLjY0Kzk5OS45NDJDMTY1MS4wNCs5MTUuNTQyKzE2OTUuNTQrNzk0LjA0MisxNjk1LjU0KzYzMS40NDJaXCIgLz5cclxuICAgICAgICAgICAgICAgIDxwYXRoIHN0eWxlPXt7ZmlsdGVyOiBcInVybCgjc2hhZG93MSlcIn19IGZpbGw9XCIjRkZGRkZGXCIgb3BhY2l0eT1cIjFcIiBkPVwiTTE0NjkuMjUrNjMxLjQ0MkMxNDU5LjU1KzI3OC4wNDIrMTE4My4wNSsxMzUuNDQyKzgyNi42NSsxMzUuNDQyTDEzNS40NSsxMzUuNDQyTDEzNS40NSsxMDA0QzEzNS40NSsxMDA0KzEzNS40MjcrMTI1NS4yMSszNTUuNjI2KzEyNTUuMjFDNTc1LjgyNSsxMjU1LjIxKzU3NS44NDgrMTAwNCs1NzUuODQ4KzEwMDRMNTc3LjQ1KzQ5MC40NDJMODM0LjQ1KzQ5MC40NDJDMTEwOC45NSs0OTAuNDQyKzExMDguOTUrODM1LjM0Mis4MzQuNDUrODM1LjM0Mkw2NjQuNjUrODM1LjM0Mkw2NjQuNjUrMTE2NC44NEw4MzQuNDUrMTE2NC44NEM5MjMuOTMyKzExNjQuODQrOTg0LjI0NCsxMjAxLjQ4KzEwMTUuMzkrMTI1MC44N0MxMDc5Ljc4KzEzNTMrMTAxOS40NysxNTA5LjY0KzgzNC40NSsxNTA5LjY0TDEzNS40NSsxNTA5LjY0TDEzNS40NSsxODY0LjU0TDgyNi42NSsxODY0LjU0QzExODIuOTUrMTg2NC41NCsxNDU5LjQ1KzE3MjEuOTQrMTQ2OS4yNSsxMzY4LjU0QzE0NjkuMjUrMTIwNS45NCsxNDI0Ljc1KzEwODQuNDQrMTM0Ni4zNSs5OTkuOTQyQzE0MjQuNzUrOTE1LjU0MisxNDY5LjI1Kzc5NC4wNDIrMTQ2OS4yNSs2MzEuNDQyWlwiIC8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz47XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/icons/bdlogo.jsx\n");
/***/ }),
/***/ "./src/ui/icons/close.jsx":
/*!********************************!*\
!*** ./src/ui/icons/close.jsx ***!
\********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return CloseButton; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass CloseButton extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n viewBox: \"0 0 12 12\",\n style: {\n width: \"18px\",\n height: \"18px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"g\", {\n className: \"background\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n d: \"M0 0h12v12H0\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n className: \"fill\",\n fill: \"#dcddde\",\n d: \"M9.5 3.205L8.795 2.5 6 5.295 3.205 2.5l-.705.705L5.295 6 2.5 8.795l.705.705L6 6.705 8.795 9.5l.705-.705L6.705 6\"\n })));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL2Nsb3NlLmpzeD9iY2UxIl0sIm5hbWVzIjpbIkNsb3NlQnV0dG9uIiwiUmVhY3QiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJ3aWR0aCIsImhlaWdodCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFFZSxNQUFNQSxXQUFOLFNBQTBCQyw2Q0FBSyxDQUFDQyxTQUFoQyxDQUEwQztBQUNyREMsUUFBTSxHQUFHO0FBQ0wsV0FBTztBQUFLLGFBQU8sRUFBQyxXQUFiO0FBQXlCLFdBQUssRUFBRTtBQUFDQyxhQUFLLEVBQUUsTUFBUjtBQUFnQkMsY0FBTSxFQUFFO0FBQXhCO0FBQWhDLE9BQ0g7QUFBRyxlQUFTLEVBQUMsWUFBYjtBQUEwQixVQUFJLEVBQUMsTUFBL0I7QUFBc0MsY0FBUSxFQUFDO0FBQS9DLE9BQ0k7QUFBTSxPQUFDLEVBQUM7QUFBUixNQURKLEVBRUk7QUFBTSxlQUFTLEVBQUMsTUFBaEI7QUFBdUIsVUFBSSxFQUFDLFNBQTVCO0FBQXNDLE9BQUMsRUFBQztBQUF4QyxNQUZKLENBREcsQ0FBUDtBQU1IOztBQVJvRCIsImZpbGUiOiIuL3NyYy91aS9pY29ucy9jbG9zZS5qc3guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2xvc2VCdXR0b24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIHJldHVybiA8c3ZnIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBzdHlsZT17e3dpZHRoOiBcIjE4cHhcIiwgaGVpZ2h0OiBcIjE4cHhcIn19PlxyXG4gICAgICAgICAgICA8ZyBjbGFzc05hbWU9XCJiYWNrZ3JvdW5kXCIgZmlsbD1cIm5vbmVcIiBmaWxsUnVsZT1cImV2ZW5vZGRcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMCAwaDEydjEySDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGggY2xhc3NOYW1lPVwiZmlsbFwiIGZpbGw9XCIjZGNkZGRlXCIgZD1cIk05LjUgMy4yMDVMOC43OTUgMi41IDYgNS4yOTUgMy4yMDUgMi41bC0uNzA1LjcwNUw1LjI5NSA2IDIuNSA4Ljc5NWwuNzA1LjcwNUw2IDYuNzA1IDguNzk1IDkuNWwuNzA1LS43MDVMNi43MDUgNlwiIC8+XHJcbiAgICAgICAgICAgIDwvZz5cclxuICAgICAgICA8L3N2Zz47XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/icons/close.jsx\n");
/***/ }),
/***/ "./src/ui/icons/reload.jsx":
/*!*********************************!*\
!*** ./src/ui/icons/reload.jsx ***!
\*********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ReloadIcon; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass ReloadIcon extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n render() {\n const size = this.props.size || \"24px\";\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"svg\", {\n className: \"bd-reload \" + this.props.className,\n onClick: this.props.onClick,\n fill: \"#dcddde\",\n viewBox: \"0 0 24 24\",\n style: {\n width: size,\n height: size\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n d: \"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n }));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL2ljb25zL3JlbG9hZC5qc3g/MzhiMiJdLCJuYW1lcyI6WyJSZWxvYWRJY29uIiwiUmVhY3QiLCJDb21wb25lbnQiLCJyZW5kZXIiLCJzaXplIiwicHJvcHMiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwid2lkdGgiLCJoZWlnaHQiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsVUFBTixTQUF5QkMsNkNBQUssQ0FBQ0MsU0FBL0IsQ0FBeUM7QUFDcERDLFFBQU0sR0FBRztBQUNMLFVBQU1DLElBQUksR0FBRyxLQUFLQyxLQUFMLENBQVdELElBQVgsSUFBbUIsTUFBaEM7QUFDQSxXQUFPO0FBQUssZUFBUyxFQUFFLGVBQWUsS0FBS0MsS0FBTCxDQUFXQyxTQUExQztBQUFxRCxhQUFPLEVBQUUsS0FBS0QsS0FBTCxDQUFXRSxPQUF6RTtBQUFrRixVQUFJLEVBQUMsU0FBdkY7QUFBaUcsYUFBTyxFQUFDLFdBQXpHO0FBQXFILFdBQUssRUFBRTtBQUFDQyxhQUFLLEVBQUVKLElBQVI7QUFBY0ssY0FBTSxFQUFFTDtBQUF0QjtBQUE1SCxPQUNIO0FBQU0sT0FBQyxFQUFDO0FBQVIsTUFERyxFQUVIO0FBQU0sVUFBSSxFQUFDLE1BQVg7QUFBa0IsT0FBQyxFQUFDO0FBQXBCLE1BRkcsQ0FBUDtBQUlIOztBQVBtRCIsImZpbGUiOiIuL3NyYy91aS9pY29ucy9yZWxvYWQuanN4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlbG9hZEljb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLnByb3BzLnNpemUgfHwgXCIyNHB4XCI7XHJcbiAgICAgICAgcmV0dXJuIDxzdmcgY2xhc3NOYW1lPXtcImJkLXJlbG9hZCBcIiArIHRoaXMucHJvcHMuY2xhc3NOYW1lfSBvbkNsaWNrPXt0aGlzLnByb3BzLm9uQ2xpY2t9IGZpbGw9XCIjZGNkZGRlXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHN0eWxlPXt7d2lkdGg6IHNpemUsIGhlaWdodDogc2l6ZX19PlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE3LjY1IDYuMzVDMTYuMiA0LjkgMTQuMjEgNCAxMiA0Yy00LjQyIDAtNy45OSAzLjU4LTcuOTkgOHMzLjU3IDggNy45OSA4YzMuNzMgMCA2Ljg0LTIuNTUgNy43My02aC0yLjA4Yy0uODIgMi4zMy0zLjA0IDQtNS42NSA0LTMuMzEgMC02LTIuNjktNi02czIuNjktNiA2LTZjMS42NiAwIDMuMTQuNjkgNC4yMiAxLjc4TDEzIDExaDdWNGwtMi4zNSAyLjM1elwiIC8+XHJcbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJub25lXCIgZD1cIk0wIDBoMjR2MjRIMHpcIiAvPlxyXG4gICAgICAgIDwvc3ZnPjtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/icons/reload.jsx\n");
/***/ }),
/***/ "./src/ui/modals.js":
/*!**************************!*\
!*** ./src/ui/modals.js ***!
\**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Modals; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Modals {\n static get shouldShowContentErrors() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"contentErrors\");\n }\n\n static get ModalStack() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"push\", \"update\", \"pop\", \"popWithKey\");\n }\n\n static get AlertModal() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByPrototypes(\"handleCancel\", \"handleSubmit\", \"handleMinorConfirm\");\n }\n\n static get TextElement() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"Sizes\", \"Weights\");\n }\n\n static get ConfirmationModal() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getModule(m => m.defaultProps && m.key && m.key() == \"confirm-modal\");\n }\n\n static default(title, content) {\n const modal = $(`<div class=\"bd-modal-wrapper theme-dark\">\n <div class=\"bd-backdrop backdrop-1wrmKB\"></div>\n <div class=\"bd-modal modal-1UGdnR\">\n <div class=\"bd-modal-inner inner-1JeGVc\">\n <div class=\"header header-1R_AjF\">\n <div class=\"title\">${title}</div>\n </div>\n <div class=\"bd-modal-body\">\n <div class=\"scroller-wrap fade\">\n <div class=\"scroller\">\n ${content}\n </div>\n </div>\n </div>\n <div class=\"footer footer-2yfCgX\">\n <button type=\"button\">Okay</button>\n </div>\n </div>\n </div>\n </div>`);\n modal.find(\".footer button\").on(\"click\", () => {\n modal.addClass(\"closing\");\n setTimeout(() => {\n modal.remove();\n }, 300);\n });\n modal.find(\".bd-backdrop\").on(\"click\", () => {\n modal.addClass(\"closing\");\n setTimeout(() => {\n modal.remove();\n }, 300);\n });\n modal.appendTo(\"#app-mount\");\n }\n\n static alert(title, content) {\n if (this.ModalStack && this.AlertModal) return this.default(title, content);\n this.ModalStack.push(function (props) {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(this.AlertModal, Object.assign({\n title: title,\n body: content\n }, props));\n });\n }\n /**\r\n * Shows a generic but very customizable confirmation modal with optional confirm and cancel callbacks.\r\n * @param {string} title - title of the modal\r\n * @param {(string|ReactElement|Array<string|ReactElement>)} children - a single or mixed array of react elements and strings. Everything is wrapped in Discord's `TextElement` component so strings will show and render properly.\r\n * @param {object} [options] - options to modify the modal\r\n * @param {boolean} [options.danger=false] - whether the main button should be red or not\r\n * @param {string} [options.confirmText=Okay] - text for the confirmation/submit button\r\n * @param {string} [options.cancelText=Cancel] - text for the cancel button\r\n * @param {callable} [options.onConfirm=NOOP] - callback to occur when clicking the submit button\r\n * @param {callable} [options.onCancel=NOOP] - callback to occur when clicking the cancel button\r\n */\n\n\n static showConfirmationModal(title, content, options = {}) {\n const TextElement = this.TextElement;\n const ConfirmationModal = this.ConfirmationModal;\n const ModalStack = this.ModalStack;\n if (!this.ModalStack || !this.ConfirmationModal || !this.TextElement) return this.alert(title, content);\n const {\n onConfirm,\n onCancel,\n confirmText,\n cancelText,\n danger = false\n } = options;\n if (typeof content == \"string\") content = TextElement({\n color: TextElement.Colors.PRIMARY,\n children: [content]\n });else if (Array.isArray(content)) content = TextElement({\n color: TextElement.Colors.PRIMARY,\n children: content\n });\n content = [content];\n\n const emptyFunction = () => {};\n\n ModalStack.push(function (props) {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(ConfirmationModal, Object.assign({\n header: title,\n children: content,\n red: danger,\n confirmText: confirmText ? confirmText : \"Okay\",\n cancelText: cancelText ? cancelText : \"Cancel\",\n onConfirm: onConfirm ? onConfirm : emptyFunction,\n onCancel: onCancel ? onCancel : emptyFunction\n }, props));\n });\n }\n\n static showContentErrors({\n plugins: pluginErrors = [],\n themes: themeErrors = []\n }) {\n if (!pluginErrors || !themeErrors || !this.shouldShowContentErrors) return;\n if (!pluginErrors.length && !themeErrors.length) return;\n const modal = $(`<div class=\"bd-modal-wrapper theme-dark\">\n <div class=\"bd-backdrop backdrop-1wrmKB\"></div>\n <div class=\"bd-modal bd-content-modal modal-1UGdnR\">\n <div class=\"bd-modal-inner inner-1JeGVc\">\n <div class=\"header header-1R_AjF\"><div class=\"title\">Content Errors</div></div>\n <div class=\"bd-modal-body\">\n <div class=\"tab-bar-container\">\n <div class=\"tab-bar TOP\">\n <div class=\"tab-bar-item\">Plugins</div>\n <div class=\"tab-bar-item\">Themes</div>\n </div>\n </div>\n <div class=\"table-header\">\n <div class=\"table-column column-name\">Name</div>\n <div class=\"table-column column-message\">Message</div>\n <div class=\"table-column column-error\">Error</div>\n </div>\n <div class=\"scroller-wrap fade\">\n <div class=\"scroller\">\n\n </div>\n </div>\n </div>\n <div class=\"footer footer-2yfCgX\">\n <button type=\"button\">Okay</button>\n </div>\n </div>\n </div>\n </div>`);\n\n const generateTab = function (errors) {\n const container = $(`<div class=\"errors\">`);\n\n for (const err of errors) {\n const error = $(`<div class=\"error\">\n <div class=\"table-column column-name\">${err.name ? err.name : err.file}</div>\n <div class=\"table-column column-message\">${err.message}</div>\n <div class=\"table-column column-error\"><a class=\"error-link\" href=\"\">${err.error ? err.error.message : \"\"}</a></div>\n </div>`);\n container.append(error);\n\n if (err.error) {\n error.find(\"a\").on(\"click\", e => {\n e.preventDefault();\n modules__WEBPACK_IMPORTED_MODULE_0__[\"Utilities\"].err(\"ContentManager\", `Error details for ${err.name ? err.name : err.file}.`, err.error);\n });\n }\n }\n\n return container;\n };\n\n const tabs = [generateTab(pluginErrors), generateTab(themeErrors)];\n modal.find(\".tab-bar-item\").on(\"click\", e => {\n e.preventDefault();\n modal.find(\".tab-bar-item\").removeClass(\"selected\");\n $(e.target).addClass(\"selected\");\n modal.find(\".scroller\").empty().append(tabs[$(e.target).index()]);\n });\n modal.find(\".footer button\").on(\"click\", () => {\n modal.addClass(\"closing\");\n setTimeout(() => {\n modal.remove();\n }, 300);\n });\n modal.find(\".bd-backdrop\").on(\"click\", () => {\n modal.addClass(\"closing\");\n setTimeout(() => {\n modal.remove();\n }, 300);\n });\n modal.appendTo(\"#app-mount\");\n if (pluginErrors.length) modal.find(\".tab-bar-item\")[0].click();else modal.find(\".tab-bar-item\")[1].click();\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL21vZGFscy5qcz8zYWIyIl0sIm5hbWVzIjpbIk1vZGFscyIsInNob3VsZFNob3dDb250ZW50RXJyb3JzIiwiU2V0dGluZ3MiLCJnZXQiLCJNb2RhbFN0YWNrIiwiV2VicGFja01vZHVsZXMiLCJnZXRCeVByb3BzIiwiQWxlcnRNb2RhbCIsImdldEJ5UHJvdG90eXBlcyIsIlRleHRFbGVtZW50IiwiQ29uZmlybWF0aW9uTW9kYWwiLCJnZXRNb2R1bGUiLCJtIiwiZGVmYXVsdFByb3BzIiwia2V5IiwiZGVmYXVsdCIsInRpdGxlIiwiY29udGVudCIsIm1vZGFsIiwiJCIsImZpbmQiLCJvbiIsImFkZENsYXNzIiwic2V0VGltZW91dCIsInJlbW92ZSIsImFwcGVuZFRvIiwiYWxlcnQiLCJwdXNoIiwicHJvcHMiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJib2R5Iiwic2hvd0NvbmZpcm1hdGlvbk1vZGFsIiwib3B0aW9ucyIsIm9uQ29uZmlybSIsIm9uQ2FuY2VsIiwiY29uZmlybVRleHQiLCJjYW5jZWxUZXh0IiwiZGFuZ2VyIiwiY29sb3IiLCJDb2xvcnMiLCJQUklNQVJZIiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJlbXB0eUZ1bmN0aW9uIiwiaGVhZGVyIiwicmVkIiwic2hvd0NvbnRlbnRFcnJvcnMiLCJwbHVnaW5zIiwicGx1Z2luRXJyb3JzIiwidGhlbWVzIiwidGhlbWVFcnJvcnMiLCJsZW5ndGgiLCJnZW5lcmF0ZVRhYiIsImVycm9ycyIsImNvbnRhaW5lciIsImVyciIsImVycm9yIiwibmFtZSIsImZpbGUiLCJtZXNzYWdlIiwiYXBwZW5kIiwiZSIsInByZXZlbnREZWZhdWx0IiwiVXRpbGl0aWVzIiwidGFicyIsInJlbW92ZUNsYXNzIiwidGFyZ2V0IiwiZW1wdHkiLCJpbmRleCIsImNsaWNrIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtB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Q00sTUFBTjtBQUFpQixPQUExQixFQUE0QixHQUE1QixDQUFWO0FBQ0gsS0FIRDtBQUlBTixTQUFLLENBQUNPLFFBQU4sQ0FBZSxZQUFmO0FBQ0EsUUFBSTJCLFlBQVksQ0FBQ0csTUFBakIsRUFBeUJyQyxLQUFLLENBQUNFLElBQU4sQ0FBVyxlQUFYLEVBQTRCLENBQTVCLEVBQStCcUQsS0FBL0IsR0FBekIsS0FDS3ZELEtBQUssQ0FBQ0UsSUFBTixDQUFXLGVBQVgsRUFBNEIsQ0FBNUIsRUFBK0JxRCxLQUEvQjtBQUNSOztBQS9KdUIiLCJmaWxlIjoiLi9zcmMvdWkvbW9kYWxzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtVdGlsaXRpZXMsIFdlYnBhY2tNb2R1bGVzLCBSZWFjdCwgU2V0dGluZ3N9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNb2RhbHMge1xyXG5cclxuICAgIHN0YXRpYyBnZXQgc2hvdWxkU2hvd0NvbnRlbnRFcnJvcnMoKSB7cmV0dXJuIFNldHRpbmdzLmdldChcInNldHRpbmdzXCIsIFwiY29udGVudFwiLCBcImNvbnRlbnRFcnJvcnNcIik7fVxyXG5cclxuICAgIHN0YXRpYyBnZXQgTW9kYWxTdGFjaygpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcInB1c2hcIiwgXCJ1cGRhdGVcIiwgXCJwb3BcIiwgXCJwb3BXaXRoS2V5XCIpO31cclxuICAgIHN0YXRpYyBnZXQgQWxlcnRNb2RhbCgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0QnlQcm90b3R5cGVzKFwiaGFuZGxlQ2FuY2VsXCIsIFwiaGFuZGxlU3VibWl0XCIsIFwiaGFuZGxlTWlub3JDb25maXJtXCIpO31cclxuICAgIHN0YXRpYyBnZXQgVGV4dEVsZW1lbnQoKSB7cmV0dXJuIFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJTaXplc1wiLCBcIldlaWdodHNcIik7fVxyXG4gICAgc3RhdGljIGdldCBDb25maXJtYXRpb25Nb2RhbCgpIHtyZXR1cm4gV2VicGFja01vZHVsZXMuZ2V0TW9kdWxlKG0gPT4gbS5kZWZhdWx0UHJvcHMgJiYgbS5rZXkgJiYgbS5rZXkoKSA9PSBcImNvbmZpcm0tbW9kYWxcIik7fVxyXG5cclxuICAgIHN0YXRpYyBkZWZhdWx0KHRpdGxlLCBjb250ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbW9kYWwgPSAkKGA8ZGl2IGNsYXNzPVwiYmQtbW9kYWwtd3JhcHBlciB0aGVtZS1kYXJrXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmQtYmFja2Ryb3AgYmFja2Ryb3AtMXdybUtCXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmQtbW9kYWwgbW9kYWwtMVVHZG5SXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJkLW1vZGFsLWlubmVyIGlubmVyLTFKZUdWY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyIGhlYWRlci0xUl9BakZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPiR7dGl0bGV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmQtbW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGVyLXdyYXAgZmFkZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2NvbnRlbnR9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXIgZm9vdGVyLTJ5ZkNnWFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+T2theTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5gKTtcclxuICAgICAgICBtb2RhbC5maW5kKFwiLmZvb3RlciBidXR0b25cIikub24oXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgICAgbW9kYWwuYWRkQ2xhc3MoXCJjbG9zaW5nXCIpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyBtb2RhbC5yZW1vdmUoKTsgfSwgMzAwKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBtb2RhbC5maW5kKFwiLmJkLWJhY2tkcm9wXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xyXG4gICAgICAgIG1vZGFsLmFkZENsYXNzKFwiY2xvc2luZ1wiKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgbW9kYWwucmVtb3ZlKCk7IH0sIDMwMCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbW9kYWwuYXBwZW5kVG8oXCIjYXBwLW1vdW50XCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBhbGVydCh0aXRsZSwgY29udGVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLk1vZGFsU3RhY2sgJiYgdGhpcy5BbGVydE1vZGFsKSByZXR1cm4gdGhpcy5kZWZhdWx0KHRpdGxlLCBjb250ZW50KTtcclxuICAgICAgICB0aGlzLk1vZGFsU3RhY2sucHVzaChmdW5jdGlvbihwcm9wcykge1xyXG4gICAgICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudCh0aGlzLkFsZXJ0TW9kYWwsIE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgYm9keTogY29udGVudCxcclxuICAgICAgICAgICAgfSwgcHJvcHMpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNob3dzIGEgZ2VuZXJpYyBidXQgdmVyeSBjdXN0b21pemFibGUgY29uZmlybWF0aW9uIG1vZGFsIHdpdGggb3B0aW9uYWwgY29uZmlybSBhbmQgY2FuY2VsIGNhbGxiYWNrcy5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZSAtIHRpdGxlIG9mIHRoZSBtb2RhbFxyXG4gICAgICogQHBhcmFtIHsoc3RyaW5nfFJlYWN0RWxlbWVudHxBcnJheTxzdHJpbmd8UmVhY3RFbGVtZW50Pil9IGNoaWxkcmVuIC0gYSBzaW5nbGUgb3IgbWl4ZWQgYXJyYXkgb2YgcmVhY3QgZWxlbWVudHMgYW5kIHN0cmluZ3MuIEV2ZXJ5dGhpbmcgaXMgd3JhcHBlZCBpbiBEaXNjb3JkJ3MgYFRleHRFbGVtZW50YCBjb21wb25lbnQgc28gc3RyaW5ncyB3aWxsIHNob3cgYW5kIHJlbmRlciBwcm9wZXJseS5cclxuICAgICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBvcHRpb25zIHRvIG1vZGlmeSB0aGUgbW9kYWxcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMuZGFuZ2VyPWZhbHNlXSAtIHdoZXRoZXIgdGhlIG1haW4gYnV0dG9uIHNob3VsZCBiZSByZWQgb3Igbm90XHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuY29uZmlybVRleHQ9T2theV0gLSB0ZXh0IGZvciB0aGUgY29uZmlybWF0aW9uL3N1Ym1pdCBidXR0b25cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5jYW5jZWxUZXh0PUNhbmNlbF0gLSB0ZXh0IGZvciB0aGUgY2FuY2VsIGJ1dHRvblxyXG4gICAgICogQHBhcmFtIHtjYWxsYWJsZX0gW29wdGlvbnMub25Db25maXJtPU5PT1BdIC0gY2FsbGJhY2sgdG8gb2NjdXIgd2hlbiBjbGlja2luZyB0aGUgc3VibWl0IGJ1dHRvblxyXG4gICAgICogQHBhcmFtIHtjYWxsYWJsZX0gW29wdGlvbnMub25DYW5jZWw9Tk9PUF0gLSBjYWxsYmFjayB0byBvY2N1ciB3aGVuIGNsaWNraW5nIHRoZSBjYW5jZWwgYnV0dG9uXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBzaG93Q29uZmlybWF0aW9uTW9kYWwodGl0bGUsIGNvbnRlbnQsIG9wdGlvbnMgPSB7fSkge1xyXG4gICAgICAgIGNvbnN0IFRleHRFbGVtZW50ID0gdGhpcy5UZXh0RWxlbWVudDtcclxuICAgICAgICBjb25zdCBDb25maXJtYXRpb25Nb2RhbCA9IHRoaXMuQ29uZmlybWF0aW9uTW9kYWw7XHJcbiAgICAgICAgY29uc3QgTW9kYWxTdGFjayA9IHRoaXMuTW9kYWxTdGFjaztcclxuICAgICAgICBpZiAoIXRoaXMuTW9kYWxTdGFjayB8fCAhdGhpcy5Db25maXJtYXRpb25Nb2RhbCB8fCAhdGhpcy5UZXh0RWxlbWVudCkgcmV0dXJuIHRoaXMuYWxlcnQodGl0bGUsIGNvbnRlbnQpO1xyXG5cclxuICAgICAgICBjb25zdCB7b25Db25maXJtLCBvbkNhbmNlbCwgY29uZmlybVRleHQsIGNhbmNlbFRleHQsIGRhbmdlciA9IGZhbHNlfSA9IG9wdGlvbnM7XHJcbiAgICAgICAgaWYgKHR5cGVvZihjb250ZW50KSA9PSBcInN0cmluZ1wiKSBjb250ZW50ID0gVGV4dEVsZW1lbnQoe2NvbG9yOiBUZXh0RWxlbWVudC5Db2xvcnMuUFJJTUFSWSwgY2hpbGRyZW46IFtjb250ZW50XX0pO1xyXG4gICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoY29udGVudCkpIGNvbnRlbnQgPSBUZXh0RWxlbWVudCh7Y29sb3I6IFRleHRFbGVtZW50LkNvbG9ycy5QUklNQVJZLCBjaGlsZHJlbjogY29udGVudH0pO1xyXG4gICAgICAgIGNvbnRlbnQgPSBbY29udGVudF07XHJcblxyXG4gICAgICAgIGNvbnN0IGVtcHR5RnVuY3Rpb24gPSAoKSA9PiB7fTtcclxuICAgICAgICBNb2RhbFN0YWNrLnB1c2goZnVuY3Rpb24ocHJvcHMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29uZmlybWF0aW9uTW9kYWwsIE9iamVjdC5hc3NpZ24oe1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50LFxyXG4gICAgICAgICAgICAgICAgcmVkOiBkYW5nZXIsXHJcbiAgICAgICAgICAgICAgICBjb25maXJtVGV4dDogY29uZmlybVRleHQgPyBjb25maXJtVGV4dCA6IFwiT2theVwiLFxyXG4gICAgICAgICAgICAgICAgY2FuY2VsVGV4dDogY2FuY2VsVGV4dCA/IGNhbmNlbFRleHQgOiBcIkNhbmNlbFwiLFxyXG4gICAgICAgICAgICAgICAgb25Db25maXJtOiBvbkNvbmZpcm0gPyBvbkNvbmZpcm0gOiBlbXB0eUZ1bmN0aW9uLFxyXG4gICAgICAgICAgICAgICAgb25DYW5jZWw6IG9uQ2FuY2VsID8gb25DYW5jZWwgOiBlbXB0eUZ1bmN0aW9uXHJcbiAgICAgICAgICAgIH0sIHByb3BzKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHNob3dDb250ZW50RXJyb3JzKHtwbHVnaW5zOiBwbHVnaW5FcnJvcnMgPSBbXSwgdGhlbWVzOiB0aGVtZUVycm9ycyA9IFtdfSkge1xyXG4gICAgICAgIGlmICghcGx1Z2luRXJyb3JzIHx8ICF0aGVtZUVycm9ycyB8fCAhdGhpcy5zaG91bGRTaG93Q29udGVudEVycm9ycykgcmV0dXJuO1xyXG4gICAgICAgIGlmICghcGx1Z2luRXJyb3JzLmxlbmd0aCAmJiAhdGhlbWVFcnJvcnMubGVuZ3RoKSByZXR1cm47XHJcbiAgICAgICAgY29uc3QgbW9kYWwgPSAkKGA8ZGl2IGNsYXNzPVwiYmQtbW9kYWwtd3JhcHBlciB0aGVtZS1kYXJrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiZC1iYWNrZHJvcCBiYWNrZHJvcC0xd3JtS0JcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJkLW1vZGFsIGJkLWNvbnRlbnQtbW9kYWwgbW9kYWwtMVVHZG5SXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmQtbW9kYWwtaW5uZXIgaW5uZXItMUplR1ZjXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlciBoZWFkZXItMVJfQWpGXCI+PGRpdiBjbGFzcz1cInRpdGxlXCI+Q29udGVudCBFcnJvcnM8L2Rpdj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmQtbW9kYWwtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFiLWJhci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItYmFyIFRPUFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWItYmFyLWl0ZW1cIj5QbHVnaW5zPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYi1iYXItaXRlbVwiPlRoZW1lczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIGNvbHVtbi1uYW1lXCI+TmFtZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBjb2x1bW4tbWVzc2FnZVwiPk1lc3NhZ2U8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gY29sdW1uLWVycm9yXCI+RXJyb3I8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlci13cmFwIGZhZGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxlclwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyIGZvb3Rlci0yeWZDZ1hcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCI+T2theTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PmApO1xyXG5cclxuICAgICAgICBjb25zdCBnZW5lcmF0ZVRhYiA9IGZ1bmN0aW9uKGVycm9ycykge1xyXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSAkKGA8ZGl2IGNsYXNzPVwiZXJyb3JzXCI+YCk7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXJyIG9mIGVycm9ycykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSAkKGA8ZGl2IGNsYXNzPVwiZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBjb2x1bW4tbmFtZVwiPiR7ZXJyLm5hbWUgPyBlcnIubmFtZSA6IGVyci5maWxlfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIGNvbHVtbi1tZXNzYWdlXCI+JHtlcnIubWVzc2FnZX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBjb2x1bW4tZXJyb3JcIj48YSBjbGFzcz1cImVycm9yLWxpbmtcIiBocmVmPVwiXCI+JHtlcnIuZXJyb3IgPyBlcnIuZXJyb3IubWVzc2FnZSA6IFwiXCJ9PC9hPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmApO1xyXG4gICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZChlcnJvcik7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyLmVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IuZmluZChcImFcIikub24oXCJjbGlja1wiLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFV0aWxpdGllcy5lcnIoXCJDb250ZW50TWFuYWdlclwiLCBgRXJyb3IgZGV0YWlscyBmb3IgJHtlcnIubmFtZSA/IGVyci5uYW1lIDogZXJyLmZpbGV9LmAsIGVyci5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjtcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCB0YWJzID0gW2dlbmVyYXRlVGFiKHBsdWdpbkVycm9ycyksIGdlbmVyYXRlVGFiKHRoZW1lRXJyb3JzKV07XHJcblxyXG4gICAgICAgIG1vZGFsLmZpbmQoXCIudGFiLWJhci1pdGVtXCIpLm9uKFwiY2xpY2tcIiwgKGUpID0+IHtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBtb2RhbC5maW5kKFwiLnRhYi1iYXItaXRlbVwiKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xyXG4gICAgICAgICAgICAkKGUudGFyZ2V0KS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xyXG4gICAgICAgICAgICBtb2RhbC5maW5kKFwiLnNjcm9sbGVyXCIpLmVtcHR5KCkuYXBwZW5kKHRhYnNbJChlLnRhcmdldCkuaW5kZXgoKV0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBtb2RhbC5maW5kKFwiLmZvb3RlciBidXR0b25cIikub24oXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIG1vZGFsLmFkZENsYXNzKFwiY2xvc2luZ1wiKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IG1vZGFsLnJlbW92ZSgpOyB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG1vZGFsLmZpbmQoXCIuYmQtYmFja2Ryb3BcIikub24oXCJjbGlja1wiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIG1vZGFsLmFkZENsYXNzKFwiY2xvc2luZ1wiKTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IG1vZGFsLnJlbW92ZSgpOyB9LCAzMDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG1vZGFsLmFwcGVuZFRvKFwiI2FwcC1tb3VudFwiKTtcclxuICAgICAgICBpZiAocGx1Z2luRXJyb3JzLmxlbmd0aCkgbW9kYWwuZmluZChcIi50YWItYmFyLWl0ZW1cIilbMF0uY2xpY2soKTtcclxuICAgICAgICBlbHNlIG1vZGFsLmZpbmQoXCIudGFiLWJhci1pdGVtXCIpWzFdLmNsaWNrKCk7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/modals.js\n");
/***/ }),
/***/ "./src/ui/publicservers/card.js":
/*!**************************************!*\
!*** ./src/ui/publicservers/card.js ***!
\**************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ServerCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass ServerCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n if (!this.props.server.iconUrl) this.props.server.iconUrl = this.props.fallback;\n this.state = {\n imageError: false,\n joined: this.props.guildList.includes(this.props.server.identifier)\n };\n }\n\n render() {\n const {\n server\n } = this.props;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", // cardPrimary-1Hv-to\n {\n className: `card-3Qj_Yx cardPrimary-1Hv-to marginBottom8-AtZOdT bd-server-card${server.pinned ? \" bd-server-card-pinned\" : \"\"}`\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"img\", {\n ref: \"img\",\n className: \"bd-server-image\",\n src: server.iconUrl,\n onError: this.handleError.bind(this)\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flexChild-faoVW3 bd-server-content\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h5\", {\n className: \"h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-name\"\n }, server.name), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h5\", {\n className: \"h5-18_1nd defaultColor-1_ajX0 margin-reset bd-server-member-count\"\n }, server.members, \" Members\")), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y bd-server-description-container\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"scroller-2FKFPG scroller bd-server-description\"\n }, server.description))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY directionRow-3v3tfG noWrap-3jynv6 bd-server-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"flexChild-faoVW3 bd-server-tags\",\n style: {\n flex: \"1 1 auto\"\n }\n }, server.categories.join(\", \")), this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN colorGreen-29iAKY\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\",\n backgroundColor: \"#3ac15c\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Joined\")), server.error && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN disabled-9aF2ug\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\",\n backgroundColor: \"#c13a3a\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Error\")), !server.error && !this.state.joined && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n className: \"button-38aScr lookFilled-1Gx00P colorBrand-3pXr91 sizeMin-1mJd1x grow-q77ONN\",\n style: {\n minHeight: \"12px\",\n marginTop: \"4px\"\n },\n onClick: () => {\n this.join();\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Join\")))) // )\n );\n }\n\n handleError() {\n this.props.server.iconUrl = this.props.fallback;\n this.setState({\n imageError: true\n });\n }\n\n join() {\n this.props.join(this); //this.setState({joined: true});\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvY2FyZC5qcz9mMjgxIl0sIm5hbWVzIjpbIlNlcnZlckNhcmQiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzZXJ2ZXIiLCJpY29uVXJsIiwiZmFsbGJhY2siLCJzdGF0ZSIsImltYWdlRXJyb3IiLCJqb2luZWQiLCJndWlsZExpc3QiLCJpbmNsdWRlcyIsImlkZW50aWZpZXIiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwicGlubmVkIiwicmVmIiwic3JjIiwib25FcnJvciIsImhhbmRsZUVycm9yIiwiYmluZCIsIm5hbWUiLCJtZW1iZXJzIiwiZGVzY3JpcHRpb24iLCJzdHlsZSIsImZsZXgiLCJjYXRlZ29yaWVzIiwiam9pbiIsInR5cGUiLCJtaW5IZWlnaHQiLCJtYXJnaW5Ub3AiLCJiYWNrZ3JvdW5kQ29sb3IiLCJlcnJvciIsIm9uQ2xpY2siLCJzZXRTdGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFFZSxNQUFNQSxVQUFOLFNBQXlCQyw2Q0FBSyxDQUFDQyxTQUEvQixDQUF5QztBQUNwREMsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsUUFBSSxDQUFDLEtBQUtBLEtBQUwsQ0FBV0MsTUFBWCxDQUFrQkMsT0FBdkIsRUFBZ0MsS0FBS0YsS0FBTCxDQUFXQyxNQUFYLENBQWtCQyxPQUFsQixHQUE0QixLQUFLRixLQUFMLENBQVdHLFFBQXZDO0FBQ2hDLFNBQUtDLEtBQUwsR0FBYTtBQUNUQyxnQkFBVSxFQUFFLEtBREg7QUFFVEMsWUFBTSxFQUFFLEtBQUtOLEtBQUwsQ0FBV08sU0FBWCxDQUFxQkMsUUFBckIsQ0FBOEIsS0FBS1IsS0FBTCxDQUFXQyxNQUFYLENBQWtCUSxVQUFoRDtBQUZDLEtBQWI7QUFJSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsVUFBTTtBQUFDVDtB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QUFLLENBQUNjLGFBQU4sQ0FDbkMsUUFEbUMsRUFFbkM7QUFBQ2UsVUFBSSxFQUFFLFFBQVA7QUFBaUJkLGVBQVMsRUFBRSw4RUFBNUI7QUFBNEdVLFdBQUssRUFBRTtBQUFDSyxpQkFBUyxFQUFFLE1BQVo7QUFBb0JDLGlCQUFTLEVBQUU7QUFBL0IsT0FBbkg7QUFBMEpHLGFBQU8sRUFBRSxNQUFNO0FBQUMsYUFBS04sSUFBTDtBQUFhO0FBQXZMLEtBRm1DLEVBR25DNUIsNkNBQUssQ0FBQ2MsYUFBTixDQUNJLEtBREosRUFFSTtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUZKLEVBR0ksTUFISixDQUhtQyxDQTFCM0MsQ0EvQkosQ0FKRCxDQXdFSDtBQXhFRyxLQUFQO0FBMEVIOztBQUVESyxhQUFXLEdBQUc7QUFDVixTQUFLakIsS0FBTCxDQUFXQyxNQUFYLENBQWtCQyxPQUFsQixHQUE0QixLQUFLRixLQUFMLENBQVdHLFFBQXZDO0FBQ0EsU0FBSzZCLFFBQUwsQ0FBYztBQUFDM0IsZ0JBQVUsRUFBRTtBQUFiLEtBQWQ7QUFDSDs7QUFFRG9CLE1BQUksR0FBRztBQUNILFNBQUt6QixLQUFMLENBQVd5QixJQUFYLENBQWdCLElBQWhCLEVBREcsQ0FFSDtBQUNIOztBQWhHbUQiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy9jYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlcnZlckNhcmQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnByb3BzLnNlcnZlci5pY29uVXJsKSB0aGlzLnByb3BzLnNlcnZlci5pY29uVXJsID0gdGhpcy5wcm9wcy5mYWxsYmFjaztcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBpbWFnZUVycm9yOiBmYWxzZSxcclxuICAgICAgICAgICAgam9pbmVkOiB0aGlzLnByb3BzLmd1aWxkTGlzdC5pbmNsdWRlcyh0aGlzLnByb3BzLnNlcnZlci5pZGVudGlmaWVyKVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHtzZXJ2ZXJ9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIiwgLy8gY2FyZFByaW1hcnktMUh2LXRvXHJcbiAgICAgICAgICAgIHtjbGFzc05hbWU6IGBjYXJkLTNRal9ZeCBjYXJkUHJpbWFyeS0xSHYtdG8gbWFyZ2luQm90dG9tOC1BdFpPZFQgYmQtc2VydmVyLWNhcmQke3NlcnZlci5waW5uZWQgPyBcIiBiZC1zZXJ2ZXItY2FyZC1waW5uZWRcIiA6IFwiXCJ9YH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW1nXCIsIHtyZWY6IFwiaW1nXCIsIGNsYXNzTmFtZTogXCJiZC1zZXJ2ZXItaW1hZ2VcIiwgc3JjOiBzZXJ2ZXIuaWNvblVybCwgb25FcnJvcjogdGhpcy5oYW5kbGVFcnJvci5iaW5kKHRoaXMpfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJmbGV4Q2hpbGQtZmFvVlczIGJkLXNlcnZlci1jb250ZW50XCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZmxleC0xeE1RZzUgZmxleC0xTzFHS1kgaG9yaXpvbnRhbC0xYWU5Y2kgaG9yaXpvbnRhbC0yRUVFblkgZGlyZWN0aW9uUm93LTN2M3RmRyBub1dyYXAtM2p5bnY2IGJkLXNlcnZlci1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImg1XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImg1LTE4XzFuZCBkZWZhdWx0Q29sb3ItMV9halgwIG1hcmdpbi1yZXNldCBiZC1zZXJ2ZXItbmFtZVwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlci5uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImg1XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImg1LTE4XzFuZCBkZWZhdWx0Q29sb3ItMV9halgwIG1hcmdpbi1yZXNldCBiZC1zZXJ2ZXItbWVtYmVyLWNvdW50XCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLm1lbWJlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBNZW1iZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJmbGV4LTF4TVFnNSBmbGV4LTFPMUdLWSBob3Jpem9udGFsLTFhZTljaSBob3Jpem9udGFsLTJFRUVuWSBkaXJlY3Rpb25Sb3ctM3YzdGZHIG5vV3JhcC0zanludjZcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzY3JvbGxlcldyYXAtMmxKRWtkIHNjcm9sbGVyVGhlbWVkLTJvZW51cyB0aGVtZUdob3N0SGFpcmxpbmUtREJELTJkIHNjcm9sbGVyRmFkZS0xSWp3NXkgYmQtc2VydmVyLWRlc2NyaXB0aW9uLWNvbnRhaW5lclwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInNjcm9sbGVyLTJGS0ZQRyBzY3JvbGxlciBiZC1zZXJ2ZXItZGVzY3JpcHRpb25cIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlci5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImZsZXgtMXhNUWc1IGZsZXgtMU8xR0tZIGhvcml6b250YWwtMWFlOWNpIGhvcml6b250YWwtMkVFRW5ZIGRpcmVjdGlvblJvdy0zdjN0Zkcgbm9XcmFwLTNqeW52NiBiZC1zZXJ2ZXItZm9vdGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZmxleENoaWxkLWZhb1ZXMyBiZC1zZXJ2ZXItdGFnc1wiLCBzdHlsZToge2ZsZXg6IFwiMSAxIGF1dG9cIn19LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLmNhdGVnb3JpZXMuam9pbihcIiwgXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUuam9pbmVkICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3R5cGU6IFwiYnV0dG9uXCIsIGNsYXNzTmFtZTogXCJidXR0b24tMzhhU2NyIGxvb2tGaWxsZWQtMUd4MDBQIGNvbG9yQnJhbmQtM3BYcjkxIHNpemVNaW4tMW1KZDF4IGdyb3ctcTc3T05OIGNvbG9yR3JlZW4tMjlpQUtZXCIsIHN0eWxlOiB7bWluSGVpZ2h0OiBcIjEycHhcIiwgbWFyZ2luVG9wOiBcIjRweFwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwiIzNhYzE1Y1wifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJKb2luZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIuZXJyb3IgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7dHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBcImJ1dHRvbi0zOGFTY3IgbG9va0ZpbGxlZC0xR3gwMFAgY29sb3JCcmFuZC0zcFhyOTEgc2l6ZU1pbi0xbUpkMXggZ3Jvdy1xNzdPTk4gZGlzYWJsZWQtOWFGMnVnXCIsIHN0eWxlOiB7bWluSGVpZ2h0OiBcIjEycHhcIiwgbWFyZ2luVG9wOiBcIjRweFwiLCBiYWNrZ3JvdW5kQ29sb3I6IFwiI2MxM2EzYVwifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJFcnJvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFzZXJ2ZXIuZXJyb3IgJiYgIXRoaXMuc3RhdGUuam9pbmVkICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3R5cGU6IFwiYnV0dG9uXCIsIGNsYXNzTmFtZTogXCJidXR0b24tMzhhU2NyIGxvb2tGaWxsZWQtMUd4MDBQIGNvbG9yQnJhbmQtM3BYcjkxIHNpemVNaW4tMW1KZDF4IGdyb3ctcTc3T05OXCIsIHN0eWxlOiB7bWluSGVpZ2h0OiBcIjEycHhcIiwgbWFyZ2luVG9wOiBcIjRweFwifSwgb25DbGljazogKCkgPT4ge3RoaXMuam9pbigpO319LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwidWktYnV0dG9uLWNvbnRlbnRzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiSm9pblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC8vIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUVycm9yKCkge1xyXG4gICAgICAgIHRoaXMucHJvcHMuc2VydmVyLmljb25VcmwgPSB0aGlzLnByb3BzLmZhbGxiYWNrO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2ltYWdlRXJyb3I6IHRydWV9KTtcclxuICAgIH1cclxuXHJcbiAgICBqb2luKCkge1xyXG4gICAgICAgIHRoaXMucHJvcHMuam9pbih0aGlzKTtcclxuICAgICAgICAvL3RoaXMuc2V0U3RhdGUoe2pvaW5lZDogdHJ1ZX0pO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/card.js\n");
/***/ }),
/***/ "./src/ui/publicservers/exitbutton.js":
/*!********************************************!*\
!*** ./src/ui/publicservers/exitbutton.js ***!
\********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Tools; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ \"./src/ui/icons/close.jsx\");\n\n\nclass Tools extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onClick = this.onClick.bind(this);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"tools-container toolsContainer-1edPuj\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"tools tools-3-3s-N\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"container-1sFeqf\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"btn-close closeButton-1tv5uR\",\n onClick: this.onClick\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"esc-text keybind-KpFkfr\"\n }, \"ESC\"))));\n }\n\n onClick() {\n if (this.props.onClick) {\n this.props.onClick();\n }\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvZXhpdGJ1dHRvbi5qcz9lMjY1Il0sIm5hbWVzIjpbIlRvb2xzIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwib25DbGljayIsImJpbmQiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiQ2xvc2VCdXR0b24iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVlLE1BQU1BLEtBQU4sU0FBb0JDLDZDQUFLLENBQUNDLFNBQTFCLENBQW9DO0FBRS9DQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxPQUFMLEdBQWUsS0FBS0EsT0FBTCxDQUFhQyxJQUFiLENBQWtCLElBQWxCLENBQWY7QUFDSDs7QUFFREMsUUFBTSxHQUFHO0FBQ0wsV0FBT04sNkNBQUssQ0FBQ08sYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUNIUiw2Q0FBSyxDQUFDTyxhQUFOLENBQW9CLEtBQXBCLEVBQTJCO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBQTNCLEVBQ0lSLDZDQUFLLENBQUNPLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsRUFDSVIsNkNBQUssQ0FBQ08sYUFBTixDQUFvQixLQUFwQixFQUNJO0FBQUNDLGVBQVMsRUFBRSw4QkFBWjtBQUE0Q0osYUFBTyxFQUFFLEtBQUtBO0FBQTFELEtBREosRUFFSUosNkNBQUssQ0FBQ08sYUFBTixDQUFvQkUsb0RBQXBCLEVBQWlDLElBQWpDLENBRkosQ0FESixFQUtJVCw2Q0FBSyxDQUFDTyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSSxLQUhKLENBTEosQ0FESixDQURHLENBQVA7QUFlSDs7QUFFREosU0FBTyxHQUFHO0FBQ04sUUFBSSxLQUFLRCxLQUFMLENBQVdDLE9BQWYsRUFBd0I7QUFDcEIsV0FBS0QsS0FBTCxDQUFXQyxPQUFYO0FBQ0g7QUFDSjs7QUE3QjhDIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvZXhpdGJ1dHRvbi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBDbG9zZUJ1dHRvbiBmcm9tIFwiLi4vaWNvbnMvY2xvc2VcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRvb2xzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLm9uQ2xpY2sgPSB0aGlzLm9uQ2xpY2suYmluZCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJ0b29scy1jb250YWluZXIgdG9vbHNDb250YWluZXItMWVkUHVqXCJ9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwidG9vbHMgdG9vbHMtMy0zcy1OXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImNvbnRhaW5lci0xc0ZlcWZcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcImJ0bi1jbG9zZSBjbG9zZUJ1dHRvbi0xdHY1dVJcIiwgb25DbGljazogdGhpcy5vbkNsaWNrfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDbG9zZUJ1dHRvbiwgbnVsbClcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtjbGFzc05hbWU6IFwiZXNjLXRleHQga2V5YmluZC1LcEZrZnJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiRVNDXCJcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2xpY2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25DbGljaykge1xyXG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uQ2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/publicservers/exitbutton.js\n");
/***/ }),
/***/ "./src/ui/publicservers/layer.js":
/*!***************************************!*\
!*** ./src/ui/publicservers/layer.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Layer; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Layer extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.rootRef = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n }\n\n componentDidMount() {\n $(window).on(`keyup.${this.props.id}`, e => {\n if (e.which === 27) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(this.rootRef.current.parentNode);\n }\n });\n $(`#${this.props.id}`).animate({\n opacity: 1\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(`#${this.props.id}`).css(\"opacity\", \"\").css(\"transform\", \"\");\n }\n });\n }\n\n componentWillUnmount() {\n $(window).off(`keyup.${this.props.id}`);\n $(`#${this.props.id}`).animate({\n opacity: 0\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${1.1 - 0.1 * now}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(`#${this.props.rootId}`).remove();\n }\n });\n $(\"[class*=\\\"layer-\\\"]\").removeClass(\"publicServersOpen\").animate({\n opacity: 1\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${0.07 * now + 0.93}) translateZ(0px)`);\n },\n duration: 200,\n done: () => {\n $(\"[class*=\\\"layer-\\\"]\").css(\"opacity\", \"\").css(\"transform\", \"\");\n }\n });\n }\n\n UNSAFE_componentWillMount() {\n $(\"[class*=\\\"layer-\\\"]\").addClass(\"publicServersOpen\").animate({\n opacity: 0\n }, {\n step: function (now) {\n $(this).css(\"transform\", `scale(${0.07 * now + 0.93}) translateZ(0px)`);\n },\n duration: 200\n });\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"layer bd-layer layer-3QrUeG\",\n id: this.props.id,\n ref: this.rootRef,\n style: {\n opacity: 0,\n transform: \"scale(1.1) translateZ(0px)\"\n }\n }, this.props.children);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbGF5ZXIuanM/MWE5YSJdLCJuYW1lcyI6WyJMYXllciIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJvb3RSZWYiLCJjcmVhdGVSZWYiLCJjb21wb25lbnREaWRNb3VudCIsIiQiLCJ3aW5kb3ciLCJvbiIsImlkIiwiZSIsIndoaWNoIiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiY3VycmVudCIsInBhcmVudE5vZGUiLCJhbmltYXRlIiwib3BhY2l0eSIsInN0ZXAiLCJub3ciLCJjc3MiLCJkdXJhdGlvbiIsImRvbmUiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsIm9mZiIsInJvb3RJZCIsInJlbW92ZSIsInJlbW92ZUNsYXNzIiwiVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCIsImFkZENsYXNzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInJlZiIsInN0eWxlIiwidHJhbnNmb3JtIiwiY2hpbGRyZW4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsS0FBTixTQUFvQkMsNkNBQUssQ0FBQ0MsU0FBMUIsQ0FBb0M7QUFFL0NDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLE9BQUwsR0FBZUosNkNBQUssQ0FBQ0ssU0FBTixFQUFmO0FBQ0g7O0FBRURDLG1CQUFpQixHQUFHO0FBQ2hCQyxLQUFDLENBQUNDLE1BQUQsQ0FBRCxDQUFVQyxFQUFWLENBQWMsU0FBUSxLQUFLTixLQUFMLENBQVdPLEVBQUcsRUFBcEMsRUFBdUNDLENBQUMsSUFBSTtBQUN4QyxVQUFJQSxDQUFDLENBQUNDLEtBQUYsS0FBWSxFQUFoQixFQUFvQjtBQUNoQkMsd0RBQVEsQ0FBQ0Msc0JBQVQsQ0FBZ0MsS0FBS1YsT0FBTCxDQUFhVyxPQUFiLENBQXFCQyxVQUFy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QVY7QUFBYWtCLGlCQUFTLEVBQUU7QUFBeEI7QUFBeEYsS0FGRyxFQUdILEtBQUtqQyxLQUFMLENBQVdrQyxRQUhSLENBQVA7QUFLSDs7QUExRDhDIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbGF5ZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0LCBSZWFjdERPTX0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIExheWVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnJvb3RSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICAkKHdpbmRvdykub24oYGtleXVwLiR7dGhpcy5wcm9wcy5pZH1gLCBlID0+IHtcclxuICAgICAgICAgICAgaWYgKGUud2hpY2ggPT09IDI3KSB7XHJcbiAgICAgICAgICAgICAgICBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKHRoaXMucm9vdFJlZi5jdXJyZW50LnBhcmVudE5vZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoYCMke3RoaXMucHJvcHMuaWR9YCkuYW5pbWF0ZSh7b3BhY2l0eTogMX0sIHtcclxuICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24obm93KSB7XHJcbiAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgYHNjYWxlKCR7MS4xIC0gMC4xICogbm93fSkgdHJhbnNsYXRlWigwcHgpYCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAyMDAsXHJcbiAgICAgICAgICAgIGRvbmU6ICgpID0+IHskKGAjJHt0aGlzLnByb3BzLmlkfWApLmNzcyhcIm9wYWNpdHlcIiwgXCJcIikuY3NzKFwidHJhbnNmb3JtXCIsIFwiXCIpO31cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgICAgICAkKHdpbmRvdykub2ZmKGBrZXl1cC4ke3RoaXMucHJvcHMuaWR9YCk7XHJcbiAgICAgICAgJChgIyR7dGhpcy5wcm9wcy5pZH1gKS5hbmltYXRlKHtvcGFjaXR5OiAwfSwge1xyXG4gICAgICAgICAgICBzdGVwOiBmdW5jdGlvbihub3cpIHtcclxuICAgICAgICAgICAgICAkKHRoaXMpLmNzcyhcInRyYW5zZm9ybVwiLCBgc2NhbGUoJHsxLjEgLSAwLjEgKiBub3d9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMCxcclxuICAgICAgICAgICAgZG9uZTogKCkgPT4geyQoYCMke3RoaXMucHJvcHMucm9vdElkfWApLnJlbW92ZSgpO31cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJChcIltjbGFzcyo9XFxcImxheWVyLVxcXCJdXCIpLnJlbW92ZUNsYXNzKFwicHVibGljU2VydmVyc09wZW5cIikuYW5pbWF0ZSh7b3BhY2l0eTogMX0sIHtcclxuICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24obm93KSB7XHJcbiAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgYHNjYWxlKCR7MC4wNyAqIG5vdyArIDAuOTN9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMCxcclxuICAgICAgICAgICAgZG9uZTogKCkgPT4geyQoXCJbY2xhc3MqPVxcXCJsYXllci1cXFwiXVwiKS5jc3MoXCJvcGFjaXR5XCIsIFwiXCIpLmNzcyhcInRyYW5zZm9ybVwiLCBcIlwiKTt9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIFVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSB7XHJcbiAgICAgICAgJChcIltjbGFzcyo9XFxcImxheWVyLVxcXCJdXCIpLmFkZENsYXNzKFwicHVibGljU2VydmVyc09wZW5cIikuYW5pbWF0ZSh7b3BhY2l0eTogMH0sIHtcclxuICAgICAgICAgICAgc3RlcDogZnVuY3Rpb24obm93KSB7XHJcbiAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoXCJ0cmFuc2Zvcm1cIiwgYHNjYWxlKCR7MC4wNyAqIG5vdyArIDAuOTN9KSB0cmFuc2xhdGVaKDBweClgKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZHVyYXRpb246IDIwMFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJsYXllciBiZC1sYXllciBsYXllci0zUXJVZUdcIiwgaWQ6IHRoaXMucHJvcHMuaWQsIHJlZjogdGhpcy5yb290UmVmLCBzdHlsZToge29wYWNpdHk6IDAsIHRyYW5zZm9ybTogXCJzY2FsZSgxLjEpIHRyYW5zbGF0ZVooMHB4KVwifX0sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/layer.js\n");
/***/ }),
/***/ "./src/ui/publicservers/menu.js":
/*!**************************************!*\
!*** ./src/ui/publicservers/menu.js ***!
\**************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PublicServers; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _sidebarview__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sidebarview */ \"./src/ui/publicservers/sidebarview.js\");\n/* harmony import */ var _exitbutton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./exitbutton */ \"./src/ui/publicservers/exitbutton.js\");\n/* harmony import */ var _tabbar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tabbar */ \"./src/ui/publicservers/tabbar.js\");\n/* harmony import */ var _settings_title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../settings/title */ \"./src/ui/settings/title.jsx\");\n/* harmony import */ var _card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./card */ \"./src/ui/publicservers/card.js\");\n\n\n\n\n\n\nclass PublicServers extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n selectedCategory: -1,\n title: \"Loading...\",\n loading: true,\n servers: [],\n next: null,\n connection: {\n state: 0,\n user: null\n }\n };\n this.close = this.close.bind(this);\n this.changeCategory = this.changeCategory.bind(this);\n this.search = this.search.bind(this);\n this.searchKeyDown = this.searchKeyDown.bind(this);\n this.checkConnection = this.checkConnection.bind(this);\n this.join = this.join.bind(this);\n this.connect = this.connect.bind(this);\n this.GuildStore = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getGuilds\");\n this.AvatarDefaults = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getUserAvatarURL\", \"DEFAULT_AVATARS\");\n this.InviteActions = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"acceptInvite\");\n this.SortedGuildStore = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"getSortedGuilds\");\n }\n\n componentDidMount() {\n this.checkConnection();\n }\n\n close() {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"ReactDOM\"].unmountComponentAtNode(document.getElementById(this.props.rootId));\n }\n\n search(query, clear) {\n const self = this;\n $.ajax({\n method: \"GET\",\n url: `${self.endPoint}${query}${query ? \"&schema=new\" : \"?schema=new\"}`,\n success: data => {\n let servers = data.results.reduce((arr, server) => {\n server.joined = false;\n arr.push(server); // arr.push(<ServerCard server={server} join={self.join}/>);\n\n return arr;\n }, []);\n\n if (!clear) {\n servers = self.state.servers.concat(servers);\n } else {//servers.unshift(self.bdServer);\n }\n\n let end = data.size + data.from;\n data.next = `?from=${end}`;\n if (self.state.term) data.next += `&term=${self.state.term}`;\n if (self.state.selectedCategory) data.next += `&category=${self.categoryButtons[self.state.selectedCategory]}`;\n\n if (end >= data.total) {\n end = data.total;\n data.next = null;\n }\n\n let title = `Showing 1-${end} of ${data.total} results in ${self.categoryButtons[self.state.selectedCategory]}`;\n if (self.state.term) title += ` for ${self.state.term}`;\n self.setState({\n loading: false,\n title: title,\n servers: servers,\n next: data.next\n });\n\n if (clear) {\n //console.log(self);\n self.refs.sbv.refs.contentScroller.scrollTop = 0;\n }\n },\n error: () => {\n self.setState({\n loading: false,\n title: \"Failed to load servers. Check console for details\"\n });\n }\n });\n }\n\n join(serverCard) {\n if (serverCard.props.pinned) return this.InviteActions.acceptInvite(serverCard.props.invite_code);\n $.ajax({\n method: \"GET\",\n url: `${this.joinEndPoint}/${serverCard.props.server.identifier}`,\n headers: {\n \"Accept\": \"application/json;\",\n \"Content-Type\": \"application/json;\",\n \"x-discord-token\": this.state.connection.user.accessToken\n },\n crossDomain: true,\n xhrFields: {\n withCredentials: true\n },\n success: () => {\n serverCard.setState({\n joined: true\n });\n }\n });\n }\n\n connect() {\n const options = this.windowOptions;\n options.x = Math.round(window.screenX + window.innerWidth / 2 - options.width / 2);\n options.y = Math.round(window.screenY + window.innerHeight / 2 - options.height / 2);\n this.joinWindow = new (window.require(\"electron\").remote.BrowserWindow)(options);\n const url = \"https://auth.discordservers.com/connect?scopes=guilds.join&previousUrl=https://auth.discordservers.com/info\";\n this.joinWindow.webContents.on(\"did-navigate\", (event, url) => {\n if (url != \"https://auth.discordservers.com/info\") return;\n this.joinWindow.close();\n this.checkConnection();\n });\n this.joinWindow.loadURL(url);\n }\n\n get windowOptions() {\n return {\n width: 500,\n height: 550,\n backgroundColor: \"#282b30\",\n show: true,\n resizable: false,\n maximizable: false,\n minimizable: false,\n alwaysOnTop: true,\n frame: false,\n center: false,\n webPreferences: {\n nodeIntegration: false\n }\n };\n }\n\n get bdServer() {\n const server = {\n name: \"BetterDiscord\",\n online: \"7500+\",\n members: \"20000+\",\n categories: [\"community\", \"programming\", \"support\"],\n description: \"Official BetterDiscord server for support etc\",\n identifier: \"86004744966914048\",\n iconUrl: \"https://cdn.discordapp.com/icons/86004744966914048/292e7f6bfff2b71dfd13e508a859aedd.webp\",\n nativejoin: true,\n invite_code: \"0Tmfo5ZbORCRqbAd\",\n pinned: true\n };\n const guildList = this.SortedGuildStore.guildPositions;\n const defaultList = this.AvatarDefaults.DEFAULT_AVATARS;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_card__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n server: server,\n pinned: true,\n join: this.join,\n guildList: guildList,\n fallback: defaultList[Math.floor(Math.random() * 5)]\n });\n }\n\n get endPoint() {\n return \"https://search.discordservers.com\";\n }\n\n get joinEndPoint() {\n return \"https://j.discordservers.com\";\n }\n\n get connectEndPoint() {\n return \"https://join.discordservers.com/connect\";\n }\n\n checkConnection() {\n const self = this;\n\n try {\n $.ajax({\n method: \"GET\",\n url: `https://auth.discordservers.com/info`,\n headers: {\n \"Accept\": \"application/json;\",\n \"Content-Type\": \"application/json;\"\n },\n crossDomain: true,\n xhrFields: {\n withCredentials: true\n },\n success: data => {\n // Utils.log(\"PublicServer\", \"Got data: \" + JSON.stringify(data));\n self.setState({\n selectedCategory: 0,\n connection: {\n state: 2,\n user: data\n }\n });\n self.search(\"\", true);\n },\n error: () => {\n self.setState({\n title: \"Not connected to discordservers.com!\",\n loading: true,\n selectedCategory: -1,\n connection: {\n state: 1,\n user: null\n }\n });\n }\n });\n } catch (error) {\n self.setState({\n title: \"Not connected to discordservers.com!\",\n loading: true,\n selectedCategory: -1,\n connection: {\n state: 1,\n user: null\n }\n });\n }\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_sidebarview__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n ref: \"sbv\"\n }, this.component);\n }\n\n get component() {\n return {\n sidebar: {\n component: this.sidebar\n },\n content: {\n component: this.content\n },\n tools: {\n component: modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_exitbutton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n key: \"pt\",\n ref: \"tools\",\n onClick: this.close\n })\n }\n };\n }\n\n get sidebar() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"sidebar\",\n key: \"ps\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar SIDE\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\",\n style: {\n fontSize: \"16px\"\n }\n }, \"Public Servers\"), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), this.searchInput, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Header, {\n text: \"Categories\"\n }), this.categoryButtons.map((value, index) => {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Item, {\n id: index,\n onClick: this.changeCategory,\n key: index,\n text: value,\n selected: this.state.selectedCategory === index\n });\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), this.footer, this.connection));\n }\n\n get searchInput() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-form-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-text-input flex-vertical\",\n style: {\n width: \"172px\",\n marginLeft: \"10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n ref: \"searchinput\",\n onKeyDown: this.searchKeyDown,\n onChange: () => {},\n type: \"text\",\n className: \"input default\",\n placeholder: \"Search...\",\n maxLength: \"50\"\n })));\n }\n\n searchKeyDown(e) {\n const self = this;\n if (self.state.loading || e.which !== 13) return;\n self.setState({\n loading: true,\n title: \"Loading...\",\n term: e.target.value\n });\n let query = `?term=${e.target.value}`;\n\n if (self.state.selectedCategory !== 0) {\n query += `&category=${self.categoryButtons[self.state.selectedCategory]}`;\n }\n\n self.search(query, true);\n }\n\n get categoryButtons() {\n return [\"All\", \"FPS Games\", \"MMO Games\", \"Strategy Games\", \"MOBA Games\", \"RPG Games\", \"Tabletop Games\", \"Sandbox Games\", \"Simulation Games\", \"Music\", \"Community\", \"Language\", \"Programming\", \"Other\"];\n }\n\n changeCategory(id) {\n const self = this;\n if (self.state.loading) return;\n self.refs.searchinput.value = \"\";\n self.setState({\n loading: true,\n selectedCategory: id,\n title: \"Loading...\",\n term: null\n });\n\n if (id === 0) {\n self.search(\"\", true);\n return;\n }\n\n self.search(`?category=${self.categoryButtons[id]}`, true);\n }\n\n get content() {\n const self = this;\n const guildList = this.SortedGuildStore.guildPositions;\n const defaultList = this.AvatarDefaults.DEFAULT_AVATARS;\n if (self.state.connection.state === 1) return self.notConnected;\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n ref: \"content\",\n key: \"pc\",\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: self.state.title\n }), self.bdServer, self.state.servers.map(server => {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_card__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n key: server.identifier,\n server: server,\n join: self.join,\n guildList: guildList,\n fallback: defaultList[Math.floor(Math.random() * 5)]\n });\n }), self.state.next && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n type: \"button\",\n onClick: () => {\n if (self.state.loading) return;\n self.setState({\n loading: true\n });\n self.search(self.state.next, false);\n },\n className: \"ui-button filled brand small grow\",\n style: {\n width: \"100%\",\n marginTop: \"10px\",\n marginBottom: \"10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, self.state.loading ? \"Loading\" : \"Load More\")), self.state.servers.length > 0 && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_settings_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: self.state.title\n }))];\n }\n\n get notConnected() {\n const self = this; //return React.createElement(SettingsTitle, { text: self.state.title });\n\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"ncc\",\n ref: \"content\",\n className: \"contentColumn-2hrIYH contentColumnDefault-1VQkGM content-column default\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h2\", {\n className: \"ui-form-title h2 margin-reset margin-bottom-20\"\n }, \"Not connected to discordservers.com!\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n onClick: self.connect,\n type: \"button\",\n className: \"ui-button filled brand small grow\",\n style: {\n display: \"inline-block\",\n minHeight: \"18px\",\n marginLeft: \"10px\",\n lineHeight: \"14px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\"\n }, \"Connect\"))), self.bdServer)];\n }\n\n get footer() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n href: \"https://discordservers.com\",\n target: \"_blank\"\n }, \"Discordservers.com\"));\n }\n\n get connection() {\n const self = this;\n const {\n connection\n } = self.state;\n if (connection.state !== 2) return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null);\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", null, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_tabbar__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Separator, null), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n style: {\n color: \"#b9bbbe\",\n fontSize: \"10px\",\n marginLeft: \"10px\"\n }\n }, \"Connected as: \", `${connection.user.username}#${connection.user.discriminator}`), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n style: {\n padding: \"5px 10px 0 10px\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n style: {\n width: \"100%\",\n minHeight: \"20px\"\n },\n type: \"button\",\n className: \"ui-button filled brand small grow\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-button-contents\",\n onClick: self.connect\n }, \"Reconnect\"))));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvbWVudS5qcz85YWNkIl0sIm5hbWVzIjpbIlB1YmxpY1NlcnZlcnMiLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsInNlbGVjdGVkQ2F0ZWdvcnkiLCJ0aXRsZSIsImxvYWRpbmciLCJzZXJ2ZXJzIiwibmV4dCIsImNvbm5lY3Rpb24iLCJ1c2VyIiwiY2xvc2UiLCJiaW5kIiwiY2hhbmdlQ2F0ZWdvcnkiLCJzZWFyY2giLCJzZWFyY2hLZXlEb3duIiwiY2hlY2tDb25uZWN0aW9uIiwiam9pbiIsImNvbm5lY3QiLCJHdWlsZFN0b3JlIiwiV2VicGFja01vZHVsZXMiLCJnZXRCeVByb3BzIiwiQXZhdGFyRGVmYXVsdHMiLCJJbnZpdGVBY3Rpb25zIiwiU29ydGVkR3VpbGRTdG9yZSIsImNvbXBvbmVudERpZE1vdW50IiwiUmVhY3RET00iLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsInJvb3RJZCIsInF1ZXJ5IiwiY2xlYXIiLCJzZWxmIiwiJCIsImFqYXgiLCJtZXRob2QiLCJ1cmwiLCJlbmRQb2ludCIsInN1Y2Nlc3MiLCJkYXRhIiwicmVzdWx0cyIsInJlZHVjZSIsImFyciIsInNlcnZlciIsImpvaW5lZCIsInB1c2giLCJjb25jYXQiLCJlbmQiLCJzaXplIiwiZnJvbSIsInRlcm0iLCJjYXRlZ29yeUJ1dHRvbnMiLCJ0b3RhbCIsInNldFN0YXRlIiwicmVmcyIsInNidiIsImNvbnRlbnRTY3JvbGxlciIsInNjcm9sbFRvcCIsImVycm9yIiwic2VydmVyQ2FyZCIsInBpbm5lZCIsImFjY2VwdEludml0ZSIsImludml0ZV9jb2RlIiwiam9pbkVuZFBvaW50IiwiaWRlbnRpZmllciIsImhlYWRlcnMiLCJhY2Nlc3NUb2tlbiIsImNyb3NzRG9tYWluIiwieGhyRmllbGRzIiwid2l0aENyZWRlbnRpYWxzIiwib3B0aW9ucyIsIndpbmRvd09wdGlvbnMiLCJ4IiwiTWF0aCIsInJvdW5kIiwid2luZG93Iiwic2NyZWVuWCIsImlubmVyV2lkdGgiLCJ3aWR0aCIsInkiLCJzY3JlZW5ZIiwiaW5uZXJIZWlnaHQiLCJoZWlnaHQiLCJqb2luV2luZG93IiwicmVxdWlyZSIsInJlbW90ZSIsIkJyb3dzZXJXaW5kb3ciLCJ3ZWJDb250ZW50cyIsIm9uIiwiZXZlbnQiLCJsb2FkVVJMIiwiYmFja2dyb3VuZENvbG9yIiwic2hvdyIsInJlc2l6YWJsZSIsIm1heGltaXphYmxlIiwibWluaW1pemFibGUiLCJhbHdheXNPblRvcCIsImZyYW1lIiwiY2VudGVyIiwid2ViUHJlZmVyZW5jZXMiLCJub2RlSW50ZWdyYXRpb24iLCJiZFNlcnZlciIsIm5hbWUiLCJvbmxpbmUiLCJtZW1iZXJzIiwiY2F0ZWdvcmllcyIsImRlc2NyaXB0aW9uIiwiaWNvblVybCIsIm5hdGl2ZWpvaW4iLCJndWlsZExpc3QiLCJndWlsZFBvc2l0aW9ucyIsImRlZmF1bHRMaXN0IiwiREVGQVVMVF9BVkFUQVJTIiwiY3JlYXRlRWxlbWVudCIsIlNlcnZlckNhcmQiLCJmYWxsYmFjayIsImZsb29yIiwicmFuZG9tIiwiY29ubmVjdEVuZFBvaW50IiwicmVuZGVyIiwiU2lkZWJhclZpZXciLCJyZWYiLCJjb21wb25lbnQiLCJzaWRlYmFyIiwiY29udGVudCIsInRvb2xzIiwiVG9vbHMiLCJrZXkiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwic3R5bGUiLCJmb250U2l6ZSIsIlRhYkJhciIsIlNlcGFyYXRvciIsInNlYXJjaElucHV0IiwiSGVhZGVyIiwidGV4dCIsIm1hcCIsInZhbHVlIiwiaW5kZXgiLCJJdGVtIiwiaWQiLCJzZWxlY3RlZCIsImZvb3RlciIsIm1hcmdpbkxlZnQiLCJvbktleURvd24iLCJvbkNoYW5nZSIsInR5cGUiLCJwbGFjZWhvbGRlciIsIm1heExlbmd0aCIsImUiLCJ3aGljaCIsInRhcmdldCIsInNlYXJjaGlucHV0Iiwibm90Q29ubmVjdGVkIiwiU2V0dGluZ3NUaXRsZSIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsImxlbmd0aCIsImRpc3BsYXkiLCJtaW5IZWlnaHQiLCJsaW5lSGVpZ2h0IiwiaHJlZiIsImNvbG9yIiwidXNlcm5hbWUiLCJkaXNjcmltaW5hdG9yIiwicGFkZGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVlLE1BQU1BLGFBQU4sU0FBNEJDLDZDQUFLLENBQUNDLFNBQWxDLENBQTRDO0FBRXZEQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxLQUFMLEdBQWE7QUFDVEMsc0JBQWdCLEVBQUUsQ0FBQyxDQURWO0FBRVRDLFdBQUssRUFBRSxZQUZFO0FBR1RDLGFBQU8sRUFBRSxJQUhBO0FBSVRDLGFBQU8sRUFBRSxFQUpBO0FBS1RDLFVBQUksRUFBRSxJQUxHO0FBTVRDLGdCQUFVLEVBQUU7QUFDUk4sYUFBSyxFQUFFLENBREM7QUFFUk8sWUFBSSxFQUFFO0FBRkU7QUFOSCxLQUFiO0FBV0EsU0FBS0MsS0FBTCxHQUFhLEtBQUtBLEtBQUwsQ0FBV0MsSUFBWCxDQUFnQixJQUFoQixDQUFiO0FBQ0EsU0FBS0MsY0FBTCxHQUFzQixLQUFLQSxjQUFMLENBQW9CRCxJQUFwQixDQUF5QixJQUF6QixDQUF0QjtBQUNBLFNBQUtFLE1BQUwsR0FBYyxLQUFLQSxNQUFMLENBQVlGLElBQVosQ0FBaUIsSUFBakIsQ0FBZDtBQUNBLFNBQUtHLGFBQUwsR0FBcUIsS0FBS0EsYUFBTCxDQUFtQkgsSUFBbkIsQ0FBd0IsSUFBeEIsQ0FBckI7QUFDQSxTQUFLSSxlQUFMLEdBQXVCLEtBQUtBLGVBQUwsQ0FBcUJKLElBQXJCLENBQTBCLElBQTFCLENBQXZCO0FBQ0EsU0FBS0ssSUFBTCxHQUFZLEtBQUtBLElBQUwsQ0FBVUwsSUFBVixDQUFlLElBQWYsQ0FBWjtB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RTtBQUEzQixPQUFSO0FBQTRDYixVQUFJLEVBQUUsUUFBbEQ7QUFBNERsQixlQUFTLEVBQUU7QUFBdkUsS0FGSixFQUdJbkksNkNBQUssQ0FBQ21ILGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ2dCLGVBQVMsRUFBRSxvQkFBWjtBQUFrQ0QsYUFBTyxFQUFFaEcsSUFBSSxDQUFDZjtBQUFoRCxLQUZKLEVBR0ksV0FISixDQUhKLENBSEosQ0FWRyxDQUFQO0FBd0JQOztBQXBhMEQiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy9tZW51LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdCwgUmVhY3RET00sIFdlYnBhY2tNb2R1bGVzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgU2lkZWJhclZpZXcgZnJvbSBcIi4vc2lkZWJhcnZpZXdcIjtcclxuaW1wb3J0IFRvb2xzIGZyb20gXCIuL2V4aXRidXR0b25cIjtcclxuaW1wb3J0IFRhYkJhciBmcm9tIFwiLi90YWJiYXJcIjtcclxuaW1wb3J0IFNldHRpbmdzVGl0bGUgZnJvbSBcIi4uL3NldHRpbmdzL3RpdGxlXCI7XHJcbmltcG9ydCBTZXJ2ZXJDYXJkIGZyb20gXCIuL2NhcmRcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFB1YmxpY1NlcnZlcnMgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IC0xLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJMb2FkaW5nLi4uXCIsXHJcbiAgICAgICAgICAgIGxvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgIHNlcnZlcnM6IFtdLFxyXG4gICAgICAgICAgICBuZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBjb25uZWN0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICBzdGF0ZTogMCxcclxuICAgICAgICAgICAgICAgIHVzZXI6IG51bGxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5jbG9zZSA9IHRoaXMuY2xvc2UuYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmNoYW5nZUNhdGVnb3J5ID0gdGhpcy5jaGFuZ2VDYXRlZ29yeS5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoID0gdGhpcy5zZWFyY2guYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLnNlYXJjaEtleURvd24gPSB0aGlzLnNlYXJjaEtleURvd24uYmluZCh0aGlzKTtcclxuICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbiA9IHRoaXMuY2hlY2tDb25uZWN0aW9uLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5qb2luID0gdGhpcy5qb2luLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0ID0gdGhpcy5jb25uZWN0LmJpbmQodGhpcyk7XHJcblxyXG4gICAgICAgIHRoaXMuR3VpbGRTdG9yZSA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRHdWlsZHNcIik7XHJcbiAgICAgICAgdGhpcy5BdmF0YXJEZWZhdWx0cyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJnZXRVc2VyQXZhdGFyVVJMXCIsIFwiREVGQVVMVF9BVkFUQVJTXCIpO1xyXG4gICAgICAgIHRoaXMuSW52aXRlQWN0aW9ucyA9IFdlYnBhY2tNb2R1bGVzLmdldEJ5UHJvcHMoXCJhY2NlcHRJbnZpdGVcIik7XHJcbiAgICAgICAgdGhpcy5Tb3J0ZWRHdWlsZFN0b3JlID0gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcImdldFNvcnRlZEd1aWxkc1wiKTtcclxuICAgIH1cclxuXHJcbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbigpO1xyXG4gICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMucHJvcHMucm9vdElkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoKHF1ZXJ5LCBjbGVhcikge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG5cclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgIHVybDogYCR7c2VsZi5lbmRQb2ludH0ke3F1ZXJ5fSR7cXVlcnkgPyBcIiZzY2hlbWE9bmV3XCIgOiBcIj9zY2hlbWE9bmV3XCJ9YCxcclxuICAgICAgICAgICAgc3VjY2VzczogZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2VydmVycyA9IGRhdGEucmVzdWx0cy5yZWR1Y2UoKGFyciwgc2VydmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVyLmpvaW5lZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHNlcnZlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYXJyLnB1c2goPFNlcnZlckNhcmQgc2VydmVyPXtzZXJ2ZXJ9IGpvaW49e3NlbGYuam9pbn0vPik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFycjtcclxuICAgICAgICAgICAgICAgIH0sIFtdKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIWNsZWFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VydmVycyA9IHNlbGYuc3RhdGUuc2VydmVycy5jb25jYXQoc2VydmVycyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvL3NlcnZlcnMudW5zaGlmdChzZWxmLmJkU2VydmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgZW5kID0gZGF0YS5zaXplICsgZGF0YS5mcm9tO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5uZXh0ID0gYD9mcm9tPSR7ZW5kfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS50ZXJtKSBkYXRhLm5leHQgKz0gYCZ0ZXJtPSR7c2VsZi5zdGF0ZS50ZXJtfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5KSBkYXRhLm5leHQgKz0gYCZjYXRlZ29yeT0ke3NlbGYuY2F0ZWdvcnlCdXR0b25zW3NlbGYuc3RhdGUuc2VsZWN0ZWRDYXRlZ29yeV19YDtcclxuICAgICAgICAgICAgICAgIGlmIChlbmQgPj0gZGF0YS50b3RhbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVuZCA9IGRhdGEudG90YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5uZXh0ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdGl0bGUgPSBgU2hvd2luZyAxLSR7ZW5kfSBvZiAke2RhdGEudG90YWx9IHJlc3VsdHMgaW4gJHtzZWxmLmNhdGVnb3J5QnV0dG9uc1tzZWxmLnN0YXRlLnNlbGVjdGVkQ2F0ZWdvcnldfWA7XHJcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS50ZXJtKSB0aXRsZSArPSBgIGZvciAke3NlbGYuc3RhdGUudGVybX1gO1xyXG5cclxuICAgICAgICAgICAgICAgIHNlbGYuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJzOiBzZXJ2ZXJzLFxyXG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IGRhdGEubmV4dFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGNsZWFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhzZWxmKTtcclxuICAgICAgICAgICAgICAgICAgICBzZWxmLnJlZnMuc2J2LnJlZnMuY29udGVudFNjcm9sbGVyLnNjcm9sbFRvcCA9IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJGYWlsZWQgdG8gbG9hZCBzZXJ2ZXJzLiBDaGVjayBjb25zb2xlIGZvciBkZXRhaWxzXCJcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgam9pbihzZXJ2ZXJDYXJkKSB7XHJcbiAgICAgICAgaWYgKHNlcnZlckNhcmQucHJvcHMucGlubmVkKSByZXR1cm4gdGhpcy5JbnZpdGVBY3Rpb25zLmFjY2VwdEludml0ZShzZXJ2ZXJDYXJkLnByb3BzLmludml0ZV9jb2RlKTtcclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXHJcbiAgICAgICAgICAgIHVybDogYCR7dGhpcy5qb2luRW5kUG9pbnR9LyR7c2VydmVyQ2FyZC5wcm9wcy5zZXJ2ZXIuaWRlbnRpZmllcn1gLFxyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIsXHJcbiAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIgLFxyXG4gICAgICAgICAgICAgICAgXCJ4LWRpc2NvcmQtdG9rZW5cIjogdGhpcy5zdGF0ZS5jb25uZWN0aW9uLnVzZXIuYWNjZXNzVG9rZW5cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY3Jvc3NEb21haW46IHRydWUsXHJcbiAgICAgICAgICAgIHhockZpZWxkczoge1xyXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHNlcnZlckNhcmQuc2V0U3RhdGUoe2pvaW5lZDogdHJ1ZX0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdCgpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy53aW5kb3dPcHRpb25zO1xyXG4gICAgICAgIG9wdGlvbnMueCA9IE1hdGgucm91bmQod2luZG93LnNjcmVlblggKyB3aW5kb3cuaW5uZXJXaWR0aCAvIDIgLSBvcHRpb25zLndpZHRoIC8gMik7XHJcbiAgICAgICAgb3B0aW9ucy55ID0gTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBvcHRpb25zLmhlaWdodCAvIDIpO1xyXG5cclxuICAgICAgICB0aGlzLmpvaW5XaW5kb3cgPSBuZXcgKHdpbmRvdy5yZXF1aXJlKFwiZWxlY3Ryb25cIikucmVtb3RlLkJyb3dzZXJXaW5kb3cpKG9wdGlvbnMpO1xyXG4gICAgICAgIGNvbnN0IHVybCA9IFwiaHR0cHM6Ly9hdXRoLmRpc2NvcmRzZXJ2ZXJzLmNvbS9jb25uZWN0P3Njb3Blcz1ndWlsZHMuam9pbiZwcmV2aW91c1VybD1odHRwczovL2F1dGguZGlzY29yZHNlcnZlcnMuY29tL2luZm9cIjtcclxuICAgICAgICB0aGlzLmpvaW5XaW5kb3cud2ViQ29udGVudHMub24oXCJkaWQtbmF2aWdhdGVcIiwgKGV2ZW50LCB1cmwpID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybCAhPSBcImh0dHBzOi8vYXV0aC5kaXNjb3Jkc2VydmVycy5jb20vaW5mb1wiKSByZXR1cm47XHJcbiAgICAgICAgICAgIHRoaXMuam9pbldpbmRvdy5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrQ29ubmVjdGlvbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuam9pbldpbmRvdy5sb2FkVVJMKHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHdpbmRvd09wdGlvbnMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwMCxcclxuICAgICAgICAgICAgaGVpZ2h0OiA1NTAsXHJcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjMjgyYjMwXCIsXHJcbiAgICAgICAgICAgIHNob3c6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIG1heGltaXphYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluaW1pemFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICBhbHdheXNPblRvcDogdHJ1ZSxcclxuICAgICAgICAgICAgZnJhbWU6IGZhbHNlLFxyXG4gICAgICAgICAgICBjZW50ZXI6IGZhbHNlLFxyXG4gICAgICAgICAgICB3ZWJQcmVmZXJlbmNlczoge1xyXG4gICAgICAgICAgICAgICAgbm9kZUludGVncmF0aW9uOiBmYWxzZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgYmRTZXJ2ZXIoKSB7XHJcbiAgICAgICAgY29uc3Qgc2VydmVyID0ge1xyXG4gICAgICAgICAgICBuYW1lOiBcIkJldHRlckRpc2NvcmRcIixcclxuICAgICAgICAgICAgb25saW5lOiBcIjc1MDArXCIsXHJcbiAgICAgICAgICAgIG1lbWJlcnM6IFwiMjAwMDArXCIsXHJcbiAgICAgICAgICAgIGNhdGVnb3JpZXM6IFtcImNvbW11bml0eVwiLCBcInByb2dyYW1taW5nXCIsIFwic3VwcG9ydFwiXSxcclxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiT2ZmaWNpYWwgQmV0dGVyRGlzY29yZCBzZXJ2ZXIgZm9yIHN1cHBvcnQgZXRjXCIsXHJcbiAgICAgICAgICAgIGlkZW50aWZpZXI6IFwiODYwMDQ3NDQ5NjY5MTQwNDhcIixcclxuICAgICAgICAgICAgaWNvblVybDogXCJodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9pY29ucy84NjAwNDc0NDk2NjkxNDA0OC8yOTJlN2Y2YmZmZjJiNzFkZmQxM2U1MDhhODU5YWVkZC53ZWJwXCIsXHJcbiAgICAgICAgICAgIG5hdGl2ZWpvaW46IHRydWUsXHJcbiAgICAgICAgICAgIGludml0ZV9jb2RlOiBcIjBUbWZvNVpiT1JDUnFiQWRcIixcclxuICAgICAgICAgICAgcGlubmVkOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb25zdCBndWlsZExpc3QgPSB0aGlzLlNvcnRlZEd1aWxkU3RvcmUuZ3VpbGRQb3NpdGlvbnM7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdExpc3QgPSB0aGlzLkF2YXRhckRlZmF1bHRzLkRFRkFVTFRfQVZBVEFSUztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTZXJ2ZXJDYXJkLCB7c2VydmVyOiBzZXJ2ZXIsIHBpbm5lZDogdHJ1ZSwgam9pbjogdGhpcy5qb2luLCBndWlsZExpc3Q6IGd1aWxkTGlzdCwgZmFsbGJhY2s6IGRlZmF1bHRMaXN0W01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDUpXX0pO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBlbmRQb2ludCgpIHtcclxuICAgICAgICByZXR1cm4gXCJodHRwczovL3NlYXJjaC5kaXNjb3Jkc2VydmVycy5jb21cIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgam9pbkVuZFBvaW50KCkge1xyXG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vai5kaXNjb3Jkc2VydmVycy5jb21cIjtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29ubmVjdEVuZFBvaW50KCkge1xyXG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vam9pbi5kaXNjb3Jkc2VydmVycy5jb20vY29ubmVjdFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrQ29ubmVjdGlvbigpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBgaHR0cHM6Ly9hdXRoLmRpc2NvcmRzZXJ2ZXJzLmNvbS9pbmZvYCxcclxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb247XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uO1wiXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY3Jvc3NEb21haW46IHRydWUsXHJcbiAgICAgICAgICAgICAgICB4aHJGaWVsZHM6IHtcclxuICAgICAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVdGlscy5sb2coXCJQdWJsaWNTZXJ2ZXJcIiwgXCJHb3QgZGF0YTogXCIgKyBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcjogZGF0YVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZWFyY2goXCJcIiwgdHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZENhdGVnb3J5OiAtMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGU6IDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyOiBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6IC0xLFxyXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZXI6IG51bGxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTaWRlYmFyVmlldywge3JlZjogXCJzYnZcIn0sIHRoaXMuY29tcG9uZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHNpZGViYXI6IHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5zaWRlYmFyXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogdGhpcy5jb250ZW50XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRvb2xzOiB7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG9vbHMsIHtrZXk6IFwicHRcIiwgcmVmOiBcInRvb2xzXCIsIG9uQ2xpY2s6IHRoaXMuY2xvc2V9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgc2lkZWJhcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzaWRlYmFyXCIsIGtleTogXCJwc1wifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLXRhYi1iYXIgU0lERVwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLXRhYi1iYXItaGVhZGVyXCIsIHN0eWxlOiB7Zm9udFNpemU6IFwiMTZweFwifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgXCJQdWJsaWMgU2VydmVyc1wiXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYWJCYXIuU2VwYXJhdG9yLCBudWxsKSxcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRhYkJhci5TZXBhcmF0b3IsIG51bGwpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChUYWJCYXIuSGVhZGVyLCB7dGV4dDogXCJDYXRlZ29yaWVzXCJ9KSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlCdXR0b25zLm1hcCgodmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFiQmFyLkl0ZW0sIHtpZDogaW5kZXgsIG9uQ2xpY2s6IHRoaXMuY2hhbmdlQ2F0ZWdvcnksIGtleTogaW5kZXgsIHRleHQ6IHZhbHVlLCBzZWxlY3RlZDogdGhpcy5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5ID09PSBpbmRleH0pO1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFRhYkJhci5TZXBhcmF0b3IsIG51bGwpLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5mb290ZXIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNlYXJjaElucHV0KCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWZvcm0taXRlbVwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLXRleHQtaW5wdXQgZmxleC12ZXJ0aWNhbFwiLCBzdHlsZToge3dpZHRoOiBcIjE3MnB4XCIsIG1hcmdpbkxlZnQ6IFwiMTBweFwifX0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge3JlZjogXCJzZWFyY2hpbnB1dFwiLCBvbktleURvd246IHRoaXMuc2VhcmNoS2V5RG93biwgb25DaGFuZ2U6ICgpID0+IHt9LCB0eXBlOiBcInRleHRcIiwgY2xhc3NOYW1lOiBcImlucHV0IGRlZmF1bHRcIiwgcGxhY2Vob2xkZXI6IFwiU2VhcmNoLi4uXCIsIG1heExlbmd0aDogXCI1MFwifSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoS2V5RG93bihlKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgaWYgKHNlbGYuc3RhdGUubG9hZGluZyB8fCBlLndoaWNoICE9PSAxMykgcmV0dXJuO1xyXG4gICAgICAgIHNlbGYuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBsb2FkaW5nOiB0cnVlLFxyXG4gICAgICAgICAgICB0aXRsZTogXCJMb2FkaW5nLi4uXCIsXHJcbiAgICAgICAgICAgIHRlcm06IGUudGFyZ2V0LnZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGV0IHF1ZXJ5ID0gYD90ZXJtPSR7ZS50YXJnZXQudmFsdWV9YDtcclxuICAgICAgICBpZiAoc2VsZi5zdGF0ZS5zZWxlY3RlZENhdGVnb3J5ICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5ICs9IGAmY2F0ZWdvcnk9JHtzZWxmLmNhdGVnb3J5QnV0dG9uc1tzZWxmLnN0YXRlLnNlbGVjdGVkQ2F0ZWdvcnldfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNlbGYuc2VhcmNoKHF1ZXJ5LCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY2F0ZWdvcnlCdXR0b25zKCkge1xyXG4gICAgICAgIHJldHVybiBbXCJBbGxcIiwgXCJGUFMgR2FtZXNcIiwgXCJNTU8gR2FtZXNcIiwgXCJTdHJhdGVneSBHYW1lc1wiLCBcIk1PQkEgR2FtZXNcIiwgXCJSUEcgR2FtZXNcIiwgXCJUYWJsZXRvcCBHYW1lc1wiLCBcIlNhbmRib3ggR2FtZXNcIiwgXCJTaW11bGF0aW9uIEdhbWVzXCIsIFwiTXVzaWNcIiwgXCJDb21tdW5pdHlcIiwgXCJMYW5ndWFnZVwiLCBcIlByb2dyYW1taW5nXCIsIFwiT3RoZXJcIl07XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlQ2F0ZWdvcnkoaWQpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICBpZiAoc2VsZi5zdGF0ZS5sb2FkaW5nKSByZXR1cm47XHJcbiAgICAgICAgc2VsZi5yZWZzLnNlYXJjaGlucHV0LnZhbHVlID0gXCJcIjtcclxuICAgICAgICBzZWxmLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogaWQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkxvYWRpbmcuLi5cIixcclxuICAgICAgICAgICAgdGVybTogbnVsbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChpZCA9PT0gMCkge1xyXG4gICAgICAgICAgICBzZWxmLnNlYXJjaChcIlwiLCB0cnVlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxmLnNlYXJjaChgP2NhdGVnb3J5PSR7c2VsZi5jYXRlZ29yeUJ1dHRvbnNbaWRdfWAsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb250ZW50KCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IGd1aWxkTGlzdCA9IHRoaXMuU29ydGVkR3VpbGRTdG9yZS5ndWlsZFBvc2l0aW9ucztcclxuICAgICAgICBjb25zdCBkZWZhdWx0TGlzdCA9IHRoaXMuQXZhdGFyRGVmYXVsdHMuREVGQVVMVF9BVkFUQVJTO1xyXG4gICAgICAgIGlmIChzZWxmLnN0YXRlLmNvbm5lY3Rpb24uc3RhdGUgPT09IDEpIHJldHVybiBzZWxmLm5vdENvbm5lY3RlZDtcclxuICAgICAgICByZXR1cm4gW1JlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgIHtyZWY6IFwiY29udGVudFwiLCBrZXk6IFwicGNcIiwgY2xhc3NOYW1lOiBcImNvbnRlbnRDb2x1bW4tMmhySVlIIGNvbnRlbnRDb2x1bW5EZWZhdWx0LTFWUWtHTSBjb250ZW50LWNvbHVtbiBkZWZhdWx0XCJ9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFNldHRpbmdzVGl0bGUsIHt0ZXh0OiBzZWxmLnN0YXRlLnRpdGxlfSksXHJcbiAgICAgICAgICAgIHNlbGYuYmRTZXJ2ZXIsXHJcbiAgICAgICAgICAgIHNlbGYuc3RhdGUuc2VydmVycy5tYXAoKHNlcnZlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2VydmVyQ2FyZCwge2tleTogc2VydmVyLmlkZW50aWZpZXIsIHNlcnZlcjogc2VydmVyLCBqb2luOiBzZWxmLmpvaW4sIGd1aWxkTGlzdDogZ3VpbGRMaXN0LCBmYWxsYmFjazogZGVmYXVsdExpc3RbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNSldfSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBzZWxmLnN0YXRlLm5leHQgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICB7dHlwZTogXCJidXR0b25cIiwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5zdGF0ZS5sb2FkaW5nKSByZXR1cm47c2VsZi5zZXRTdGF0ZSh7bG9hZGluZzogdHJ1ZX0pOyBzZWxmLnNlYXJjaChzZWxmLnN0YXRlLm5leHQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCBjbGFzc05hbWU6IFwidWktYnV0dG9uIGZpbGxlZCBicmFuZCBzbWFsbCBncm93XCIsIHN0eWxlOiB7d2lkdGg6IFwiMTAwJVwiLCBtYXJnaW5Ub3A6IFwiMTBweFwiLCBtYXJnaW5Cb3R0b206IFwiMTBweFwifX0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0ZS5sb2FkaW5nID8gXCJMb2FkaW5nXCIgOiBcIkxvYWQgTW9yZVwiXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHNlbGYuc3RhdGUuc2VydmVycy5sZW5ndGggPiAwICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2V0dGluZ3NUaXRsZSwge3RleHQ6IHNlbGYuc3RhdGUudGl0bGV9KVxyXG4gICAgICAgICldO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBub3RDb25uZWN0ZWQoKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgLy9yZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTZXR0aW5nc1RpdGxlLCB7IHRleHQ6IHNlbGYuc3RhdGUudGl0bGUgfSk7XHJcbiAgICAgICAgcmV0dXJuIFtSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICB7a2V5OiBcIm5jY1wiLCByZWY6IFwiY29udGVudFwiLCBjbGFzc05hbWU6IFwiY29udGVudENvbHVtbi0yaHJJWUggY29udGVudENvbHVtbkRlZmF1bHQtMVZRa0dNIGNvbnRlbnQtY29sdW1uIGRlZmF1bHRcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImgyXCIsXHJcbiAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWZvcm0tdGl0bGUgaDIgbWFyZ2luLXJlc2V0IG1hcmdpbi1ib3R0b20tMjBcIn0sXHJcbiAgICAgICAgICAgICAgICBcIk5vdCBjb25uZWN0ZWQgdG8gZGlzY29yZHNlcnZlcnMuY29tIVwiLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogc2VsZi5jb25uZWN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwidWktYnV0dG9uIGZpbGxlZCBicmFuZCBzbWFsbCBncm93XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiBcIjE4cHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IFwiMTBweFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogXCIxNHB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS1idXR0b24tY29udGVudHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQ29ubmVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApLCBzZWxmLmJkU2VydmVyXHJcbiAgICAgICAgKV07XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGZvb3RlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLWhlYWRlclwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiYVwiLFxyXG4gICAgICAgICAgICAgICAge2hyZWY6IFwiaHR0cHM6Ly9kaXNjb3Jkc2VydmVycy5jb21cIiwgdGFyZ2V0OiBcIl9ibGFua1wifSxcclxuICAgICAgICAgICAgICAgIFwiRGlzY29yZHNlcnZlcnMuY29tXCJcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbm5lY3Rpb24oKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY29uc3Qge2Nvbm5lY3Rpb259ID0gc2VsZi5zdGF0ZTtcclxuICAgICAgICBpZiAoY29ubmVjdGlvbi5zdGF0ZSAhPT0gMikgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIG51bGwpO1xyXG5cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJzcGFuXCIsXHJcbiAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFiQmFyLlNlcGFyYXRvciwgbnVsbCksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcInNwYW5cIixcclxuICAgICAgICAgICAgICAgIHtzdHlsZToge2NvbG9yOiBcIiNiOWJiYmVcIiwgZm9udFNpemU6IFwiMTBweFwiLCBtYXJnaW5MZWZ0OiBcIjEwcHhcIn19LFxyXG4gICAgICAgICAgICAgICAgXCJDb25uZWN0ZWQgYXM6IFwiLFxyXG4gICAgICAgICAgICAgICAgYCR7Y29ubmVjdGlvbi51c2VyLnVzZXJuYW1lfSMke2Nvbm5lY3Rpb24udXNlci5kaXNjcmltaW5hdG9yfWBcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgICAgIFwiZGl2XCIsXHJcbiAgICAgICAgICAgICAgICB7c3R5bGU6IHtwYWRkaW5nOiBcIjVweCAxMHB4IDAgMTBweFwifX0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIFwiYnV0dG9uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAge3N0eWxlOiB7d2lkdGg6IFwiMTAwJVwiLCBtaW5IZWlnaHQ6IFwiMjBweFwifSwgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBcInVpLWJ1dHRvbiBmaWxsZWQgYnJhbmQgc21hbGwgZ3Jvd1wifSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xhc3NOYW1lOiBcInVpLWJ1dHRvbi1jb250ZW50c1wiLCBvbkNsaWNrOiBzZWxmLmNvbm5lY3R9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlJlY29ubmVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxufVxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/publicservers/menu.js\n");
/***/ }),
/***/ "./src/ui/publicservers/publicservers.js":
/*!***********************************************!*\
!*** ./src/ui/publicservers/publicservers.js ***!
\***********************************************/
/*! exports provided: Menu, Card, Layer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _menu__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./menu */ \"./src/ui/publicservers/menu.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Menu\", function() { return _menu__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _card__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./card */ \"./src/ui/publicservers/card.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Card\", function() { return _card__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layer */ \"./src/ui/publicservers/layer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Layer\", function() { return _layer__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvcHVibGljc2VydmVycy5qcz9mZDQxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvcHVibGljc2VydmVycy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNZW51IGZyb20gXCIuL21lbnVcIjtcclxuaW1wb3J0IENhcmQgZnJvbSBcIi4vY2FyZFwiO1xyXG5pbXBvcnQgTGF5ZXIgZnJvbSBcIi4vbGF5ZXJcIjtcclxuXHJcbmV4cG9ydCB7TWVudSwgQ2FyZCwgTGF5ZXJ9OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/publicservers/publicservers.js\n");
/***/ }),
/***/ "./src/ui/publicservers/scroller.js":
/*!******************************************!*\
!*** ./src/ui/publicservers/scroller.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Scroller; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Scroller extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.ref = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n }\n\n render() {\n //scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d scrollerFade-1Ijw5y\n let wrapperClass = `scrollerWrap-2lJEkd scrollerThemed-2oenus themeGhostHairline-DBD-2d${this.props.fade ? \" scrollerFade-1Ijw5y\" : \"\"}`;\n let scrollerClass = \"scroller-2FKFPG scroller\";\n /* fuck */\n\n if (this.props.sidebar) scrollerClass = \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix sidebarRegionScroller-3MXcoP sidebar-region-scroller scroller\";\n\n if (this.props.contentColumn) {\n scrollerClass = \"scroller-2FKFPG firefoxFixScrollFlex-cnI2ix contentRegionScroller-26nc1e content-region-scroller scroller\";\n /* fuck */\n\n wrapperClass = \"scrollerWrap-2lJEkd firefoxFixScrollFlex-cnI2ix contentRegionScrollerWrap-3YZXdm content-region-scroller-wrap scrollerThemed-2oenus themeGhost-28MSn0 scrollerTrack-1ZIpsv\";\n }\n\n const {\n children\n } = this.props;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"scrollerwrap\",\n className: wrapperClass\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n key: \"scroller\",\n ref: this.ref,\n className: scrollerClass\n }, children));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2Nyb2xsZXIuanM/NDQ2NCJdLCJuYW1lcyI6WyJTY3JvbGxlciIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJlZiIsImNyZWF0ZVJlZiIsInJlbmRlciIsIndyYXBwZXJDbGFzcyIsImZhZGUiLCJzY3JvbGxlckNsYXNzIiwic2lkZWJhciIsImNvbnRlbnRDb2x1bW4iLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJjbGFzc05hbWUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRWUsTUFBTUEsUUFBTixTQUF1QkMsNkNBQUssQ0FBQ0MsU0FBN0IsQ0FBdUM7QUFFbERDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNBLFNBQUtDLEdBQUwsR0FBV0osNkNBQUssQ0FBQ0ssU0FBTixFQUFYO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMO0FBQ0EsUUFBSUMsWUFBWSxHQUFJLHNFQUFxRSxLQUFLSixLQUFMLENBQVdLLElBQVgsR0FBa0Isc0JBQWxCLEdBQTJDLEVBQUcsRUFBdkk7QUFDQSxRQUFJQyxhQUFhLEdBQUcsMEJBQXBCO0FBQXlGOztBQUN6RixRQUFJLEtBQUtOLEtBQUwsQ0FBV08sT0FBZixFQUF3QkQsYUFBYSxHQUFHLDJHQUFoQjs7QUFDeEIsUUFBSSxLQUFLTixLQUFMLENBQVdRLGFBQWYsRUFBOEI7QUFDMUJGLG1CQUFhLEdBQUcsMkdBQWhCO0FBQXFLOztBQUNyS0Ysa0JBQVksR0FBRyw0S0FBZjtBQUNIOztBQUNELFVBQU07QUFBQ0s7QUFBRCxRQUFhLEtBQUtULEtBQXhCO0FBQ0EsV0FBT0gsNkNBQUssQ0FBQ2EsYUFBTixDQUNILEtBREcsRUFFSDtBQUFDQyxTQUFHLEVBQUUsY0FBTjtBQUFzQkMsZUFBUyxFQUFFUjtBQUFqQyxLQUZHLEVBR0hQLDZDQUFLLENBQUNhLGFBQU4sQ0FDSSxLQURKLEVBRUk7QUFBQ0MsU0FBRyxFQUFFLFVBQU47QUFBa0JWLFNBQUcsRUFBRSxLQUFLQSxHQUE1QjtBQUFpQ1csZUFBUyxFQUFFTjtBQUE1QyxLQUZKLEVBR0lHLFFBSEosQ0FIRyxDQUFQO0FBU0g7O0FBMUJpRCIsImZpbGUiOiIuL3NyYy91aS9wdWJsaWNzZXJ2ZXJzL3Njcm9sbGVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdH0gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjcm9sbGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICAvL3Njcm9sbGVyV3JhcC0ybEpFa2Qgc2Nyb2xsZXJUaGVtZWQtMm9lbnVzIHRoZW1lR2hvc3RIYWlybGluZS1EQkQtMmQgc2Nyb2xsZXJGYWRlLTFJanc1eVxyXG4gICAgICAgIGxldCB3cmFwcGVyQ2xhc3MgPSBgc2Nyb2xsZXJXcmFwLTJsSkVrZCBzY3JvbGxlclRoZW1lZC0yb2VudXMgdGhlbWVHaG9zdEhhaXJsaW5lLURCRC0yZCR7dGhpcy5wcm9wcy5mYWRlID8gXCIgc2Nyb2xsZXJGYWRlLTFJanc1eVwiIDogXCJcIn1gO1xyXG4gICAgICAgIGxldCBzY3JvbGxlckNsYXNzID0gXCJzY3JvbGxlci0yRktGUEcgc2Nyb2xsZXJcIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmdWNrICovXHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuc2lkZWJhcikgc2Nyb2xsZXJDbGFzcyA9IFwic2Nyb2xsZXItMkZLRlBHIGZpcmVmb3hGaXhTY3JvbGxGbGV4LWNuSTJpeCBzaWRlYmFyUmVnaW9uU2Nyb2xsZXItM01YY29QIHNpZGViYXItcmVnaW9uLXNjcm9sbGVyIHNjcm9sbGVyXCI7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY29udGVudENvbHVtbikge1xyXG4gICAgICAgICAgICBzY3JvbGxlckNsYXNzID0gXCJzY3JvbGxlci0yRktGUEcgZmlyZWZveEZpeFNjcm9sbEZsZXgtY25JMml4IGNvbnRlbnRSZWdpb25TY3JvbGxlci0yNm5jMWUgY29udGVudC1yZWdpb24tc2Nyb2xsZXIgc2Nyb2xsZXJcIjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGZ1Y2sgKi9cclxuICAgICAgICAgICAgd3JhcHBlckNsYXNzID0gXCJzY3JvbGxlcldyYXAtMmxKRWtkIGZpcmVmb3hGaXhTY3JvbGxGbGV4LWNuSTJpeCBjb250ZW50UmVnaW9uU2Nyb2xsZXJXcmFwLTNZWlhkbSBjb250ZW50LXJlZ2lvbi1zY3JvbGxlci13cmFwIHNjcm9sbGVyVGhlbWVkLTJvZW51cyB0aGVtZUdob3N0LTI4TVNuMCBzY3JvbGxlclRyYWNrLTFaSXBzdlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7Y2hpbGRyZW59ID0gdGhpcy5wcm9wcztcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2tleTogXCJzY3JvbGxlcndyYXBcIiwgY2xhc3NOYW1lOiB3cmFwcGVyQ2xhc3N9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAgICAgIHtrZXk6IFwic2Nyb2xsZXJcIiwgcmVmOiB0aGlzLnJlZiwgY2xhc3NOYW1lOiBzY3JvbGxlckNsYXNzfSxcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/scroller.js\n");
/***/ }),
/***/ "./src/ui/publicservers/sidebarview.js":
/*!*********************************************!*\
!*** ./src/ui/publicservers/sidebarview.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SidebarView; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _scroller__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scroller */ \"./src/ui/publicservers/scroller.js\");\n\n\nclass SidebarView extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {\n sidebar,\n content,\n tools\n } = this.props.children;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"standardSidebarView-3F1I7i ui-standard-sidebar-view\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"sidebarRegion-VFTUkN sidebar-region\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_scroller__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n key: \"sidebarScroller\",\n sidebar: true,\n fade: sidebar.fade || true,\n dark: sidebar.dark || true\n }, sidebar.component)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentRegion-3nDuYy content-region\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"contentTransitionWrap-3hqOEW content-transition-wrap\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_scroller__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n key: \"contentScroller\",\n contentColumn: true,\n fade: content.fade || true,\n dark: content.dark || true\n }, content.component, tools.component))));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvc2lkZWJhcnZpZXcuanM/OGM1MiJdLCJuYW1lcyI6WyJTaWRlYmFyVmlldyIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInJlbmRlciIsInNpZGViYXIiLCJjb250ZW50IiwidG9vbHMiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTY3JvbGxlciIsImtleSIsImZhZGUiLCJkYXJrIiwiY29tcG9uZW50IiwiY29udGVudENvbHVtbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRWUsTUFBTUEsV0FBTixTQUEwQkMsNkNBQUssQ0FBQ0MsU0FBaEMsQ0FBMEM7QUFFckRDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxVQUFNO0FBQUNDLGFBQUQ7QUFBVUMsYUFBVjtBQUFtQkM7QUFBbkIsUUFBNEIsS0FBS0osS0FBTCxDQUFXSyxRQUE3QztBQUNBLFdBQU9SLDZDQUFLLENBQUNTLGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FGRyxFQUdIViw2Q0FBSyxDQUFDUyxhQUFOLENBQ0ksS0FESixFQUVJO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkosRUFHSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQkUsaURBQXBCLEVBQThCO0FBQUNDLFNBQUcsRUFBRSxpQkFBTjtBQUF5QlAsYUFBTyxFQUFFLElBQWxDO0FBQXdDUSxVQUFJLEVBQUVSLE9BQU8sQ0FBQ1EsSUFBUixJQUFnQixJQUE5RDtBQUFvRUMsVUFBSSxFQUFFVCxPQUFPLENBQUNTLElBQVIsSUFBZ0I7QUFBMUYsS0FBOUIsRUFBK0hULE9BQU8sQ0FBQ1UsU0FBdkksQ0FISixDQUhHLEVBUUhmLDZDQUFLLENBQUNTLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsRUFDSVYsNkNBQUssQ0FBQ1MsYUFBTixDQUFvQixLQUFwQixFQUEyQjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUEzQixFQUNJViw2Q0FBSyxDQUFDUyxhQUFOLENBQW9CRSxpREFBcEIsRUFBOEI7QUFBQ0MsU0FBRyxFQUFFLGlCQUFOO0FBQXlCSSxtQkFBYSxFQUFFLElBQXhDO0FBQThDSCxVQUFJLEVBQUVQLE9BQU8sQ0FBQ08sSUFBUixJQUFnQixJQUFwRTtBQUEwRUMsVUFBSSxFQUFFUixPQUFPLENBQUNRLElBQVIsSUFBZ0I7QUFBaEcsS0FBOUIsRUFBcUlSLE9BQU8sQ0FBQ1MsU0FBN0ksRUFBd0pSLEtBQUssQ0FBQ1EsU0FBOUosQ0FESixDQURKLENBUkcsQ0FBUDtBQWNIOztBQXRCb0QiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy9zaWRlYmFydmlldy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBTY3JvbGxlciBmcm9tIFwiLi9zY3JvbGxlclwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2lkZWJhclZpZXcgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7c2lkZWJhciwgY29udGVudCwgdG9vbHN9ID0gdGhpcy5wcm9wcy5jaGlsZHJlbjtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzdGFuZGFyZFNpZGViYXJWaWV3LTNGMUk3aSB1aS1zdGFuZGFyZC1zaWRlYmFyLXZpZXdcIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXHJcbiAgICAgICAgICAgICAgICBcImRpdlwiLFxyXG4gICAgICAgICAgICAgICAge2NsYXNzTmFtZTogXCJzaWRlYmFyUmVnaW9uLVZGVFVrTiBzaWRlYmFyLXJlZ2lvblwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2Nyb2xsZXIsIHtrZXk6IFwic2lkZWJhclNjcm9sbGVyXCIsIHNpZGViYXI6IHRydWUsIGZhZGU6IHNpZGViYXIuZmFkZSB8fCB0cnVlLCBkYXJrOiBzaWRlYmFyLmRhcmsgfHwgdHJ1ZX0sIHNpZGViYXIuY29tcG9uZW50KVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiY29udGVudFJlZ2lvbi0zbkR1WXkgY29udGVudC1yZWdpb25cIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiY29udGVudFRyYW5zaXRpb25XcmFwLTNocU9FVyBjb250ZW50LXRyYW5zaXRpb24td3JhcFwifSxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFNjcm9sbGVyLCB7a2V5OiBcImNvbnRlbnRTY3JvbGxlclwiLCBjb250ZW50Q29sdW1uOiB0cnVlLCBmYWRlOiBjb250ZW50LmZhZGUgfHwgdHJ1ZSwgZGFyazogY29udGVudC5kYXJrIHx8IHRydWV9LCBjb250ZW50LmNvbXBvbmVudCwgdG9vbHMuY29tcG9uZW50KVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/publicservers/sidebarview.js\n");
/***/ }),
/***/ "./src/ui/publicservers/tabbar.js":
/*!****************************************!*\
!*** ./src/ui/publicservers/tabbar.js ***!
\****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return TabBar; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\n\nclass TabBarItem extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n selected: this.props.selected || false\n };\n this.onClick = this.onClick.bind(this);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: `ui-tab-bar-item${this.props.selected ? \" selected\" : \"\"}`,\n onClick: this.onClick\n }, this.props.text);\n }\n\n onClick() {\n if (this.props.onClick) {\n this.props.onClick(this.props.id);\n }\n }\n\n}\n\nclass TabBarSeparator extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-separator margin-top-8 margin-bottom-8\"\n });\n }\n\n}\n\nclass TabBarHeader extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"ui-tab-bar-header\"\n }, this.props.text);\n }\n\n}\n\nclass TabBar {\n static get Item() {\n return TabBarItem;\n }\n\n static get Header() {\n return TabBarHeader;\n }\n\n static get Separator() {\n return TabBarSeparator;\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3B1YmxpY3NlcnZlcnMvdGFiYmFyLmpzPzRhMGQiXSwibmFtZXMiOlsiVGFiQmFySXRlbSIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwic2VsZWN0ZWQiLCJvbkNsaWNrIiwiYmluZCIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0ZXh0IiwiaWQiLCJUYWJCYXJTZXBhcmF0b3IiLCJUYWJCYXJIZWFkZXIiLCJUYWJCYXIiLCJJdGVtIiwiSGVhZGVyIiwiU2VwYXJhdG9yIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFQSxNQUFNQSxVQUFOLFNBQXlCQyw2Q0FBSyxDQUFDQyxTQUEvQixDQUF5QztBQUVyQ0MsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0EsU0FBS0MsS0FBTCxHQUFhO0FBQ1RDLGNBQVEsRUFBRSxLQUFLRixLQUFMLENBQVdFLFFBQVgsSUFBdUI7QUFEeEIsS0FBYjtBQUdBLFNBQUtDLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFDLElBQWIsQ0FBa0IsSUFBbEIsQ0FBZjtBQUNIOztBQUVEQyxRQUFNLEdBQUc7QUFDTCxXQUFPUiw2Q0FBSyxDQUFDUyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLGVBQVMsRUFBRyxrQkFBaUIsS0FBS1AsS0FBTCxDQUFXRSxRQUFYLEdBQXNCLFdBQXRCLEdBQW9DLEVBQUcsRUFBckU7QUFBd0VDLGFBQU8sRUFBRSxLQUFLQTtBQUF0RixLQUZHLEVBR0gsS0FBS0gsS0FBTCxDQUFXUSxJQUhSLENBQVA7QUFLSDs7QUFFREwsU0FBTyxHQUFHO0FBQ04sUUFBSSxLQUFLSCxLQUFMLENBQVdHLE9BQWYsRUFBd0I7QUFDcEIsV0FBS0gsS0FBTCxDQUFXRyxPQUFYLENBQW1CLEtBQUtILEtBQUwsQ0FBV1MsRUFBOUI7QUFDSDtBQUNKOztBQXRCb0M7O0FBeUJ6QyxNQUFNQyxlQUFOLFNBQThCYiw2Q0FBSyxDQUFDQyxTQUFwQyxDQUE4QztBQUMxQ0MsYUFBVyxDQUFDQyxLQUFELEVBQVE7QUFDZixVQUFNQSxLQUFOO0FBQ0g7O0FBRURLLFFBQU0sR0FBRztBQUNMLFdBQU9SLDZDQUFLLENBQUNTLGFBQU4sQ0FBb0IsS0FBcEIsRUFBMkI7QUFBQ0MsZUFBUyxFQUFFO0FBQVosS0FBM0IsQ0FBUDtBQUNIOztBQVB5Qzs7QUFVOUMsTUFBTUksWUFBTixTQUEyQmQsNkNBQUssQ0FBQ0MsU0FBakMsQ0FBMkM7QUFDdkNDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjtBQUNIOztBQUVESyxRQUFNLEdBQUc7QUFDTCxXQUFPUiw2Q0FBSyxDQUFDUyxhQUFOLENBQ0gsS0FERyxFQUVIO0FBQUNDLGVBQVMsRUFBRTtBQUFaLEtBRkcsRUFHSCxLQUFLUCxLQUFMLENBQVdRLElBSFIsQ0FBUDtBQUtIOztBQVhzQzs7QUFjNUIsTUFBTUksTUFBTixDQUFhO0FBQ3hCLGFBQVdDLElBQVgsR0FBa0I7QUFDZCxXQUFPakIsVUFBUDtBQUNIOztBQUNELGFBQVdrQixNQUFYLEdBQW9CO0FBQ2hCLFdBQU9ILFlBQVA7QUFDSDs7QUFDRCxhQUFXSSxTQUFYLEdBQXVCO0FBQ25CLFdBQU9MLGVBQVA7QUFDSDs7QUFUdUIiLCJmaWxlIjoiLi9zcmMvdWkvcHVibGljc2VydmVycy90YWJiYXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuY2xhc3MgVGFiQmFySXRlbSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMucHJvcHMuc2VsZWN0ZWQgfHwgZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub25DbGljayA9IHRoaXMub25DbGljay5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogYHVpLXRhYi1iYXItaXRlbSR7dGhpcy5wcm9wcy5zZWxlY3RlZCA/IFwiIHNlbGVjdGVkXCIgOiBcIlwifWAsIG9uQ2xpY2s6IHRoaXMub25DbGlja30sXHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMudGV4dFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGljaygpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkNsaWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMub25DbGljayh0aGlzLnByb3BzLmlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmNsYXNzIFRhYkJhclNlcGFyYXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLXNlcGFyYXRvciBtYXJnaW4tdG9wLTggbWFyZ2luLWJvdHRvbS04XCJ9KTtcclxuICAgIH1cclxufVxyXG5cclxuY2xhc3MgVGFiQmFySGVhZGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge2NsYXNzTmFtZTogXCJ1aS10YWItYmFyLWhlYWRlclwifSxcclxuICAgICAgICAgICAgdGhpcy5wcm9wcy50ZXh0XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGFiQmFyIHtcclxuICAgIHN0YXRpYyBnZXQgSXRlbSgpIHtcclxuICAgICAgICByZXR1cm4gVGFiQmFySXRlbTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBnZXQgSGVhZGVyKCkge1xyXG4gICAgICAgIHJldHVybiBUYWJCYXJIZWFkZXI7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZ2V0IFNlcGFyYXRvcigpIHtcclxuICAgICAgICByZXR1cm4gVGFiQmFyU2VwYXJhdG9yO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/publicservers/tabbar.js\n");
/***/ }),
/***/ "./src/ui/settings/contentlist.jsx":
/*!*****************************************!*\
!*** ./src/ui/settings/contentlist.jsx ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ContentList; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _title__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./title */ \"./src/ui/settings/title.jsx\");\n/* harmony import */ var _plugincard__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./plugincard */ \"./src/ui/settings/plugincard.js\");\n/* harmony import */ var _themecard__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./themecard */ \"./src/ui/settings/themecard.js\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.jsx\");\n// static getPluginsPanel(plugins, state, options = {}) {\n// const {folder = \"\", onChange, reload} = options;\n// const titleComponent = React.createElement(SettingsTitle, {text: \"Plugins\", button: {title: \"Open Plugin Folder\", onClick: () => { require(\"electron\").shell.openItem(folder); }}});\n// const cards = plugins.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase())).map(plugin => \n// React.createElement(PluginCard, {key: plugin.id, enabled: state[plugin.id], content: plugin, onChange, reload})\n// );\n// return [titleComponent, React.createElement(\"ul\", {className: \"bda-slist\"}, ...cards)];\n// }\n\n\n\n\n\nclass ContentList extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n reload() {\n if (this.props.refreshList) this.props.refreshList();\n this.forceUpdate();\n }\n\n render() {\n const {\n title,\n folder,\n contentList,\n contentState,\n onChange,\n reload\n } = this.props;\n const showReloadIcon = !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\");\n const button = folder ? {\n title: `Open ${title} Folder`,\n onClick: () => {\n __webpack_require__(/*! electron */ \"electron\").shell.openItem(folder);\n }\n } : null;\n return [modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_title__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n key: \"title\",\n text: title,\n button: button,\n otherChildren: showReloadIcon && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n onClick: this.reload.bind(this)\n })\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"ul\", {\n key: \"ContentList\",\n className: \"bda-slist\"\n }, contentList.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase())).map(content => {\n const CardType = content.type ? _plugincard__WEBPACK_IMPORTED_MODULE_2__[\"default\"] : _themecard__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(CardType, {\n showReloadIcon: showReloadIcon,\n key: content.id,\n enabled: contentState[content.id],\n content: content,\n onChange: onChange,\n reload: reload\n });\n }))];\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL2NvbnRlbnRsaXN0LmpzeD9kZDhlIl0sIm5hbWVzIjpbIkNvbnRlbnRMaXN0IiwiUmVhY3QiLCJDb21wb25lbnQiLCJyZWxvYWQiLCJwcm9wcyIsInJlZnJlc2hMaXN0IiwiZm9yY2VVcGRhdGUiLCJyZW5kZXIiLCJ0aXRsZSIsImZvbGRlciIsImNvbnRlbnRMaXN0IiwiY29udGVudFN0YXRlIiwib25DaGFuZ2UiLCJzaG93UmVsb2FkSWNvbiIsIlNldHRpbmdzIiwiZ2V0IiwiYnV0dG9uIiwib25DbGljayIsInJlcXVpcmUiLCJzaGVsbCIsIm9wZW5JdGVtIiwiYmluZCIsInNvcnQiLCJhIiwiYiIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsImxvY2FsZUNvbXBhcmUiLCJtYXAiLCJjb250ZW50IiwiQ2FyZFR5cGUiLCJ0eXBlIiwiUGx1Z2luQ2FyZCIsIlRoZW1lQ2FyZCIsImlkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRWUsTUFBTUEsV0FBTixTQUEwQkMsNkNBQUssQ0FBQ0MsU0FBaEMsQ0FBMEM7QUFFckRDLFFBQU0sR0FBRztBQUNMLFFBQUksS0FBS0MsS0FBTCxDQUFXQyxXQUFmLEVBQTRCLEtBQUtELEtBQUwsQ0FBV0MsV0FBWDtBQUM1QixTQUFLQyxXQUFMO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMLFVBQU07QUFBQ0MsV0FBRDtBQUFRQyxZQUFSO0FBQWdCQyxpQkFBaEI7QUFBNkJDLGtCQUE3QjtBQUEyQ0MsY0FBM0M7QUFBcURUO0FBQXJELFFBQStELEtBQUtDLEtBQTFFO0FBQ0EsVUFBTVMsY0FBYyxHQUFHLENBQUNDLGdEQUFRLENBQUNDLEdBQVQsQ0FBYSxVQUFiLEVBQXlCLFNBQXpCLEVBQW9DLFlBQXBDLENBQXhCO0FBQ0EsVUFBTUMsTUFBTSxHQUFHUCxNQUFNLEdBQUc7QUFBQ0QsV0FBSyxFQUFHLFFBQU9BLEtBQU0sU0FBdEI7QUFBZ0NTLGFBQU8sRUFBRSxNQUFNO0FBQUNDLDJCQUFPLENBQUMsMEJBQUQsQ0FBUCxDQUFvQkMsS0FBcEIsQ0FBMEJDLFFBQTFCLENBQW1DWCxNQUFuQztBQUE0QztBQUE1RixLQUFILEdBQW1HLElBQXhIO0FBQ0EsV0FBTyxDQUNILDREQUFDLDhDQUFEO0FBQWUsU0FBRyxFQUFDLE9BQW5CO0FBQTJCLFVBQUksRUFBRUQsS0FBakM7QUFBd0MsWUFBTSxFQUFFUSxNQUFoRDtBQUF3RCxtQkFBYSxFQUFFSCxjQUFjLElBQUksNERBQUMscURBQUQ7QUFBWSxlQUFPLEVBQUUsS0FBS1YsTUFBTCxDQUFZa0IsSUFBWixDQUFpQixJQUFqQjtBQUFyQjtBQUF6RixNQURHLEVBRUg7QUFBSSxTQUFHLEVBQUMsYUFBUjtBQUFzQixlQUFTLEVBQUU7QUFBakMsT0FDQ1gsV0FBVyxDQUFDWSxJQUFaLENBQWlCLENBQUNDLENBQUQsRUFBSUMsQ0FBSixLQUFVRCxDQUFDLENBQUNFLElBQUYsQ0FBT0MsV0FBUCxHQUFxQkMsYUFBckIsQ0FBbUNILENBQUMsQ0FBQ0MsSUFBRixDQUFPQyxXQUFQLEVBQW5DLENBQTNCLEVBQXFGRSxHQUFyRixDQUF5RkMsT0FBTyxJQUFJO0FBQ2pHLFlBQU1DLFFBQVEsR0FBR0QsT0FBTyxDQUFDRSxJQUFSLEdBQWVDLG1EQUFmLEdBQTRCQyxrREFBN0M7QUFDQSxhQUFPLDREQUFDLFFBQUQ7QUFBVSxzQkFBYyxFQUFFcEIsY0FBMUI7QUFBMEMsV0FBRyxFQUFFZ0IsT0FBTyxDQUFDSyxFQUF2RDtBQUEyRCxlQUFPLEVBQUV2QixZQUFZLENBQUNrQixPQUFPLENBQUNLLEVBQVQsQ0FBaEY7QUFBOEYsZUFBTyxFQUFFTCxPQUF2RztBQUFnSCxnQkFBUSxFQUFFakIsUUFBMUg7QUFBb0ksY0FBTSxFQUFFVDtBQUE1SSxRQUFQO0FBQ0gsS0FIQSxDQURELENBRkcsQ0FBUDtBQVNIOztBQXBCb0QiLCJmaWxlIjoiLi9zcmMvdWkvc2V0dGluZ3MvY29udGVudGxpc3QuanN4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3RhdGljIGdldFBsdWdpbnNQYW5lbChwbHVnaW5zLCBzdGF0ZSwgb3B0aW9ucyA9IHt9KSB7XHJcbi8vICAgICBjb25zdCB7Zm9sZGVyID0gXCJcIiwgb25DaGFuZ2UsIHJlbG9hZH0gPSBvcHRpb25zO1xyXG4vLyAgICAgY29uc3QgdGl0bGVDb21wb25lbnQgPSBSZWFjdC5jcmVhdGVFbGVtZW50KFNldHRpbmdzVGl0bGUsIHt0ZXh0OiBcIlBsdWdpbnNcIiwgYnV0dG9uOiB7dGl0bGU6IFwiT3BlbiBQbHVnaW4gRm9sZGVyXCIsIG9uQ2xpY2s6ICgpID0+IHsgcmVxdWlyZShcImVsZWN0cm9uXCIpLnNoZWxsLm9wZW5JdGVtKGZvbGRlcik7IH19fSk7XHJcbi8vICAgICBjb25zdCBjYXJkcyA9IHBsdWdpbnMuc29ydCgoYSwgYikgPT4gYS5uYW1lLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShiLm5hbWUudG9Mb3dlckNhc2UoKSkpLm1hcChwbHVnaW4gPT4gXHJcbi8vICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChQbHVnaW5DYXJkLCB7a2V5OiBwbHVnaW4uaWQsIGVuYWJsZWQ6IHN0YXRlW3BsdWdpbi5pZF0sIGNvbnRlbnQ6IHBsdWdpbiwgb25DaGFuZ2UsIHJlbG9hZH0pXHJcbi8vICAgICApO1xyXG4vLyAgICAgcmV0dXJuIFt0aXRsZUNvbXBvbmVudCwgUmVhY3QuY3JlYXRlRWxlbWVudChcInVsXCIsIHtjbGFzc05hbWU6IFwiYmRhLXNsaXN0XCJ9LCAuLi5jYXJkcyldO1xyXG4vLyB9XHJcblxyXG5pbXBvcnQge1JlYWN0LCBTZXR0aW5nc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmltcG9ydCBTZXR0aW5nc1RpdGxlIGZyb20gXCIuL3RpdGxlXCI7XHJcbmltcG9ydCBQbHVnaW5DYXJkIGZyb20gXCIuL3BsdWdpbmNhcmRcIjtcclxuaW1wb3J0IFRoZW1lQ2FyZCBmcm9tIFwiLi90aGVtZWNhcmRcIjtcclxuaW1wb3J0IFJlbG9hZEljb24gZnJvbSBcIi4uL2ljb25zL3JlbG9hZFwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGVudExpc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIHJlbG9hZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9wcy5yZWZyZXNoTGlzdCkgdGhpcy5wcm9wcy5yZWZyZXNoTGlzdCgpO1xyXG4gICAgICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgY29uc3Qge3RpdGxlLCBmb2xkZXIsIGNvbnRlbnRMaXN0LCBjb250ZW50U3RhdGUsIG9uQ2hhbmdlLCByZWxvYWR9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICBjb25zdCBzaG93UmVsb2FkSWNvbiA9ICFTZXR0aW5ncy5nZXQoXCJzZXR0aW5nc1wiLCBcImNvbnRlbnRcIiwgXCJhdXRvUmVsb2FkXCIpO1xyXG4gICAgICAgIGNvbnN0IGJ1dHRvbiA9IGZvbGRlciA/IHt0aXRsZTogYE9wZW4gJHt0aXRsZX0gRm9sZGVyYCwgb25DbGljazogKCkgPT4ge3JlcXVpcmUoXCJlbGVjdHJvblwiKS5zaGVsbC5vcGVuSXRlbShmb2xkZXIpO319IDogbnVsbDtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICA8U2V0dGluZ3NUaXRsZSBrZXk9XCJ0aXRsZVwiIHRleHQ9e3RpdGxlfSBidXR0b249e2J1dHRvbn0gb3RoZXJDaGlsZHJlbj17c2hvd1JlbG9hZEljb24gJiYgPFJlbG9hZEljb24gb25DbGljaz17dGhpcy5yZWxvYWQuYmluZCh0aGlzKX0gLz59IC8+LFxyXG4gICAgICAgICAgICA8dWwga2V5PVwiQ29udGVudExpc3RcIiBjbGFzc05hbWU9e1wiYmRhLXNsaXN0XCJ9PlxyXG4gICAgICAgICAgICB7Y29udGVudExpc3Quc29ydCgoYSwgYikgPT4gYS5uYW1lLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShiLm5hbWUudG9Mb3dlckNhc2UoKSkpLm1hcChjb250ZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IENhcmRUeXBlID0gY29udGVudC50eXBlID8gUGx1Z2luQ2FyZCA6IFRoZW1lQ2FyZDtcclxuICAgICAgICAgICAgICAgIHJldHVybiA8Q2FyZFR5cGUgc2hvd1JlbG9hZEljb249e3Nob3dSZWxvYWRJY29ufSBrZXk9e2NvbnRlbnQuaWR9IGVuYWJsZWQ9e2NvbnRlbnRTdGF0ZVtjb250ZW50LmlkXX0gY29udGVudD17Y29udGVudH0gb25DaGFuZ2U9e29uQ2hhbmdlfSByZWxvYWQ9e3JlbG9hZH0gLz47XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIF07XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/settings/contentlist.jsx\n");
/***/ }),
/***/ "./src/ui/settings/divider.jsx":
/*!*************************************!*\
!*** ./src/ui/settings/divider.jsx ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Divider; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nclass Divider extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n render() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bd-divider divider-3573oO marginTop8-1DLZ1n marginBottom40-2vIwTv\"\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL2RpdmlkZXIuanN4P2M4Y2MiXSwibmFtZXMiOlsiRGl2aWRlciIsIlJlYWN0IiwiQ29tcG9uZW50IiwicmVuZGVyIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVlLE1BQU1BLE9BQU4sU0FBc0JDLDZDQUFLLENBQUNDLFNBQTVCLENBQXNDO0FBQ2pEQyxRQUFNLEdBQUc7QUFDTCxXQUFPO0FBQUssZUFBUyxFQUFDO0FBQWYsTUFBUDtBQUNIOztBQUhnRCIsImZpbGUiOiIuL3NyYy91aS9zZXR0aW5ncy9kaXZpZGVyLmpzeC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEaXZpZGVyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9XCJiZC1kaXZpZGVyIGRpdmlkZXItMzU3M29PIG1hcmdpblRvcDgtMURMWjFuIG1hcmdpbkJvdHRvbTQwLTJ2SXdUdlwiIC8+O1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/settings/divider.jsx\n");
/***/ }),
/***/ "./src/ui/settings/group.jsx":
/*!***********************************!*\
!*** ./src/ui/settings/group.jsx ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Group; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _title__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./title */ \"./src/ui/settings/title.jsx\");\n/* harmony import */ var _divider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./divider */ \"./src/ui/settings/divider.jsx\");\n/* harmony import */ var _switch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./switch */ \"./src/ui/settings/switch.jsx\");\n\n\n\n\nconst baseClassName = \"bd-settings-group\";\nclass Group extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n\n if (this.props.button && this.props.collapsible) {\n const original = this.props.button.onClick;\n\n this.props.button.onClick = event => {\n event.stopPropagation();\n original(...arguments);\n };\n }\n\n if (!this.props.hasOwnProperty(\"shown\")) this.props.shown = true;\n this.container = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n this.state = {\n collapsed: this.props.collapsible && !this.props.shown\n };\n this.onChange = this.onChange.bind(this);\n }\n\n toggleCollapse() {\n const container = this.container.current;\n const timeout = this.state.collapsed ? 300 : 1;\n container.style.setProperty(\"height\", container.scrollHeight + \"px\");\n this.setState({\n collapsed: !this.state.collapsed\n }, () => setTimeout(() => container.style.setProperty(\"height\", \"\"), timeout));\n }\n\n onChange(id, value) {\n if (!this.props.onChange) return;\n if (this.props.id) this.props.onChange(this.props.id, id, value);else this.props.onChange(id, value);\n this.forceUpdate();\n }\n\n render() {\n const {\n settings\n } = this.props;\n const collapseClass = this.props.collapsible ? `collapsible ${this.state.collapsed && \"collapsed\"}` : \"\";\n const groupClass = `${baseClassName} ${collapseClass}`;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: groupClass\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_title__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n text: this.props.name,\n collapsible: this.props.collapsible,\n onClick: () => this.toggleCollapse(),\n button: this.props.button,\n isGroup: true\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bd-settings-container\",\n ref: this.container\n }, settings.filter(s => !s.hidden).map(setting => modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_switch__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n disabled: setting.disabled,\n id: setting.id,\n key: setting.id,\n name: setting.name,\n note: setting.note,\n checked: setting.value,\n onChange: this.onChange\n }))), this.props.showDivider && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_divider__WEBPACK_IMPORTED_MODULE_2__[\"default\"], null));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL2dyb3VwLmpzeD8xYjcyIl0sIm5hbWVzIjpbImJhc2VDbGFzc05hbWUiLCJHcm91cCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsImJ1dHRvbiIsImNvbGxhcHNpYmxlIiwib3JpZ2luYWwiLCJvbkNsaWNrIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJhcmd1bWVudHMiLCJoYXNPd25Qcm9wZXJ0eSIsInNob3duIiwiY29udGFpbmVyIiwiY3JlYXRlUmVmIiwic3RhdGUiLCJjb2xsYXBzZWQiLCJvbkNoYW5nZSIsImJpbmQiLCJ0b2dnbGVDb2xsYXBzZSIsImN1cnJlbnQiLCJ0aW1lb3V0Iiwic3R5bGUiLCJzZXRQcm9wZXJ0eSIsInNjcm9sbEhlaWdodCIsInNldFN0YXRlIiwic2V0VGltZW91dCIsImlkIiwidmFsdWUiLCJmb3JjZVVwZGF0ZSIsInJlbmRlciIsInNldHRpbmdzIiwiY29sbGFwc2VDbGFzcyIsImdyb3VwQ2xhc3MiLCJuYW1lIiwiZmlsdGVyIiwicyIsImhpZGRlbiIsIm1hcCIsInNldHRpbmciLCJkaXNhYmxlZCIsIm5vdGUiLCJzaG93RGl2aWRlciJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQSxNQUFNQSxhQUFhLEdBQUcsbUJBQXRCO0FBRWUsTUFBTUMsS0FBTixTQUFvQkMsNkNBQUssQ0FBQ0MsU0FBMUIsQ0FBb0M7QUFDL0NDLGFBQVcsQ0FBQ0MsS0FBRCxFQUFRO0FBQ2YsVUFBTUEsS0FBTjs7QUFFQSxRQUFJLEtBQUtBLEtBQUwsQ0FBV0MsTUFBWCxJQUFxQixLQUFLRCxLQUFMLENBQVdFLFdBQXBDLEVBQWlEO0FBQzdDLFlBQU1DLFFBQVEsR0FBRyxLQUFLSCxLQUFMLENBQVdDLE1BQVgsQ0FBa0JHLE9BQW5DOztBQUNBLFdBQUtKLEtBQUwsQ0FBV0Ms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QUFBcUUsVUFBSSxFQUFFWSxPQUFPLENBQUNMLElBQW5GO0FBQXlGLFVBQUksRUFBRUssT0FBTyxDQUFDRSxJQUF2RztBQUE2RyxhQUFPLEVBQUVGLE9BQU8sQ0FBQ1gsS0FBOUg7QUFBcUksY0FBUSxFQUFFLEtBQUtYO0FBQXBKLE1BREgsQ0FETCxDQUZMLEVBT00sS0FBS2QsS0FBTCxDQUFXdUMsV0FBWCxJQUEwQiw0REFBQyxnREFBRCxPQVBoQyxDQUFQO0FBU0g7O0FBbEQ4QyIsImZpbGUiOiIuL3NyYy91aS9zZXR0aW5ncy9ncm91cC5qc3guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgVGl0bGUgZnJvbSBcIi4vdGl0bGVcIjtcclxuaW1wb3J0IERpdmlkZXIgZnJvbSBcIi4vZGl2aWRlclwiO1xyXG5pbXBvcnQgU3dpdGNoIGZyb20gXCIuL3N3aXRjaFwiO1xyXG5cclxuY29uc3QgYmFzZUNsYXNzTmFtZSA9IFwiYmQtc2V0dGluZ3MtZ3JvdXBcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdyb3VwIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5wcm9wcy5idXR0b24gJiYgdGhpcy5wcm9wcy5jb2xsYXBzaWJsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbCA9IHRoaXMucHJvcHMuYnV0dG9uLm9uQ2xpY2s7XHJcbiAgICAgICAgICAgIHRoaXMucHJvcHMuYnV0dG9uLm9uQ2xpY2sgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgb3JpZ2luYWwoLi4uYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5oYXNPd25Qcm9wZXJ0eShcInNob3duXCIpKSB0aGlzLnByb3BzLnNob3duID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBSZWFjdC5jcmVhdGVSZWYoKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBjb2xsYXBzZWQ6IHRoaXMucHJvcHMuY29sbGFwc2libGUgJiYgIXRoaXMucHJvcHMuc2hvd25cclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gdGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUNvbGxhcHNlKCkge1xyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyLmN1cnJlbnQ7XHJcbiAgICAgICAgY29uc3QgdGltZW91dCA9IHRoaXMuc3RhdGUuY29sbGFwc2VkID8gMzAwIDogMTtcclxuICAgICAgICBjb250YWluZXIuc3R5bGUuc2V0UHJvcGVydHkoXCJoZWlnaHRcIiwgY29udGFpbmVyLnNjcm9sbEhlaWdodCArIFwicHhcIik7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7Y29sbGFwc2VkOiAhdGhpcy5zdGF0ZS5jb2xsYXBzZWR9LCAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IGNvbnRhaW5lci5zdHlsZS5zZXRQcm9wZXJ0eShcImhlaWdodFwiLCBcIlwiKSwgdGltZW91dCkpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKGlkLCB2YWx1ZSkge1xyXG4gICAgICAgIGlmICghdGhpcy5wcm9wcy5vbkNoYW5nZSkgcmV0dXJuO1xyXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmlkKSB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMucHJvcHMuaWQsIGlkLCB2YWx1ZSk7XHJcbiAgICAgICAgZWxzZSB0aGlzLnByb3BzLm9uQ2hhbmdlKGlkLCB2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCB7c2V0dGluZ3N9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICBjb25zdCBjb2xsYXBzZUNsYXNzID0gdGhpcy5wcm9wcy5jb2xsYXBzaWJsZSA/IGBjb2xsYXBzaWJsZSAke3RoaXMuc3RhdGUuY29sbGFwc2VkICYmIFwiY29sbGFwc2VkXCJ9YCA6IFwiXCI7XHJcbiAgICAgICAgY29uc3QgZ3JvdXBDbGFzcyA9IGAke2Jhc2VDbGFzc05hbWV9ICR7Y29sbGFwc2VDbGFzc31gO1xyXG5cclxuICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2dyb3VwQ2xhc3N9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxUaXRsZSB0ZXh0PXt0aGlzLnByb3BzLm5hbWV9IGNvbGxhcHNpYmxlPXt0aGlzLnByb3BzLmNvbGxhcHNpYmxlfSBvbkNsaWNrPXsoKSA9PiB0aGlzLnRvZ2dsZUNvbGxhcHNlKCl9IGJ1dHRvbj17dGhpcy5wcm9wcy5idXR0b259IGlzR3JvdXA9e3RydWV9IC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZC1zZXR0aW5ncy1jb250YWluZXJcIiByZWY9e3RoaXMuY29udGFpbmVyfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3NldHRpbmdzLmZpbHRlcihzID0+ICFzLmhpZGRlbikubWFwKChzZXR0aW5nKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFN3aXRjaCBkaXNhYmxlZD17c2V0dGluZy5kaXNhYmxlZH0gaWQ9e3NldHRpbmcuaWR9IGtleT17c2V0dGluZy5pZH0gbmFtZT17c2V0dGluZy5uYW1lfSBub3RlPXtzZXR0aW5nLm5vdGV9IGNoZWNrZWQ9e3NldHRpbmcudmFsdWV9IG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLnNob3dEaXZpZGVyICYmIDxEaXZpZGVyIC8+fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+O1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/settings/group.jsx\n");
/***/ }),
/***/ "./src/ui/settings/plugincard.js":
/*!***************************************!*\
!*** ./src/ui/settings/plugincard.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PluginCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/close */ \"./src/ui/icons/close.jsx\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.jsx\");\n// import {SettingsCookie, PluginCookie, Plugins} from \"data\";\n\n\n\nclass PluginCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.onChange = this.onChange.bind(this);\n this.showSettings = this.showSettings.bind(this);\n this.state = {\n checked: this.props.enabled,\n //PluginManager.isEnabled(this.props.content.id),\n settingsOpen: false\n };\n this.hasSettings = typeof this.props.content.plugin.getSettingsPanel === \"function\";\n this.settingsPanel = \"\";\n this.panelRef = modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createRef();\n this.reload = this.reload.bind(this); // this.onReload = this.onReload.bind(this);\n }\n\n reload() {\n if (!this.props.reload) return;\n this.props.content = this.props.reload(this.props.content.id);\n this.forceUpdate();\n }\n\n componentDidUpdate() {\n if (this.state.settingsOpen) {\n if (this.settingsPanel instanceof Node) {\n this.panelRef.current.appendChild(this.settingsPanel);\n } // if (!SettingsCookie[\"fork-ps-3\"]) return;\n\n\n const isHidden = (container, element) => {\n const cTop = container.scrollTop;\n const cBottom = cTop + container.clientHeight;\n const eTop = element.offsetTop;\n const eBottom = eTop + element.clientHeight;\n return eTop < cTop || eBottom > cBottom;\n };\n\n const self = $(this.panelRef.current);\n const container = self.parents(\".scroller-2FKFPG\");\n if (!isHidden(container[0], self[0])) return;\n container.animate({\n scrollTop: self.offset().top - container.offset().top + container.scrollTop() - 30\n }, 300);\n }\n }\n\n getString(value) {\n return typeof value == \"string\" ? value : value.toString();\n }\n\n render() {\n const self = this;\n const {\n content\n } = this.props;\n const name = this.getString(content.name);\n const author = this.getString(content.author);\n const description = this.getString(content.description);\n const version = this.getString(content.version);\n const website = content.website;\n const source = content.source;\n\n if (this.state.settingsOpen) {\n try {\n self.settingsPanel = content.plugin.getSettingsPanel();\n } catch (err) {\n modules__WEBPACK_IMPORTED_MODULE_0__[\"Utilities\"].err(\"Plugins\", \"Unable to get settings panel for \" + content.name + \".\", err);\n }\n\n const props = {\n id: `plugin-settings-${name}`,\n className: \"plugin-settings\",\n ref: this.panelRef\n };\n if (typeof this.settingsPanel == \"string\") props.dangerouslySetInnerHTML = this.settingsPanel;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n className: \"settings-open ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n style: {\n \"float\": \"right\",\n \"cursor\": \"pointer\"\n },\n onClick: () => {\n this.panelRef.current.innerHTML = \"\";\n self.setState({\n settingsOpen: false\n });\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_close__WEBPACK_IMPORTED_MODULE_1__[\"default\"], null)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", props, this.settingsPanel instanceof modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component ? this.settingsPanel : null));\n }\n\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n \"data-name\": name,\n \"data-version\": version,\n \"className\": \"settings-closed ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-header-title\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-name\"\n }, name), \" v\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-version\"\n }, version), \" by \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-author\"\n }, author)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-controls\"\n }, !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\") && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n className: \"bd-reload-card\",\n onClick: this.reload\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n className: \"ui-switch-wrapper ui-flex-child\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n checked: this.state.checked,\n onChange: this.onChange,\n className: \"ui-switch-checkbox\",\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: this.state.checked ? \"ui-switch checked\" : \"ui-switch\"\n })))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description-wrap scroller-wrap fade\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description scroller\"\n }, description)), (website || source || this.hasSettings) && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-links\"\n }, website && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link bda-link-website\",\n href: website,\n target: \"_blank\"\n }, \"Website\"), website && source && \" | \", source && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link bda-link-source\",\n href: source,\n target: \"_blank\"\n }, \"Source\")), this.hasSettings && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n onClick: this.showSettings,\n className: \"bda-settings-button\",\n disabled: !this.state.checked\n }, \"Settings\")));\n }\n\n onChange() {\n this.setState({\n checked: !this.state.checked\n }); // PluginManager.togglePlugin(this.props.content.id);\n\n this.props.onChange && this.props.onChange(this.props.content.id);\n }\n\n showSettings() {\n if (!this.hasSettings) return;\n this.setState({\n settingsOpen: true\n });\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3BsdWdpbmNhcmQuanM/NzczZCJdLCJuYW1lcyI6WyJQbHVnaW5DYXJkIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwib25DaGFuZ2UiLCJiaW5kIiwic2hvd1NldHRpbmdzIiwic3RhdGUiLCJjaGVja2VkIiwiZW5hYmxlZCIsInNldHRpbmdzT3BlbiIsImhhc1NldHRpbmdzIiwiY29udGVudCIsInBsdWdpbiIsImdldFNldHRpbmdzUGFuZWwiLCJzZXR0aW5nc1BhbmVsIiwicGFuZWxSZWYiLCJjcmVhdGVSZWYiLCJyZWxvYWQiLCJpZCIsImZvcmNlVXBkYXRlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiTm9kZSIsImN1cnJlbnQiLCJhcHBlbmRDaGlsZCIsImlzSGlkZGVuIiwiY29udGFpbmVyIiwiZWxlbWVudCIsImNUb3AiLCJzY3JvbGxUb3AiLCJjQm90dG9tIiwiY2xpZW50SGVpZ2h0IiwiZVRvcCIsIm9mZnNldFRvcCIsImVCb3R0b20iLCJzZWxmIiwiJCIsInBhcmVudHMiLCJhbmltYXRlIiwib2Zmc2V0IiwidG9wIiwiZ2V0U3RyaW5nIiwidmFsdWUiLCJ0b1N0cmluZyIsInJlbmRlciIsIm5hbWUiLCJhdXRob3IiLCJkZXNjcmlwdGlvbiIsInZlcnNpb24iLCJ3ZWJzaXRlIiwic291cmNlIiwiZXJyIiwiVXRpbGl0aWVzIiwiY2xhc3NOYW1lIiwicmVmIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJvbkNsaWNrIiwiaW5uZXJIVE1MIiwic2V0U3RhdGUiLCJDbG9zZUJ1dHRvbiIsIlNldHRpbmdzIiwiZ2V0IiwiUmVsb2FkSWNvbiIsImZsZXgiLCJ0eXBlIiwiaHJlZiIsInRhcmdldCIsImRpc2FibGVkIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FB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LFFBQUksQ0FBQyxLQUFLSyxXQUFWLEVBQXVCO0FBQ3ZCLFNBQUtpRCxRQUFMLENBQWM7QUFBQ2xELGtCQUFZLEVBQUU7QUFBZixLQUFkO0FBQ0g7O0FBM0htRCIsImZpbGUiOiIuL3NyYy91aS9zZXR0aW5ncy9wbHVnaW5jYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHtTZXR0aW5nc0Nvb2tpZSwgUGx1Z2luQ29va2llLCBQbHVnaW5zfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQge1JlYWN0LCBVdGlsaXRpZXMsIFNldHRpbmdzfSBmcm9tIFwibW9kdWxlc1wiO1xyXG5pbXBvcnQgQ2xvc2VCdXR0b24gZnJvbSBcIi4uL2ljb25zL2Nsb3NlXCI7XHJcbmltcG9ydCBSZWxvYWRJY29uIGZyb20gXCIuLi9pY29ucy9yZWxvYWRcIjtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsdWdpbkNhcmQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5zaG93U2V0dGluZ3MgPSB0aGlzLnNob3dTZXR0aW5ncy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuZW5hYmxlZCwvL1BsdWdpbk1hbmFnZXIuaXNFbmFibGVkKHRoaXMucHJvcHMuY29udGVudC5pZCksXHJcbiAgICAgICAgICAgIHNldHRpbmdzT3BlbjogZmFsc2VcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuaGFzU2V0dGluZ3MgPSB0eXBlb2YgdGhpcy5wcm9wcy5jb250ZW50LnBsdWdpbi5nZXRTZXR0aW5nc1BhbmVsID09PSBcImZ1bmN0aW9uXCI7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc1BhbmVsID0gXCJcIjtcclxuICAgICAgICB0aGlzLnBhbmVsUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XHJcblxyXG4gICAgICAgIHRoaXMucmVsb2FkID0gdGhpcy5yZWxvYWQuYmluZCh0aGlzKTtcclxuICAgICAgICAvLyB0aGlzLm9uUmVsb2FkID0gdGhpcy5vblJlbG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMucHJvcHMucmVsb2FkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50ID0gdGhpcy5wcm9wcy5yZWxvYWQodGhpcy5wcm9wcy5jb250ZW50LmlkKTtcclxuICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnNldHRpbmdzT3Blbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZXR0aW5nc1BhbmVsIGluc3RhbmNlb2YgTm9kZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYW5lbFJlZi5jdXJyZW50LmFwcGVuZENoaWxkKHRoaXMuc2V0dGluZ3NQYW5lbCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIGlmICghU2V0dGluZ3NDb29raWVbXCJmb3JrLXBzLTNcIl0pIHJldHVybjtcclxuICAgICAgICAgICAgY29uc3QgaXNIaWRkZW4gPSAoY29udGFpbmVyLCBlbGVtZW50KSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgY1RvcCA9IGNvbnRhaW5lci5zY3JvbGxUb3A7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjQm90dG9tID0gY1RvcCArIGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZVRvcCA9IGVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZUJvdHRvbSA9IGVUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICAoZVRvcCA8IGNUb3AgfHwgZUJvdHRvbSA+IGNCb3R0b20pO1xyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2VsZiA9ICQodGhpcy5wYW5lbFJlZi5jdXJyZW50KTtcclxuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gc2VsZi5wYXJlbnRzKFwiLnNjcm9sbGVyLTJGS0ZQR1wiKTtcclxuICAgICAgICAgICAgaWYgKCFpc0hpZGRlbihjb250YWluZXJbMF0sIHNlbGZbMF0pKSByZXR1cm47XHJcbiAgICAgICAgICAgIGNvbnRhaW5lci5hbmltYXRlKHtcclxuICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogc2VsZi5vZmZzZXQoKS50b3AgLSBjb250YWluZXIub2Zmc2V0KCkudG9wICsgY29udGFpbmVyLnNjcm9sbFRvcCgpIC0gMzBcclxuICAgICAgICAgICAgfSwgMzAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U3RyaW5nKHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSBcInN0cmluZ1wiID8gdmFsdWUgOiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcclxuICAgICAgICBjb25zdCB7Y29udGVudH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldFN0cmluZyhjb250ZW50Lm5hbWUpO1xyXG4gICAgICAgIGNvbnN0IGF1dGhvciA9IHRoaXMuZ2V0U3RyaW5nKGNvbnRlbnQuYXV0aG9yKTtcclxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHRoaXMuZ2V0U3RyaW5nKGNvbnRlbnQuZGVzY3JpcHRpb24pO1xyXG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLmdldFN0cmluZyhjb250ZW50LnZlcnNpb24pO1xyXG4gICAgICAgIGNvbnN0IHdlYnNpdGUgPSBjb250ZW50LndlYnNpdGU7XHJcbiAgICAgICAgY29uc3Qgc291cmNlID0gY29udGVudC5zb3VyY2U7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLnNldHRpbmdzT3Blbikge1xyXG4gICAgICAgICAgICB0cnkgeyBzZWxmLnNldHRpbmdzUGFuZWwgPSBjb250ZW50LnBsdWdpbi5nZXRTZXR0aW5nc1BhbmVsKCk7IH1cclxuICAgICAgICAgICAgY2F0Y2ggKGVycikgeyBVdGlsaXRpZXMuZXJyKFwiUGx1Z2luc1wiLCBcIlVuYWJsZSB0byBnZXQgc2V0dGluZ3MgcGFuZWwgZm9yIFwiICsgY29udGVudC5uYW1lICsgXCIuXCIsIGVycik7IH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0ge2lkOiBgcGx1Z2luLXNldHRpbmdzLSR7bmFtZX1gLCBjbGFzc05hbWU6IFwicGx1Z2luLXNldHRpbmdzXCIsIHJlZjogdGhpcy5wYW5lbFJlZn07XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YodGhpcy5zZXR0aW5nc1BhbmVsKSA9PSBcInN0cmluZ1wiKSBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9IHRoaXMuc2V0dGluZ3NQYW5lbDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFwibGlcIiwge2NsYXNzTmFtZTogXCJzZXR0aW5ncy1vcGVuIHVpLXN3aXRjaC1pdGVtXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge3N0eWxlOiB7XCJmbG9hdFwiOiBcInJpZ2h0XCIsIFwiY3Vyc29yXCI6IFwicG9pbnRlclwifSwgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYW5lbFJlZi5jdXJyZW50LmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldFN0YXRlKHtzZXR0aW5nc09wZW46IGZhbHNlfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xvc2VCdXR0b24sIG51bGwpXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBwcm9wcywgdGhpcy5zZXR0aW5nc1BhbmVsIGluc3RhbmNlb2YgUmVhY3QuQ29tcG9uZW50ID8gdGhpcy5zZXR0aW5nc1BhbmVsIDogbnVsbCksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsaVwiLCB7XCJkYXRhLW5hbWVcIjogbmFtZSwgXCJkYXRhLXZlcnNpb25cIjogdmVyc2lvbiwgXCJjbGFzc05hbWVcIjogXCJzZXR0aW5ncy1jbG9zZWQgdWktc3dpdGNoLWl0ZW1cIn0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtaGVhZGVyXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWhlYWRlci10aXRsZVwifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtbmFtZVwifSwgbmFtZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiIHZcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtdmVyc2lvblwifSwgdmVyc2lvbiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiIGJ5IFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS1hdXRob3JcIn0sIGF1dGhvcilcclxuICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtY29udHJvbHNcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFTZXR0aW5ncy5nZXQoXCJzZXR0aW5nc1wiLCBcImNvbnRlbnRcIiwgXCJhdXRvUmVsb2FkXCIpICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVsb2FkSWNvbiwge2NsYXNzTmFtZTogXCJiZC1yZWxvYWQtY2FyZFwiLCBvbkNsaWNrOiB0aGlzLnJlbG9hZH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwibGFiZWxcIiwge2NsYXNzTmFtZTogXCJ1aS1zd2l0Y2gtd3JhcHBlciB1aS1mbGV4LWNoaWxkXCIsIHN0eWxlOiB7ZmxleDogXCIwIDAgYXV0b1wifX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIiwge2NoZWNrZWQ6IHRoaXMuc3RhdGUuY2hlY2tlZCwgb25DaGFuZ2U6IHRoaXMub25DaGFuZ2UsIGNsYXNzTmFtZTogXCJ1aS1zd2l0Y2gtY2hlY2tib3hcIiwgdHlwZTogXCJjaGVja2JveFwifSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IHRoaXMuc3RhdGUuY2hlY2tlZCA/IFwidWktc3dpdGNoIGNoZWNrZWRcIiA6IFwidWktc3dpdGNoXCJ9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWRlc2NyaXB0aW9uLXdyYXAgc2Nyb2xsZXItd3JhcCBmYWRlXCJ9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1kZXNjcmlwdGlvbiBzY3JvbGxlclwifSwgZGVzY3JpcHRpb24pXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICh3ZWJzaXRlIHx8IHNvdXJjZSB8fCB0aGlzLmhhc1NldHRpbmdzKSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWZvb3RlclwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWxpbmtzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIHdlYnNpdGUgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge2NsYXNzTmFtZTogXCJiZGEtbGluayBiZGEtbGluay13ZWJzaXRlXCIsIGhyZWY6IHdlYnNpdGUsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiV2Vic2l0ZVwiKSxcclxuICAgICAgICAgICAgICAgICAgICB3ZWJzaXRlICYmIHNvdXJjZSAmJiBcIiB8IFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYVwiLCB7Y2xhc3NOYW1lOiBcImJkYS1saW5rIGJkYS1saW5rLXNvdXJjZVwiLCBocmVmOiBzb3VyY2UsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiU291cmNlXCIpXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNTZXR0aW5ncyAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtvbkNsaWNrOiB0aGlzLnNob3dTZXR0aW5ncywgY2xhc3NOYW1lOiBcImJkYS1zZXR0aW5ncy1idXR0b25cIiwgZGlzYWJsZWQ6ICF0aGlzLnN0YXRlLmNoZWNrZWR9LCBcIlNldHRpbmdzXCIpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6ICF0aGlzLnN0YXRlLmNoZWNrZWR9KTtcclxuICAgICAgICAvLyBQbHVnaW5NYW5hZ2VyLnRvZ2dsZVBsdWdpbih0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgICAgIHRoaXMucHJvcHMub25DaGFuZ2UgJiYgdGhpcy5wcm9wcy5vbkNoYW5nZSh0aGlzLnByb3BzLmNvbnRlbnQuaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dTZXR0aW5ncygpIHtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzU2V0dGluZ3MpIHJldHVybjtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtzZXR0aW5nc09wZW46IHRydWV9KTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/settings/plugincard.js\n");
/***/ }),
/***/ "./src/ui/settings/settings.js":
/*!*************************************!*\
!*** ./src/ui/settings/settings.js ***!
\*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return V2_SettingsPanel; });\n/* harmony import */ var data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! data */ \"./src/data/data.js\");\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _contentlist__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./contentlist */ \"./src/ui/settings/contentlist.jsx\");\n/* harmony import */ var _settings_group__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../settings/group */ \"./src/ui/settings/group.jsx\");\n/* harmony import */ var _title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./title */ \"./src/ui/settings/title.jsx\");\n\n\n\n\n\nclass V2_SettingsPanel {\n static buildSettingsPanel(title, config, state, onChange, button = null) {\n config.forEach(section => {\n section.settings.forEach(item => item.value = state[section.id][item.id]);\n });\n return this.getSettingsPanel(title, config, onChange, button);\n }\n\n static getSettingsPanel(title, groups, onChange, button = null) {\n return [modules__WEBPACK_IMPORTED_MODULE_1__[\"React\"].createElement(_title__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n text: title,\n button: button\n }), groups.map(section => {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"React\"].createElement(_settings_group__WEBPACK_IMPORTED_MODULE_3__[\"default\"], Object.assign({}, section, {\n onChange\n }));\n })];\n }\n\n static getContentPanel(title, contentList, contentState, options = {}) {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"React\"].createElement(_contentlist__WEBPACK_IMPORTED_MODULE_2__[\"default\"], Object.assign({}, {\n title: title,\n contentList: contentList,\n contentState: contentState\n }, options));\n }\n\n static get attribution() {\n return modules__WEBPACK_IMPORTED_MODULE_1__[\"React\"].createElement(\"div\", {\n style: {\n fontSize: \"12px\",\n fontWeight: \"600\",\n color: \"#72767d\",\n padding: \"2px 10px\"\n }\n }, `BBD v${data__WEBPACK_IMPORTED_MODULE_0__[\"Config\"].bbdVersion} by `, modules__WEBPACK_IMPORTED_MODULE_1__[\"React\"].createElement(\"a\", {\n href: \"https://github.com/rauenzi/\",\n target: \"_blank\"\n }, \"Zerebos\"));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3NldHRpbmdzLmpzPzgwYWIiXSwibmFtZXMiOlsiVjJfU2V0dGluZ3NQYW5lbCIsImJ1aWxkU2V0dGluZ3NQYW5lbCIsInRpdGxlIiwiY29uZmlnIiwic3RhdGUiLCJvbkNoYW5nZSIsImJ1dHRvbiIsImZvckVhY2giLCJzZWN0aW9uIiwic2V0dGluZ3MiLCJpdGVtIiwidmFsdWUiLCJpZCIsImdldFNldHRpbmdzUGFuZWwiLCJncm91cHMiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJTZXR0aW5nc1RpdGxlIiwidGV4dCIsIm1hcCIsIlNldHRpbmdzR3JvdXAiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXRDb250ZW50UGFuZWwiLCJjb250ZW50TGlzdCIsImNvbnRlbnRTdGF0ZSIsIm9wdGlvbnMiLCJDb250ZW50TGlzdCIsImF0dHJpYnV0aW9uIiwic3R5bGUiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJjb2xvciIsInBhZGRpbmciLCJDb25maWciLCJiYmRWZXJzaW9uIiwiaHJlZiIsInRhcmdldCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRWUsTUFBTUEsZ0JBQU4sQ0FBdUI7QUFFbEMsU0FBT0Msa0JBQVAsQ0FBMEJDLEtBQTFCLEVBQWlDQyxNQUFqQyxFQUF5Q0MsS0FBekMsRUFBZ0RDLFFBQWhELEVBQTBEQyxNQUFNLEdBQUcsSUFBbkUsRUFBeUU7QUFDckVILFVBQU0sQ0FBQ0ksT0FBUCxDQUFlQyxPQUFPLElBQUk7QUFDdEJBLGFBQU8sQ0FBQ0MsUUFBUixDQUFpQkYsT0FBakIsQ0FBeUJHLElBQUksSUFBSUEsSUFBSSxDQUFDQyxLQUFMLEdBQWFQLEtBQUssQ0FBQ0ksT0FBTyxDQUFDSSxFQUFULENBQUwsQ0FBa0JGLElBQUksQ0FBQ0UsRUFBdkIsQ0FBOUM7QUFDSCxLQUZEO0FBR0EsV0FBTyxLQUFLQyxnQkFBTCxDQUFzQlgsS0FBdEIsRUFBNkJDLE1BQTdCLEVBQXFDRSxRQUFyQyxFQUErQ0MsTUFBL0MsQ0FBUDtBQUNIOztBQUVELFNBQU9PLGdCQUFQLENBQXdCWCxLQUF4QixFQUErQlksTUFBL0IsRUFBdUNULFFBQXZDLEVBQWlEQyxNQUFNLEdBQUcsSUFBMUQsRUFBZ0U7QUFDNUQsV0FBTyxDQUFDUyw2Q0FBSyxDQUFDQyxhQUFOLENBQW9CQyw4Q0FBcEIsRUFBbUM7QUFBQ0MsVUFBSSxFQUFFaEIsS0FBUDtBQUFjSSxZQUFNLEVBQUVBO0FBQXRCLEtBQW5DLENBQUQsRUFBb0VRLE1BQU0sQ0FBQ0ssR0FBUCxDQUFXWCxPQUFPLElBQUk7QUFDN0YsYUFBT08sNkNBQUssQ0FBQ0MsYUFBTixDQUFvQkksdURBQXBCLEVBQW1DQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCZCxPQUFsQixFQUEyQjtBQUFDSDtBQUFELE9BQTNCLENBQW5DLENBQVA7QUFDSCxLQUYwRSxDQUFwRSxDQUFQO0FBR0g7O0FBRUQsU0FBT2tCLGVBQVAsQ0FBdUJyQixLQUF2QixFQUE4QnNCLFdBQTlCLEVBQTJDQyxZQUEzQyxFQUF5REMsT0FBTyxHQUFHLEVBQW5FLEVBQXVFO0FBQ25FLFdBQU9YLDZDQUFLLENBQUNDLGFBQU4sQ0FBb0JXLG9EQUFwQixFQUFpQ04sTUFBTSxDQUFDQyxNQUFQLENBQWMsRUFBZCxFQUFrQjtBQUN0RHBCLFdBQUssRUFBRUEsS0FEK0M7QUFFdERzQixpQkFBVyxFQUFFQSxXQUZ5QztBQUd0REMsa0JBQVksRUFBRUE7QUFId0MsS0FBbEIsRUFJckNDLE9BSnFDLENBQWpDLENBQVA7QUFLSDs7QUFFRCxhQUFXRSxXQUFYLEdBQXlCO0FBQ3JCLFdBQU9iLDZDQUFLLENBQUNDLGFBQU4sQ0FDSCxLQURHLEVBRUg7QUFBQ2EsV0FBSyxFQUFFO0FBQUNDLGdCQUFRLEVBQUUsTUFBWDtBQUFtQkMsa0JBQVUsRUFBRSxLQUEvQjtBQUFzQ0MsYUFBSyxFQUFFLFNBQTdDO0FBQXdEQyxlQUFPLEVBQUU7QUFBakU7QUFBUixLQUZHLEVBR0YsUUFBT0MsMkNBQU0sQ0FBQ0MsVUFBVyxNQUh2QixFQUlIcEIsNkNBQUssQ0FBQ0MsYUFBTixDQUNJLEdBREosRUFFSTtBQUFDb0IsVUFBSSxFQUFFLDZCQUFQO0FBQXNDQyxZQUFNLEVBQUU7QUFBOUMsS0FGSixFQUdJLFNBSEosQ0FKRyxDQUFQO0FBVUg7O0FBbENpQyIsImZpbGUiOiIuL3NyYy91aS9zZXR0aW5ncy9zZXR0aW5ncy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlnfSBmcm9tIFwiZGF0YVwiO1xyXG5pbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuaW1wb3J0IENvbnRlbnRMaXN0IGZyb20gXCIuL2NvbnRlbnRsaXN0XCI7XHJcbmltcG9ydCBTZXR0aW5nc0dyb3VwIGZyb20gXCIuLi9zZXR0aW5ncy9ncm91cFwiO1xyXG5pbXBvcnQgU2V0dGluZ3NUaXRsZSBmcm9tIFwiLi90aXRsZVwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVjJfU2V0dGluZ3NQYW5lbCB7XHJcblxyXG4gICAgc3RhdGljIGJ1aWxkU2V0dGluZ3NQYW5lbCh0aXRsZSwgY29uZmlnLCBzdGF0ZSwgb25DaGFuZ2UsIGJ1dHRvbiA9IG51bGwpIHtcclxuICAgICAgICBjb25maWcuZm9yRWFjaChzZWN0aW9uID0+IHtcclxuICAgICAgICAgICAgc2VjdGlvbi5zZXR0aW5ncy5mb3JFYWNoKGl0ZW0gPT4gaXRlbS52YWx1ZSA9IHN0YXRlW3NlY3Rpb24uaWRdW2l0ZW0uaWRdKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZXR0aW5nc1BhbmVsKHRpdGxlLCBjb25maWcsIG9uQ2hhbmdlLCBidXR0b24pO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBnZXRTZXR0aW5nc1BhbmVsKHRpdGxlLCBncm91cHMsIG9uQ2hhbmdlLCBidXR0b24gPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIFtSZWFjdC5jcmVhdGVFbGVtZW50KFNldHRpbmdzVGl0bGUsIHt0ZXh0OiB0aXRsZSwgYnV0dG9uOiBidXR0b259KSwgZ3JvdXBzLm1hcChzZWN0aW9uID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2V0dGluZ3NHcm91cCwgT2JqZWN0LmFzc2lnbih7fSwgc2VjdGlvbiwge29uQ2hhbmdlfSkpO1xyXG4gICAgICAgIH0pXTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0Q29udGVudFBhbmVsKHRpdGxlLCBjb250ZW50TGlzdCwgY29udGVudFN0YXRlLCBvcHRpb25zID0ge30pIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChDb250ZW50TGlzdCwgT2JqZWN0LmFzc2lnbih7fSwge1xyXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgIGNvbnRlbnRMaXN0OiBjb250ZW50TGlzdCxcclxuICAgICAgICAgICAgY29udGVudFN0YXRlOiBjb250ZW50U3RhdGVcclxuICAgICAgICB9LCBvcHRpb25zKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdldCBhdHRyaWJ1dGlvbigpIHtcclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcclxuICAgICAgICAgICAgXCJkaXZcIixcclxuICAgICAgICAgICAge3N0eWxlOiB7Zm9udFNpemU6IFwiMTJweFwiLCBmb250V2VpZ2h0OiBcIjYwMFwiLCBjb2xvcjogXCIjNzI3NjdkXCIsIHBhZGRpbmc6IFwiMnB4IDEwcHhcIn19LFxyXG4gICAgICAgICAgICBgQkJEIHYke0NvbmZpZy5iYmRWZXJzaW9ufSBieSBgLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFxyXG4gICAgICAgICAgICAgICAgXCJhXCIsXHJcbiAgICAgICAgICAgICAgICB7aHJlZjogXCJodHRwczovL2dpdGh1Yi5jb20vcmF1ZW56aS9cIiwgdGFyZ2V0OiBcIl9ibGFua1wifSxcclxuICAgICAgICAgICAgICAgIFwiWmVyZWJvc1wiXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/settings/settings.js\n");
/***/ }),
/***/ "./src/ui/settings/switch.jsx":
/*!************************************!*\
!*** ./src/ui/settings/switch.jsx ***!
\************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Switch; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nconst flexContainer = \"flex-1xMQg5 flex-1O1GKY vertical-V37hAW flex-1O1GKY directionColumn-35P_nr justifyStart-2NDFzi alignStretch-DpGPf3 noWrap-3jynv6 switchItem-2hKKKK\";\nconst flexWrap = \"flex-1xMQg5 flex-1O1GKY horizontal-1ae9ci horizontal-2EEEnY flex-1O1GKY directionRow-3v3tfG justifyStart-2NDFzi alignStart-H-X2h- noWrap-3jynv6\";\nconst flexChild = \"flexChild-faoVW3\";\nconst title = \"titleDefault-a8-ZSr title-31JmR4 da-titleDefault da-title\";\nconst switchWrapperDisabled = \"flexChild-faoVW3 da-flexChild switchDisabled-3HsXAJ switch-3wwwcV da-switchDisabled da-switch valueUnchecked-2lU_20 value-2hFrkk sizeDefault-2YlOZr size-3rFEHg themeDefault-24hCdX\";\nconst switchWrapperDisabledChecked = \"flexChild-faoVW3 da-flexChild switchDisabled-3HsXAJ switch-3wwwcV da-switchDisabled da-switch valueChecked-m-4IJZ value-2hFrkk sizeDefault-2YlOZr size-3rFEHg themeDefault-24hCdX\";\nconst switchWrapper = \"flexChild-faoVW3 da-flexChild switchEnabled-V2WDBB switch-3wwwcV da-switchEnabled da-switch valueUnchecked-2lU_20 value-2hFrkk sizeDefault-2YlOZr size-3rFEHg themeDefault-24hCdX\";\nconst switchWrapperChecked = \"flexChild-faoVW3 da-flexChild switchEnabled-V2WDBB switch-3wwwcV da-switchEnabled da-switch valueChecked-m-4IJZ value-2hFrkk sizeDefault-2YlOZr size-3rFEHg themeDefault-24hCdX\";\nconst switchClass = \"checkboxEnabled-CtinEn checkbox-2tyjJg\";\nconst switchClassDisabled = \"checkboxDisabled-1MA81A checkbox-2tyjJg\";\nconst description = \"description-3_Ncsb formText-3fs7AJ note-1V3kyJ modeDefault-3a2Ph1 primary-jw0I4K\";\nconst divider = \"divider-3573oO dividerDefault-3rvLe-\";\nclass Switch extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: this.props.checked\n };\n }\n\n onChange() {\n if (this.props.disabled) return;\n this.props.onChange(this.props.id, !this.state.checked);\n this.setState({\n checked: !this.state.checked\n });\n }\n\n render() {\n const wrapperClass = this.props.disabled ? this.state.checked ? switchWrapperDisabledChecked : switchWrapperDisabled : this.state.checked ? switchWrapperChecked : switchWrapper;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: flexContainer,\n style: {\n flex: \"1 1 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: flexWrap,\n style: {\n flex: \"1 1 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: flexChild,\n style: {\n flex: \"1 1 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n htmlFor: this.props.id,\n className: title\n }, this.props.name || this.props.data.text)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: wrapperClass,\n tabIndex: \"0\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n id: this.props.id,\n className: this.props.disabled ? switchClassDisabled : switchClass,\n type: \"checkbox\",\n tabIndex: \"-1\",\n checked: this.state.checked,\n onChange: e => this.onChange(e)\n }))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: description,\n style: {\n flex: \"1 1 auto\"\n }\n }, this.props.note || this.props.data.info), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: divider\n }));\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3N3aXRjaC5qc3g/OTMxYyJdLCJuYW1lcyI6WyJmbGV4Q29udGFpbmVyIiwiZmxleFdyYXAiLCJmbGV4Q2hpbGQiLCJ0aXRsZSIsInN3aXRjaFdyYXBwZXJEaXNhYmxlZCIsInN3aXRjaFdyYXBwZXJEaXNhYmxlZENoZWNrZWQiLCJzd2l0Y2hXcmFwcGVyIiwic3dpdGNoV3JhcHBlckNoZWNrZWQiLCJzd2l0Y2hDbGFzcyIsInN3aXRjaENsYXNzRGlzYWJsZWQiLCJkZXNjcmlwdGlvbiIsImRpdmlkZXIiLCJTd2l0Y2giLCJSZWFjdCIsIkNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJzdGF0ZSIsImNoZWNrZWQiLCJvbkNoYW5nZSIsImRpc2FibGVkIiwiaWQiLCJzZXRTdGF0ZSIsInJlbmRlciIsIndyYXBwZXJDbGFzcyIsImZsZXgiLCJuYW1lIiwiZGF0YSIsInRleHQiLCJlIiwibm90ZSIsImluZm8iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUEsTUFBTUEsYUFBYSxHQUFHLG9KQUF0QjtBQUNBLE1BQU1DLFFBQVEsR0FBRyxpSkFBakI7QUFDQSxNQUFNQyxTQUFTLEdBQUcsa0JBQWxCO0FBQ0EsTUFBTUMsS0FBSyxHQUFHLDJEQUFkO0FBQ0EsTUFBTUMscUJBQXFCLEdBQUcsc0xBQTlCO0FBQ0EsTUFBTUMsNEJBQTRCLEdBQUcsbUxBQXJDO0FBQ0EsTUFBTUMsYUFBYSxHQUFHLG1MQUF0QjtBQUNBLE1BQU1DLG9CQUFvQixHQUFHLGlMQUE3QjtBQUNBLE1BQU1DLFdBQVcsR0FBRyx3Q0FBcEI7QUFDQSxNQUFNQyxtQkFBbUIsR0FBRyx5Q0FBNUI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsa0ZBQXBCO0FBQ0EsTUFBTUMsT0FBTyxHQUFHLHNDQUFoQjtBQUVlLE1BQU1DLE1BQU4sU0FBcUJDLDZDQUFLLENBQUNDLFNBQTNCLENBQXFDO0FBQ2hEQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFFQSxTQUFLQyxLQUFMLEdBQWE7QUFDVEMsYUFBTyxFQUFFLEtBQUtGLEtBQUwsQ0FBV0U7QUFEWCxLQUFiO0FBR0g7O0FBRURDLFVBQVEsR0FBRztBQUNQLFFBQUksS0FBS0gsS0FBTCxDQUFXSSxRQUFmLEVBQXlCO0FBQ3pCLFNBQUtKLEtBQUwsQ0FBV0csUUFBWCxDQUFvQixLQUFLSCxLQUFMLENBQVdLLEVBQS9CLEVBQW1DLENBQUMsS0FBS0osS0FBTCxDQUFXQyxPQUEvQztBQUNBLFNBQUtJLFFBQUwsQ0FBYztBQUNWSixhQUFPLEVBQUUsQ0FBQyxLQUFLRCxLQUFMLENBQVdDO0FBRFgsS0FBZDtBQUdIOztBQUVESyxRQUFNLEdBQUc7QUFDTCxVQUFNQyxZQUFZLEdBQUcsS0FBS1IsS0FBTCxDQUFXSSxRQUFYLEdBQXVCLEtBQUtILEtBQUwsQ0FBV0MsT0FBWCxHQUFxQmIsNEJBQXJCLEdBQW9ERCxxQkFBM0UsR0FBcUcsS0FBS2EsS0FBTCxDQUFXQyxPQUFYLEdBQXFCWCxvQkFBckIsR0FBNENELGFBQXRLO0FBQ0EsV0FBTztBQUFLLGVBQVMsRUFBRU4sYUFBaEI7QUFBK0IsV0FBSyxFQUFFO0FBQUN5QixZQUFJLEVBQUU7QUFBUDtBQUF0QyxPQUNLO0FBQUssZUFBUyxFQUFFeEIsUUFBaEI7QUFBMEIsV0FBSyxFQUFFO0FBQUN3QixZQUFJLEVBQUU7QUFBUDtBQUFqQyxPQUNJO0FBQUssZUFBUyxFQUFFdkIsU0FBaEI7QUFBMkIsV0FBSyxFQUFFO0FBQUN1QixZQUFJLEVBQUU7QUFBUDtBQUFsQyxPQUNJO0FBQU8sYUFBTyxFQUFFLEtBQUtULEtBQUwsQ0FBV0ssRUFBM0I7QUFBK0IsZUFBUyxFQUFFbEI7QUFBMUMsT0FBa0QsS0FBS2EsS0FBTCxDQUFXVSxJQUFYLElBQW1CLEtBQUtWLEtBQUwsQ0FBV1csSUFBWCxDQUFnQkMsSUFBckYsQ0FESixDQURKLEVBSUk7QUFBSyxlQUFTLEVBQUVKLFlBQWhCO0FBQThCLGNBQVEsRUFBQyxHQUF2QztBQUEyQyxXQUFLLEVBQUU7QUFBQ0MsWUFBSSxFQUFFO0FBQVA7QUFBbEQsT0FDSTtBQUFPLFFBQUUsRUFBRSxLQUFLVCxLQUFMLENBQVdLLEVBQXRCO0FBQTBCLGVBQVMsRUFBRSxLQUFLTCxLQUFMLENBQVdJLFFBQVgsR0FBc0JYLG1CQUF0QixHQUE0Q0QsV0FBakY7QUFBOEYsVUFBSSxFQUFDLFVBQW5HO0FBQThHLGNBQVEsRUFBQyxJQUF2SDtBQUE0SCxhQUFPLEVBQUUsS0FBS1MsS0FBTCxDQUFXQyxPQUFoSjtBQUF5SixjQUFRLEVBQUVXLENBQUMsSUFBSSxLQUFLVixRQUFMLENBQWNVLENBQWQ7QUFBeEssTUFESixDQUpKLENBREwsRUFTSztBQUFLLGVBQVMsRUFBRW5CLFdBQWhCO0FBQTZCLFdBQUssRUFBRTtBQUFDZSxZQUFJLEVBQUU7QUFBUDtBQUFwQyxPQUF5RCxLQUFLVCxLQUFMLENBQVdjLElBQVgsSUFBbUIsS0FBS2QsS0FBTCxDQUFXVyxJQUFYLENBQWdCSSxJQUE1RixDQVRMLEVBVUs7QUFBSyxlQUFTLEVBQUVwQjtBQUFoQixNQVZMLENBQVA7QUFZSDs7QUEvQitDIiwiZmlsZSI6Ii4vc3JjL3VpL3NldHRpbmdzL3N3aXRjaC5qc3guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlYWN0fSBmcm9tIFwibW9kdWxlc1wiO1xyXG5cclxuY29uc3QgZmxleENvbnRhaW5lciA9IFwiZmxleC0xeE1RZzUgZmxleC0xTzFHS1kgdmVydGljYWwtVjM3aEFXIGZsZXgtMU8xR0tZIGRpcmVjdGlvbkNvbHVtbi0zNVBfbnIganVzdGlmeVN0YXJ0LTJOREZ6aSBhbGlnblN0cmV0Y2gtRHBHUGYzIG5vV3JhcC0zanludjYgc3dpdGNoSXRlbS0yaEtLS0tcIjtcclxuY29uc3QgZmxleFdyYXAgPSBcImZsZXgtMXhNUWc1IGZsZXgtMU8xR0tZIGhvcml6b250YWwtMWFlOWNpIGhvcml6b250YWwtMkVFRW5ZIGZsZXgtMU8xR0tZIGRpcmVjdGlvblJvdy0zdjN0ZkcganVzdGlmeVN0YXJ0LTJOREZ6aSBhbGlnblN0YXJ0LUgtWDJoLSBub1dyYXAtM2p5bnY2XCI7XHJcbmNvbnN0IGZsZXhDaGlsZCA9IFwiZmxleENoaWxkLWZhb1ZXM1wiO1xyXG5jb25zdCB0aXRsZSA9IFwidGl0bGVEZWZhdWx0LWE4LVpTciB0aXRsZS0zMUptUjQgZGEtdGl0bGVEZWZhdWx0IGRhLXRpdGxlXCI7XHJcbmNvbnN0IHN3aXRjaFdyYXBwZXJEaXNhYmxlZCA9IFwiZmxleENoaWxkLWZhb1ZXMyBkYS1mbGV4Q2hpbGQgc3dpdGNoRGlzYWJsZWQtM0hzWEFKIHN3aXRjaC0zd3d3Y1YgZGEtc3dpdGNoRGlzYWJsZWQgZGEtc3dpdGNoIHZhbHVlVW5jaGVja2VkLTJsVV8yMCAgdmFsdWUtMmhGcmtrIHNpemVEZWZhdWx0LTJZbE9aciBzaXplLTNyRkVIZyB0aGVtZURlZmF1bHQtMjRoQ2RYXCI7XHJcbmNvbnN0IHN3aXRjaFdyYXBwZXJEaXNhYmxlZENoZWNrZWQgPSBcImZsZXhDaGlsZC1mYW9WVzMgZGEtZmxleENoaWxkIHN3aXRjaERpc2FibGVkLTNIc1hBSiBzd2l0Y2gtM3d3d2NWIGRhLXN3aXRjaERpc2FibGVkIGRhLXN3aXRjaCB2YWx1ZUNoZWNrZWQtbS00SUpaIHZhbHVlLTJoRnJrayBzaXplRGVmYXVsdC0yWWxPWnIgc2l6ZS0zckZFSGcgdGhlbWVEZWZhdWx0LTI0aENkWFwiO1xyXG5jb25zdCBzd2l0Y2hXcmFwcGVyID0gXCJmbGV4Q2hpbGQtZmFvVlczIGRhLWZsZXhDaGlsZCBzd2l0Y2hFbmFibGVkLVYyV0RCQiBzd2l0Y2gtM3d3d2NWIGRhLXN3aXRjaEVuYWJsZWQgZGEtc3dpdGNoIHZhbHVlVW5jaGVja2VkLTJsVV8yMCB2YWx1ZS0yaEZya2sgc2l6ZURlZmF1bHQtMllsT1pyIHNpemUtM3JGRUhnIHRoZW1lRGVmYXVsdC0yNGhDZFhcIjtcclxuY29uc3Qgc3dpdGNoV3JhcHBlckNoZWNrZWQgPSBcImZsZXhDaGlsZC1mYW9WVzMgZGEtZmxleENoaWxkIHN3aXRjaEVuYWJsZWQtVjJXREJCIHN3aXRjaC0zd3d3Y1YgZGEtc3dpdGNoRW5hYmxlZCBkYS1zd2l0Y2ggdmFsdWVDaGVja2VkLW0tNElKWiB2YWx1ZS0yaEZya2sgc2l6ZURlZmF1bHQtMllsT1pyIHNpemUtM3JGRUhnIHRoZW1lRGVmYXVsdC0yNGhDZFhcIjtcclxuY29uc3Qgc3dpdGNoQ2xhc3MgPSBcImNoZWNrYm94RW5hYmxlZC1DdGluRW4gY2hlY2tib3gtMnR5akpnXCI7XHJcbmNvbnN0IHN3aXRjaENsYXNzRGlzYWJsZWQgPSBcImNoZWNrYm94RGlzYWJsZWQtMU1BODFBIGNoZWNrYm94LTJ0eWpKZ1wiO1xyXG5jb25zdCBkZXNjcmlwdGlvbiA9IFwiZGVzY3JpcHRpb24tM19OY3NiIGZvcm1UZXh0LTNmczdBSiBub3RlLTFWM2t5SiBtb2RlRGVmYXVsdC0zYTJQaDEgcHJpbWFyeS1qdzBJNEtcIjtcclxuY29uc3QgZGl2aWRlciA9IFwiZGl2aWRlci0zNTczb08gZGl2aWRlckRlZmF1bHQtM3J2TGUtXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTd2l0Y2ggZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcblxyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuY2hlY2tlZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKHRoaXMucHJvcHMuaWQsICF0aGlzLnN0YXRlLmNoZWNrZWQpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGVja2VkOiAhdGhpcy5zdGF0ZS5jaGVja2VkXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHdyYXBwZXJDbGFzcyA9IHRoaXMucHJvcHMuZGlzYWJsZWQgPyAodGhpcy5zdGF0ZS5jaGVja2VkID8gc3dpdGNoV3JhcHBlckRpc2FibGVkQ2hlY2tlZCA6IHN3aXRjaFdyYXBwZXJEaXNhYmxlZCkgOiAodGhpcy5zdGF0ZS5jaGVja2VkID8gc3dpdGNoV3JhcHBlckNoZWNrZWQgOiBzd2l0Y2hXcmFwcGVyKTtcclxuICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2ZsZXhDb250YWluZXJ9IHN0eWxlPXt7ZmxleDogXCIxIDEgYXV0b1wifX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2ZsZXhXcmFwfSBzdHlsZT17e2ZsZXg6IFwiMSAxIGF1dG9cIn19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17ZmxleENoaWxkfSBzdHlsZT17e2ZsZXg6IFwiMSAxIGF1dG9cIn19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9e3RoaXMucHJvcHMuaWR9IGNsYXNzTmFtZT17dGl0bGV9Pnt0aGlzLnByb3BzLm5hbWUgfHwgdGhpcy5wcm9wcy5kYXRhLnRleHR9PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXt3cmFwcGVyQ2xhc3N9IHRhYkluZGV4PVwiMFwiIHN0eWxlPXt7ZmxleDogXCIwIDAgYXV0b1wifX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9e3RoaXMucHJvcHMuaWR9IGNsYXNzTmFtZT17dGhpcy5wcm9wcy5kaXNhYmxlZCA/IHN3aXRjaENsYXNzRGlzYWJsZWQgOiBzd2l0Y2hDbGFzc30gdHlwZT1cImNoZWNrYm94XCIgdGFiSW5kZXg9XCItMVwiIGNoZWNrZWQ9e3RoaXMuc3RhdGUuY2hlY2tlZH0gb25DaGFuZ2U9e2UgPT4gdGhpcy5vbkNoYW5nZShlKX0gLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Rlc2NyaXB0aW9ufSBzdHlsZT17e2ZsZXg6IFwiMSAxIGF1dG9cIn19Pnt0aGlzLnByb3BzLm5vdGUgfHwgdGhpcy5wcm9wcy5kYXRhLmluZm99PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2RpdmlkZXJ9IC8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj47XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/settings/switch.jsx\n");
/***/ }),
/***/ "./src/ui/settings/themecard.js":
/*!**************************************!*\
!*** ./src/ui/settings/themecard.js ***!
\**************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ThemeCard; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n/* harmony import */ var _icons_reload__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/reload */ \"./src/ui/icons/reload.jsx\");\n\n // import Toasts from \"../toasts\";\n\nclass ThemeCard extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n this.state = {\n checked: this.props.enabled,\n //ThemeManager.isEnabled(this.props.content.id),\n reloads: 0\n };\n this.onChange = this.onChange.bind(this);\n this.reload = this.reload.bind(this);\n }\n\n reload() {\n if (!this.props.reload) return;\n this.props.content = this.props.reload(this.props.content.id);\n this.forceUpdate();\n }\n\n render() {\n const {\n content\n } = this.props;\n const name = content.name;\n const description = content.description;\n const version = content.version;\n const author = content.author;\n const website = content.website;\n const source = content.source;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"li\", {\n \"data-name\": name,\n \"data-version\": version,\n \"className\": \"settings-closed ui-switch-item\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-header\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-header-title\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-name\"\n }, name), \" v\", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-version\"\n }, version), \" by \", modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-author\"\n }, author)), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-controls\"\n }, !modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"content\", \"autoReload\") && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(_icons_reload__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n className: \"bd-reload-card\",\n onClick: this.reload\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"label\", {\n className: \"ui-switch-wrapper ui-flex-child\",\n style: {\n flex: \"0 0 auto\"\n }\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"input\", {\n checked: this.state.checked,\n onChange: this.onChange,\n className: \"ui-switch-checkbox\",\n type: \"checkbox\"\n }), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: this.state.checked ? \"ui-switch checked\" : \"ui-switch\"\n })))), modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description-wrap scroller-wrap fade\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-description scroller\"\n }, description)), (website || source) && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"div\", {\n className: \"bda-footer\"\n }, modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"span\", {\n className: \"bda-links\"\n }, website && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link\",\n href: website,\n target: \"_blank\"\n }, \"Website\"), website && source && \" | \", source && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"a\", {\n className: \"bda-link\",\n href: source,\n target: \"_blank\"\n }, \"Source\"))));\n }\n\n onChange() {\n this.setState({\n checked: !this.state.checked\n });\n this.props.onChange && this.props.onChange(this.props.content.id);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3RoZW1lY2FyZC5qcz9jMDVjIl0sIm5hbWVzIjpbIlRoZW1lQ2FyZCIsIlJlYWN0IiwiQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsInN0YXRlIiwiY2hlY2tlZCIsImVuYWJsZWQiLCJyZWxvYWRzIiwib25DaGFuZ2UiLCJiaW5kIiwicmVsb2FkIiwiY29udGVudCIsImlkIiwiZm9yY2VVcGRhdGUiLCJyZW5kZXIiLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJ2ZXJzaW9uIiwiYXV0aG9yIiwid2Vic2l0ZSIsInNvdXJjZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTZXR0aW5ncyIsImdldCIsIlJlbG9hZEljb24iLCJvbkNsaWNrIiwic3R5bGUiLCJmbGV4IiwidHlwZSIsImhyZWYiLCJ0YXJnZXQiLCJzZXRTdGF0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtDQUVBOztBQUVlLE1BQU1BLFNBQU4sU0FBd0JDLDZDQUFLLENBQUNDLFNBQTlCLENBQXdDO0FBRW5EQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDQSxTQUFLQyxLQUFMLEdBQWE7QUFDVEMsYUFBTyxFQUFFLEtBQUtGLEtBQUwsQ0FBV0csT0FEWDtBQUNvQjtBQUM3QkMsYUFBTyxFQUFFO0FBRkEsS0FBYjtBQUlBLFNBQUtDLFFBQUwsR0FBZ0IsS0FBS0EsUUFBTCxDQUFjQyxJQUFkLENBQW1CLElBQW5CLENBQWhCO0FBQ0EsU0FBS0MsTUFBTCxHQUFjLEtBQUtBLE1BQUwsQ0FBWUQsSUFBWixDQUFpQixJQUFqQixDQUFkO0FBQ0g7O0FBRURDLFFBQU0sR0FBRztBQUNMLFFBQUksQ0FBQyxLQUFLUCxLQUFMLENBQVdPLE1BQWhCLEVBQXdCO0FBQ3hCLFNBQUtQLEtBQUwsQ0FBV1EsT0FBWCxHQUFxQixLQUFLUixLQUFMLENBQVdPLE1BQVgsQ0FBa0IsS0FB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O0FBQVosS0FBM0IsRUFDbkJ0Qiw2Q0FBSyxDQUFDcUIsYUFBTixDQUFvQixNQUFwQixFQUE0QjtBQUFDQyxlQUFTLEVBQUU7QUFBWixLQUE1QixFQUNJSCxPQUFPLElBQUluQiw2Q0FBSyxDQUFDcUIsYUFBTixDQUFvQixHQUFwQixFQUF5QjtBQUFDQyxlQUFTLEVBQUUsVUFBWjtBQUF3QlEsVUFBSSxFQUFFWCxPQUE5QjtBQUF1Q1ksWUFBTSxFQUFFO0FBQS9DLEtBQXpCLEVBQW1GLFNBQW5GLENBRGYsRUFFSVosT0FBTyxJQUFJQyxNQUFYLElBQXFCLEtBRnpCLEVBR0lBLE1BQU0sSUFBSXBCLDZDQUFLLENBQUNxQixhQUFOLENBQW9CLEdBQXBCLEVBQXlCO0FBQUNDLGVBQVMsRUFBRSxVQUFaO0FBQXdCUSxVQUFJLEVBQUVWLE1BQTlCO0FBQXNDVyxZQUFNLEVBQUU7QUFBOUMsS0FBekIsRUFBa0YsUUFBbEYsQ0FIZCxDQURtQixDQXBCcEIsQ0FBUDtBQTRCSDs7QUFFRHZCLFVBQVEsR0FBRztBQUNQLFNBQUt3QixRQUFMLENBQWM7QUFBQzNCLGFBQU8sRUFBRSxDQUFDLEtBQUtELEtBQUwsQ0FBV0M7QUFBdEIsS0FBZDtBQUNBLFNBQUtGLEtBQUwsQ0FBV0ssUUFBWCxJQUF1QixLQUFLTCxLQUFMLENBQVdLLFFBQVgsQ0FBb0IsS0FBS0wsS0FBTCxDQUFXUSxPQUFYLENBQW1CQyxFQUF2QyxDQUF2QjtBQUNIOztBQTVEa0QiLCJmaWxlIjoiLi9zcmMvdWkvc2V0dGluZ3MvdGhlbWVjYXJkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZWFjdCwgU2V0dGluZ3N9IGZyb20gXCJtb2R1bGVzXCI7XHJcbmltcG9ydCBSZWxvYWRJY29uIGZyb20gXCIuLi9pY29ucy9yZWxvYWRcIjtcclxuLy8gaW1wb3J0IFRvYXN0cyBmcm9tIFwiLi4vdG9hc3RzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUaGVtZUNhcmQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJvcHMuZW5hYmxlZCwgLy9UaGVtZU1hbmFnZXIuaXNFbmFibGVkKHRoaXMucHJvcHMuY29udGVudC5pZCksXHJcbiAgICAgICAgICAgIHJlbG9hZHM6IDBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5yZWxvYWQgPSB0aGlzLnJlbG9hZC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbG9hZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMucHJvcHMucmVsb2FkKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50ID0gdGhpcy5wcm9wcy5yZWxvYWQodGhpcy5wcm9wcy5jb250ZW50LmlkKTtcclxuICAgICAgICB0aGlzLmZvcmNlVXBkYXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHtjb250ZW50fSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbnRlbnQubmFtZTtcclxuICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGNvbnRlbnQuZGVzY3JpcHRpb247XHJcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IGNvbnRlbnQudmVyc2lvbjtcclxuICAgICAgICBjb25zdCBhdXRob3IgPSBjb250ZW50LmF1dGhvcjtcclxuICAgICAgICBjb25zdCB3ZWJzaXRlID0gY29udGVudC53ZWJzaXRlO1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IGNvbnRlbnQuc291cmNlO1xyXG5cclxuICAgICAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChcImxpXCIsIHtcImRhdGEtbmFtZVwiOiBuYW1lLCBcImRhdGEtdmVyc2lvblwiOiB2ZXJzaW9uLCBcImNsYXNzTmFtZVwiOiBcInNldHRpbmdzLWNsb3NlZCB1aS1zd2l0Y2gtaXRlbVwifSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1oZWFkZXJcIn0sXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge2NsYXNzTmFtZTogXCJiZGEtaGVhZGVyLXRpdGxlXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS1uYW1lXCJ9LCBuYW1lKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgdlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7Y2xhc3NOYW1lOiBcImJkYS12ZXJzaW9uXCJ9LCB2ZXJzaW9uKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgYnkgXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWF1dGhvclwifSwgYXV0aG9yKVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7Y2xhc3NOYW1lOiBcImJkYS1jb250cm9sc1wifSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgIVNldHRpbmdzLmdldChcInNldHRpbmdzXCIsIFwiY29udGVudFwiLCBcImF1dG9SZWxvYWRcIikgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChSZWxvYWRJY29uLCB7Y2xhc3NOYW1lOiBcImJkLXJlbG9hZC1jYXJkXCIsIG9uQ2xpY2s6IHRoaXMucmVsb2FkfSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsYWJlbFwiLCB7Y2xhc3NOYW1lOiBcInVpLXN3aXRjaC13cmFwcGVyIHVpLWZsZXgtY2hpbGRcIiwgc3R5bGU6IHtmbGV4OiBcIjAgMCBhdXRvXCJ9fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiLCB7Y2hlY2tlZDogdGhpcy5zdGF0ZS5jaGVja2VkLCBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSwgY2xhc3NOYW1lOiBcInVpLXN3aXRjaC1jaGVja2JveFwiLCB0eXBlOiBcImNoZWNrYm94XCJ9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogdGhpcy5zdGF0ZS5jaGVja2VkID8gXCJ1aS1zd2l0Y2ggY2hlY2tlZFwiIDogXCJ1aS1zd2l0Y2hcIn0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge2NsYXNzTmFtZTogXCJiZGEtZGVzY3JpcHRpb24td3JhcCBzY3JvbGxlci13cmFwIGZhZGVcIn0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWRlc2NyaXB0aW9uIHNjcm9sbGVyXCJ9LCBkZXNjcmlwdGlvbilcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKHdlYnNpdGUgfHwgc291cmNlKSAmJiBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtjbGFzc05hbWU6IFwiYmRhLWZvb3RlclwifSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIHtjbGFzc05hbWU6IFwiYmRhLWxpbmtzXCJ9LFxyXG4gICAgICAgICAgICAgICAgICAgIHdlYnNpdGUgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge2NsYXNzTmFtZTogXCJiZGEtbGlua1wiLCBocmVmOiB3ZWJzaXRlLCB0YXJnZXQ6IFwiX2JsYW5rXCJ9LCBcIldlYnNpdGVcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgd2Vic2l0ZSAmJiBzb3VyY2UgJiYgXCIgfCBcIixcclxuICAgICAgICAgICAgICAgICAgICBzb3VyY2UgJiYgUmVhY3QuY3JlYXRlRWxlbWVudChcImFcIiwge2NsYXNzTmFtZTogXCJiZGEtbGlua1wiLCBocmVmOiBzb3VyY2UsIHRhcmdldDogXCJfYmxhbmtcIn0sIFwiU291cmNlXCIpXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe2NoZWNrZWQ6ICF0aGlzLnN0YXRlLmNoZWNrZWR9KTtcclxuICAgICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlICYmIHRoaXMucHJvcHMub25DaGFuZ2UodGhpcy5wcm9wcy5jb250ZW50LmlkKTtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/settings/themecard.js\n");
/***/ }),
/***/ "./src/ui/settings/title.jsx":
/*!***********************************!*\
!*** ./src/ui/settings/title.jsx ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return SettingsTitle; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nconst className = \"bd-settings-title h2-2gWE-o title-3sZWYQ size16-14cGz5 height20-mO2eIN weightSemiBold-NJexzi defaultColor-1_ajX0 defaultMarginh2-2LTaUL marginBottom20-32qID7\";\nconst className2 = \"bd-settings-title bd-settings-group-title h5-18_1nd title-3sZWYQ size12-3R0845 height16-2Lv3qA weightSemiBold-NJexzi da-h5 da-title da-size12 da-height16 da-weightSemiBold marginBottom4-2qk4Hy da-marginBottom4 marginTop8-1DLZ1n da-marginTop8\";\nclass SettingsTitle extends modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].Component {\n constructor(props) {\n super(props);\n } //h2-2gWE-o title-3sZWYQ size16-14cGz5 height20-mO2eIN weightSemiBold-NJexzi da-h2 da-title da-size16 da-height20 da-weightSemiBold defaultColor-1_ajX0 da-defaultColor marginTop60-3PGbtK da-marginTop60 marginBottom20-32qID7 da-marginBottom20\n\n\n render() {\n const baseClass = this.props.isGroup ? className2 : className;\n const titleClass = this.props.className ? `${baseClass} ${this.props.className}` : baseClass;\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"h2\", {\n className: titleClass,\n onClick: () => {\n this.props.onClick && this.props.onClick();\n }\n }, this.props.text, this.props.button && modules__WEBPACK_IMPORTED_MODULE_0__[\"React\"].createElement(\"button\", {\n className: \"bd-title-button\",\n onClick: this.props.button.onClick\n }, this.props.button.title), this.props.otherChildren);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3NldHRpbmdzL3RpdGxlLmpzeD9iNTliIl0sIm5hbWVzIjpbImNsYXNzTmFtZSIsImNsYXNzTmFtZTIiLCJTZXR0aW5nc1RpdGxlIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwicmVuZGVyIiwiYmFzZUNsYXNzIiwiaXNHcm91cCIsInRpdGxlQ2xhc3MiLCJvbkNsaWNrIiwidGV4dCIsImJ1dHRvbiIsInRpdGxlIiwib3RoZXJDaGlsZHJlbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQSxNQUFNQSxTQUFTLEdBQUcsK0pBQWxCO0FBQ0EsTUFBTUMsVUFBVSxHQUFHLG1QQUFuQjtBQUVlLE1BQU1DLGFBQU4sU0FBNEJDLDZDQUFLLENBQUNDLFNBQWxDLENBQTRDO0FBQ3ZEQyxhQUFXLENBQUNDLEtBQUQsRUFBUTtBQUNmLFVBQU1BLEtBQU47QUFDSCxHQUhzRCxDQUkzRDs7O0FBQ0lDLFFBQU0sR0FBRztBQUNMLFVBQU1DLFNBQVMsR0FBRyxLQUFLRixLQUFMLENBQVdHLE9BQVgsR0FBcUJSLFVBQXJCLEdBQWtDRCxTQUFwRDtBQUNBLFVBQU1VLFVBQVUsR0FBRyxLQUFLSixLQUFMLENBQVdOLFNBQVgsR0FBd0IsR0FBRVEsU0FBVSxJQUFHLEtBQUtGLEtBQUwsQ0FBV04sU0FBVSxFQUE1RCxHQUFnRVEsU0FBbkY7QUFDQSxXQUFPO0FBQUksZUFBUyxFQUFFRSxVQUFmO0FBQTJCLGFBQU8sRUFBRSxNQUFNO0FBQUMsYUFBS0osS0FBTCxDQUFXSyxPQUFYLElBQXNCLEtBQUtMLEtBQUwsQ0FBV0ssT0FBWCxFQUF0QjtBQUE0QztBQUF2RixPQUNFLEtBQUtMLEtBQUwsQ0FBV00sSUFEYixFQUVFLEtBQUtOLEtBQUwsQ0FBV08sTUFBWCxJQUFxQjtBQUFRLGVBQVMsRUFBQyxpQkFBbEI7QUFBb0MsYUFBTyxFQUFFLEtBQUtQLEtBQUwsQ0FBV08sTUFBWCxDQUFrQkY7QUFBL0QsT0FBeUUsS0FBS0wsS0FBTCxDQUFXTyxNQUFYLENBQWtCQyxLQUEzRixDQUZ2QixFQUdFLEtBQUtSLEtBQUwsQ0FBV1MsYUFIYixDQUFQO0FBS0g7O0FBYnNEIiwiZmlsZSI6Ii4vc3JjL3VpL3NldHRpbmdzL3RpdGxlLmpzeC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVhY3R9IGZyb20gXCJtb2R1bGVzXCI7XHJcblxyXG5jb25zdCBjbGFzc05hbWUgPSBcImJkLXNldHRpbmdzLXRpdGxlIGgyLTJnV0UtbyB0aXRsZS0zc1pXWVEgc2l6ZTE2LTE0Y0d6NSBoZWlnaHQyMC1tTzJlSU4gd2VpZ2h0U2VtaUJvbGQtTkpleHppIGRlZmF1bHRDb2xvci0xX2FqWDAgZGVmYXVsdE1hcmdpbmgyLTJMVGFVTCBtYXJnaW5Cb3R0b20yMC0zMnFJRDdcIjtcclxuY29uc3QgY2xhc3NOYW1lMiA9IFwiYmQtc2V0dGluZ3MtdGl0bGUgYmQtc2V0dGluZ3MtZ3JvdXAtdGl0bGUgaDUtMThfMW5kIHRpdGxlLTNzWldZUSBzaXplMTItM1IwODQ1IGhlaWdodDE2LTJMdjNxQSB3ZWlnaHRTZW1pQm9sZC1OSmV4emkgZGEtaDUgZGEtdGl0bGUgZGEtc2l6ZTEyIGRhLWhlaWdodDE2IGRhLXdlaWdodFNlbWlCb2xkIG1hcmdpbkJvdHRvbTQtMnFrNEh5IGRhLW1hcmdpbkJvdHRvbTQgbWFyZ2luVG9wOC0xRExaMW4gZGEtbWFyZ2luVG9wOFwiO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2V0dGluZ3NUaXRsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgIH1cclxuLy9oMi0yZ1dFLW8gdGl0bGUtM3NaV1lRIHNpemUxNi0xNGNHejUgaGVpZ2h0MjAtbU8yZUlOIHdlaWdodFNlbWlCb2xkLU5KZXh6aSBkYS1oMiBkYS10aXRsZSBkYS1zaXplMTYgZGEtaGVpZ2h0MjAgZGEtd2VpZ2h0U2VtaUJvbGQgZGVmYXVsdENvbG9yLTFfYWpYMCBkYS1kZWZhdWx0Q29sb3IgbWFyZ2luVG9wNjAtM1BHYnRLIGRhLW1hcmdpblRvcDYwIG1hcmdpbkJvdHRvbTIwLTMycUlENyBkYS1tYXJnaW5Cb3R0b20yMFxyXG4gICAgcmVuZGVyKCkge1xyXG4gICAgICAgIGNvbnN0IGJhc2VDbGFzcyA9IHRoaXMucHJvcHMuaXNHcm91cCA/IGNsYXNzTmFtZTIgOiBjbGFzc05hbWU7XHJcbiAgICAgICAgY29uc3QgdGl0bGVDbGFzcyA9IHRoaXMucHJvcHMuY2xhc3NOYW1lID8gYCR7YmFzZUNsYXNzfSAke3RoaXMucHJvcHMuY2xhc3NOYW1lfWAgOiBiYXNlQ2xhc3M7XHJcbiAgICAgICAgcmV0dXJuIDxoMiBjbGFzc05hbWU9e3RpdGxlQ2xhc3N9IG9uQ2xpY2s9eygpID0+IHt0aGlzLnByb3BzLm9uQ2xpY2sgJiYgdGhpcy5wcm9wcy5vbkNsaWNrKCk7fX0+XHJcbiAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy50ZXh0fVxyXG4gICAgICAgICAgICAgICAge3RoaXMucHJvcHMuYnV0dG9uICYmIDxidXR0b24gY2xhc3NOYW1lPVwiYmQtdGl0bGUtYnV0dG9uXCIgb25DbGljaz17dGhpcy5wcm9wcy5idXR0b24ub25DbGlja30+e3RoaXMucHJvcHMuYnV0dG9uLnRpdGxlfTwvYnV0dG9uPn1cclxuICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLm90aGVyQ2hpbGRyZW59XHJcbiAgICAgICAgICAgICAgICA8L2gyPjtcclxuICAgIH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ui/settings/title.jsx\n");
/***/ }),
/***/ "./src/ui/toasts.js":
/*!**************************!*\
!*** ./src/ui/toasts.js ***!
\**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Toasts; });\n/* harmony import */ var modules__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! modules */ \"./src/modules/modules.js\");\n\nconst channelsClass = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"channels\").channels.split(\" \")[0];\nconst membersWrapClass = modules__WEBPACK_IMPORTED_MODULE_0__[\"WebpackModules\"].getByProps(\"membersWrap\").membersWrap.split(\" \")[0];\nclass Toasts {\n static get shouldShowToasts() {\n return modules__WEBPACK_IMPORTED_MODULE_0__[\"Settings\"].get(\"settings\", \"general\", \"showToasts\");\n }\n /** Shorthand for `type = \"success\"` for {@link module:Toasts.show} */\n\n\n static async success(content, options = {}) {\n return this.show(content, Object.assign(options, {\n type: \"success\"\n }));\n }\n /** Shorthand for `type = \"info\"` for {@link module:Toasts.show} */\n\n\n static async info(content, options = {}) {\n return this.show(content, Object.assign(options, {\n type: \"info\"\n }));\n }\n /** Shorthand for `type = \"warning\"` for {@link module:Toasts.show} */\n\n\n static async warning(content, options = {}) {\n return this.show(content, Object.assign(options, {\n type: \"warning\"\n }));\n }\n /** Shorthand for `type = \"error\"` for {@link module:Toasts.show} */\n\n\n static async error(content, options = {}) {\n return this.show(content, Object.assign(options, {\n type: \"error\"\n }));\n }\n /** Shorthand for `type = \"default\"` for {@link module:Toasts.show} */\n\n\n static async default(content, options = {}) {\n return this.show(content, Object.assign(options, {\n type: \"\"\n }));\n }\n /**\r\n * This shows a toast similar to android towards the bottom of the screen.\r\n *\r\n * @param {string} content The string to show in the toast.\r\n * @param {object} options Options object. Optional parameter.\r\n * @param {string} [options.type=\"\"] Changes the type of the toast stylistically and semantically. Choices: \"\", \"info\", \"success\", \"danger\"/\"error\", \"warning\"/\"warn\". Default: \"\"\r\n * @param {boolean} [options.icon=true] Determines whether the icon should show corresponding to the type. A toast without type will always have no icon. Default: true\r\n * @param {number} [options.timeout=3000] Adjusts the time (in ms) the toast should be shown for before disappearing automatically. Default: 3000\r\n * @param {boolean} [options.forceShow=false] Whether to force showing the toast and ignore the bd setting\r\n */\n\n\n static show(content, options = {}) {\n const {\n type = \"\",\n icon = true,\n timeout = 3000,\n forceShow = false\n } = options;\n if (!this.shouldShowToasts && !forceShow) return;\n this.ensureContainer();\n const toastElem = document.createElement(\"div\");\n toastElem.classList.add(\"bd-toast\");\n if (type) toastElem.classList.add(\"toast-\" + type);\n if (type && icon) toastElem.classList.add(\"icon\");\n toastElem.innerText = content;\n document.querySelector(\".bd-toasts\").appendChild(toastElem);\n setTimeout(() => {\n toastElem.classList.add(\"closing\");\n setTimeout(() => {\n toastElem.remove();\n if (!document.querySelectorAll(\".bd-toasts .bd-toast\").length) document.querySelector(\".bd-toasts\").remove();\n }, 300);\n }, timeout);\n }\n\n static ensureContainer() {\n if (document.querySelector(\".bd-toasts\")) return;\n const container = document.querySelector(`.${channelsClass} + div`);\n const memberlist = container.querySelector(`.${membersWrapClass}`);\n const form = container ? container.querySelector(\"form\") : null;\n const left = container ? container.getBoundingClientRect().left : 310;\n const right = memberlist ? memberlist.getBoundingClientRect().left : 0;\n const width = right ? right - container.getBoundingClientRect().left : container.offsetWidth;\n const bottom = form ? form.offsetHeight : 80;\n const toastWrapper = document.createElement(\"div\");\n toastWrapper.classList.add(\"bd-toasts\");\n toastWrapper.style.setProperty(\"left\", left + \"px\");\n toastWrapper.style.setProperty(\"width\", width + \"px\");\n toastWrapper.style.setProperty(\"bottom\", bottom + \"px\");\n document.querySelector(\"#app-mount\").appendChild(toastWrapper);\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3RvYXN0cy5qcz9jZmU1Il0sIm5hbWVzIjpbImNoYW5uZWxzQ2xhc3MiLCJXZWJwYWNrTW9kdWxlcyIsImdldEJ5UHJvcHMiLCJjaGFubmVscyIsInNwbGl0IiwibWVtYmVyc1dyYXBDbGFzcyIsIm1lbWJlcnNXcmFwIiwiVG9hc3RzIiwic2hvdWxkU2hvd1RvYXN0cyIsIlNldHRpbmdzIiwiZ2V0Iiwic3VjY2VzcyIsImNvbnRlbnQiLCJvcHRpb25zIiwic2hvdyIsIk9iamVjdCIsImFzc2lnbiIsInR5cGUiLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwiZGVmYXVsdCIsImljb24iLCJ0aW1lb3V0IiwiZm9yY2VTaG93IiwiZW5zdXJlQ29udGFpbmVyIiwidG9hc3RFbGVtIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NMaXN0IiwiYWRkIiwiaW5uZXJUZXh0IiwicXVlcnlTZWxlY3RvciIsImFwcGVuZENoaWxkIiwic2V0VGltZW91dCIsInJlbW92ZSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJjb250YWluZXIiLCJtZW1iZXJsaXN0IiwiZm9ybSIsImxlZnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJyaWdodCIsIndpZHRoIiwib2Zmc2V0V2lkdGgiLCJib3R0b20iLCJvZmZzZXRIZWlnaHQiLCJ0b2FzdFdyYXBwZXIiLCJzdHlsZSIsInNldFByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLE1BQU1BLGFBQWEsR0FBR0Msc0RBQWMsQ0FBQ0MsVUFBZixDQUEwQixVQUExQixFQUFzQ0MsUUFBdEMsQ0FBK0NDLEtBQS9DLENBQXFELEdBQXJELEVBQTBELENBQTFELENBQXRCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUdKLHNEQUFjLENBQUNDLFVBQWYsQ0FBMEIsYUFBMUIsRUFBeUNJLFdBQXpDLENBQXFERixLQUFyRCxDQUEyRCxHQUEzRCxFQUFn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QUNBTyxnQkFBWSxDQUFDQyxLQUFiLENBQW1CQyxXQUFuQixDQUErQixPQUEvQixFQUF3Q04sS0FBSyxHQUFHLElBQWhEO0FBQ0FJLGdCQUFZLENBQUNDLEtBQWIsQ0FBbUJDLFdBQW5CLENBQStCLFFBQS9CLEVBQXlDSixNQUFNLEdBQUcsSUFBbEQ7QUFDQW5CLFlBQVEsQ0FBQ0ssYUFBVCxDQUF1QixZQUF2QixFQUFxQ0MsV0FBckMsQ0FBaURlLFlBQWpEO0FBQ0g7O0FBL0R1QiIsImZpbGUiOiIuL3NyYy91aS90b2FzdHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1dlYnBhY2tNb2R1bGVzLCBTZXR0aW5nc30gZnJvbSBcIm1vZHVsZXNcIjtcclxuXHJcbmNvbnN0IGNoYW5uZWxzQ2xhc3MgPSBXZWJwYWNrTW9kdWxlcy5nZXRCeVByb3BzKFwiY2hhbm5lbHNcIikuY2hhbm5lbHMuc3BsaXQoXCIgXCIpWzBdO1xyXG5jb25zdCBtZW1iZXJzV3JhcENsYXNzID0gV2VicGFja01vZHVsZXMuZ2V0QnlQcm9wcyhcIm1lbWJlcnNXcmFwXCIpLm1lbWJlcnNXcmFwLnNwbGl0KFwiIFwiKVswXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRvYXN0cyB7XHJcblxyXG4gICAgc3RhdGljIGdldCBzaG91bGRTaG93VG9hc3RzKCkge3JldHVybiBTZXR0aW5ncy5nZXQoXCJzZXR0aW5nc1wiLCBcImdlbmVyYWxcIiwgXCJzaG93VG9hc3RzXCIpO31cclxuXHJcbiAgICAvKiogU2hvcnRoYW5kIGZvciBgdHlwZSA9IFwic3VjY2Vzc1wiYCBmb3Ige0BsaW5rIG1vZHVsZTpUb2FzdHMuc2hvd30gKi9cclxuICAgIHN0YXRpYyBhc3luYyBzdWNjZXNzKGNvbnRlbnQsIG9wdGlvbnMgPSB7fSkge3JldHVybiB0aGlzLnNob3coY29udGVudCwgT2JqZWN0LmFzc2lnbihvcHRpb25zLCB7dHlwZTogXCJzdWNjZXNzXCJ9KSk7fVxyXG5cclxuICAgIC8qKiBTaG9ydGhhbmQgZm9yIGB0eXBlID0gXCJpbmZvXCJgIGZvciB7QGxpbmsgbW9kdWxlOlRvYXN0cy5zaG93fSAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGluZm8oY29udGVudCwgb3B0aW9ucyA9IHt9KSB7cmV0dXJuIHRoaXMuc2hvdyhjb250ZW50LCBPYmplY3QuYXNzaWduKG9wdGlvbnMsIHt0eXBlOiBcImluZm9cIn0pKTt9XHJcblxyXG4gICAgLyoqIFNob3J0aGFuZCBmb3IgYHR5cGUgPSBcIndhcm5pbmdcImAgZm9yIHtAbGluayBtb2R1bGU6VG9hc3RzLnNob3d9ICovXHJcbiAgICBzdGF0aWMgYXN5bmMgd2FybmluZyhjb250ZW50LCBvcHRpb25zID0ge30pIHtyZXR1cm4gdGhpcy5zaG93KGNvbnRlbnQsIE9iamVjdC5hc3NpZ24ob3B0aW9ucywge3R5cGU6IFwid2FybmluZ1wifSkpO31cclxuXHJcbiAgICAvKiogU2hvcnRoYW5kIGZvciBgdHlwZSA9IFwiZXJyb3JcImAgZm9yIHtAbGluayBtb2R1bGU6VG9hc3RzLnNob3d9ICovXHJcbiAgICBzdGF0aWMgYXN5bmMgZXJyb3IoY29udGVudCwgb3B0aW9ucyA9IHt9KSB7cmV0dXJuIHRoaXMuc2hvdyhjb250ZW50LCBPYmplY3QuYXNzaWduKG9wdGlvbnMsIHt0eXBlOiBcImVycm9yXCJ9KSk7fVxyXG5cclxuICAgIC8qKiBTaG9ydGhhbmQgZm9yIGB0eXBlID0gXCJkZWZhdWx0XCJgIGZvciB7QGxpbmsgbW9kdWxlOlRvYXN0cy5zaG93fSAqL1xyXG4gICAgc3RhdGljIGFzeW5jIGRlZmF1bHQoY29udGVudCwgb3B0aW9ucyA9IHt9KSB7cmV0dXJuIHRoaXMuc2hvdyhjb250ZW50LCBPYmplY3QuYXNzaWduKG9wdGlvbnMsIHt0eXBlOiBcIlwifSkpO31cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoaXMgc2hvd3MgYSB0b2FzdCBzaW1pbGFyIHRvIGFuZHJvaWQgdG93YXJkcyB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgVGhlIHN0cmluZyB0byBzaG93IGluIHRoZSB0b2FzdC5cclxuICAgICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIE9wdGlvbnMgb2JqZWN0LiBPcHRpb25hbCBwYXJhbWV0ZXIuXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudHlwZT1cIlwiXSBDaGFuZ2VzIHRoZSB0eXBlIG9mIHRoZSB0b2FzdCBzdHlsaXN0aWNhbGx5IGFuZCBzZW1hbnRpY2FsbHkuIENob2ljZXM6IFwiXCIsIFwiaW5mb1wiLCBcInN1Y2Nlc3NcIiwgXCJkYW5nZXJcIi9cImVycm9yXCIsIFwid2FybmluZ1wiL1wid2FyblwiLiBEZWZhdWx0OiBcIlwiXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmljb249dHJ1ZV0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBpY29uIHNob3VsZCBzaG93IGNvcnJlc3BvbmRpbmcgdG8gdGhlIHR5cGUuIEEgdG9hc3Qgd2l0aG91dCB0eXBlIHdpbGwgYWx3YXlzIGhhdmUgbm8gaWNvbi4gRGVmYXVsdDogdHJ1ZVxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLnRpbWVvdXQ9MzAwMF0gQWRqdXN0cyB0aGUgdGltZSAoaW4gbXMpIHRoZSB0b2FzdCBzaG91bGQgYmUgc2hvd24gZm9yIGJlZm9yZSBkaXNhcHBlYXJpbmcgYXV0b21hdGljYWxseS4gRGVmYXVsdDogMzAwMFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5mb3JjZVNob3c9ZmFsc2VdIFdoZXRoZXIgdG8gZm9yY2Ugc2hvd2luZyB0aGUgdG9hc3QgYW5kIGlnbm9yZSB0aGUgYmQgc2V0dGluZ1xyXG4gICAgICovXHJcbiAgICBzdGF0aWMgc2hvdyhjb250ZW50LCBvcHRpb25zID0ge30pIHtcclxuICAgICAgICBjb25zdCB7dHlwZSA9IFwiXCIsIGljb24gPSB0cnVlLCB0aW1lb3V0ID0gMzAwMCwgZm9yY2VTaG93ID0gZmFsc2V9ID0gb3B0aW9ucztcclxuICAgICAgICBpZiAoIXRoaXMuc2hvdWxkU2hvd1RvYXN0cyAmJiAhZm9yY2VTaG93KSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5lbnN1cmVDb250YWluZXIoKTtcclxuICAgICAgICBjb25zdCB0b2FzdEVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgIHRvYXN0RWxlbS5jbGFzc0xpc3QuYWRkKFwiYmQtdG9hc3RcIik7XHJcbiAgICAgICAgaWYgKHR5cGUpIHRvYXN0RWxlbS5jbGFzc0xpc3QuYWRkKFwidG9hc3QtXCIgKyB0eXBlKTtcclxuICAgICAgICBpZiAodHlwZSAmJiBpY29uKSB0b2FzdEVsZW0uY2xhc3NMaXN0LmFkZChcImljb25cIik7XHJcbiAgICAgICAgdG9hc3RFbGVtLmlubmVyVGV4dCA9IGNvbnRlbnQ7XHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5iZC10b2FzdHNcIikuYXBwZW5kQ2hpbGQodG9hc3RFbGVtKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdG9hc3RFbGVtLmNsYXNzTGlzdC5hZGQoXCJjbG9zaW5nXCIpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRvYXN0RWxlbS5yZW1vdmUoKTtcclxuICAgICAgICAgICAgICAgIGlmICghZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIi5iZC10b2FzdHMgLmJkLXRvYXN0XCIpLmxlbmd0aCkgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5iZC10b2FzdHNcIikucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgIH0sIDMwMCk7XHJcbiAgICAgICAgfSwgdGltZW91dCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGVuc3VyZUNvbnRhaW5lcigpIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5iZC10b2FzdHNcIikpIHJldHVybjtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAuJHtjaGFubmVsc0NsYXNzfSArIGRpdmApO1xyXG4gICAgICAgIGNvbnN0IG1lbWJlcmxpc3QgPSBjb250YWluZXIucXVlcnlTZWxlY3RvcihgLiR7bWVtYmVyc1dyYXBDbGFzc31gKTtcclxuICAgICAgICBjb25zdCBmb3JtID0gY29udGFpbmVyID8gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoXCJmb3JtXCIpIDogbnVsbDtcclxuICAgICAgICBjb25zdCBsZWZ0ID0gY29udGFpbmVyID8gY29udGFpbmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgOiAzMTA7XHJcbiAgICAgICAgY29uc3QgcmlnaHQgPSBtZW1iZXJsaXN0ID8gbWVtYmVybGlzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IDogMDtcclxuICAgICAgICBjb25zdCB3aWR0aCA9IHJpZ2h0ID8gcmlnaHQgLSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCA6IGNvbnRhaW5lci5vZmZzZXRXaWR0aDtcclxuICAgICAgICBjb25zdCBib3R0b20gPSBmb3JtID8gZm9ybS5vZmZzZXRIZWlnaHQgOiA4MDtcclxuICAgICAgICBjb25zdCB0b2FzdFdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgIHRvYXN0V3JhcHBlci5jbGFzc0xpc3QuYWRkKFwiYmQtdG9hc3RzXCIpO1xyXG4gICAgICAgIHRvYXN0V3JhcHBlci5zdHlsZS5zZXRQcm9wZXJ0eShcImxlZnRcIiwgbGVmdCArIFwicHhcIik7XHJcbiAgICAgICAgdG9hc3RXcmFwcGVyLnN0eWxlLnNldFByb3BlcnR5KFwid2lkdGhcIiwgd2lkdGggKyBcInB4XCIpO1xyXG4gICAgICAgIHRvYXN0V3JhcHBlci5zdHlsZS5zZXRQcm9wZXJ0eShcImJvdHRvbVwiLCBib3R0b20gKyBcInB4XCIpO1xyXG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCIjYXBwLW1vdW50XCIpLmFwcGVuZENoaWxkKHRvYXN0V3JhcHBlcik7XHJcbiAgICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ui/toasts.js\n");
/***/ }),
/***/ "./src/ui/ui.js":
/*!**********************!*\
!*** ./src/ui/ui.js ***!
\**********************/
/*! exports provided: Toasts, Modals, SettingsPanel, PublicServers */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _settings_settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./settings/settings */ \"./src/ui/settings/settings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"SettingsPanel\", function() { return _settings_settings__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _publicservers_publicservers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./publicservers/publicservers */ \"./src/ui/publicservers/publicservers.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"PublicServers\", function() { return _publicservers_publicservers__WEBPACK_IMPORTED_MODULE_1__; });\n/* harmony import */ var _toasts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./toasts */ \"./src/ui/toasts.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Toasts\", function() { return _toasts__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _modals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modals */ \"./src/ui/modals.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Modals\", function() { return _modals__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlLy4vc3JjL3VpL3VpLmpzPzFkOWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9zcmMvdWkvdWkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2V0dGluZ3NQYW5lbCBmcm9tIFwiLi9zZXR0aW5ncy9zZXR0aW5nc1wiO1xyXG5pbXBvcnQgKiBhcyBQdWJsaWNTZXJ2ZXJzIGZyb20gXCIuL3B1YmxpY3NlcnZlcnMvcHVibGljc2VydmVyc1wiO1xyXG5leHBvcnQge2RlZmF1bHQgYXMgVG9hc3RzfSBmcm9tIFwiLi90b2FzdHNcIjtcclxuZXhwb3J0IHtkZWZhdWx0IGFzIE1vZGFsc30gZnJvbSBcIi4vbW9kYWxzXCI7XHJcbmV4cG9ydCB7U2V0dGluZ3NQYW5lbCwgUHVibGljU2VydmVyc307Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./src/ui/ui.js\n");
/***/ }),
/***/ "electron":
/*!****************************************!*\
!*** external "require(\"electron\")" ***!
\****************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"electron\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlL2V4dGVybmFsIFwicmVxdWlyZShcXFwiZWxlY3Ryb25cXFwiKVwiP2ZhMWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiZWxlY3Ryb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJlbGVjdHJvblwiKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///electron\n");
/***/ }),
/***/ "events":
/*!**************************************!*\
!*** external "require(\"events\")" ***!
\**************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"events\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlL2V4dGVybmFsIFwicmVxdWlyZShcXFwiZXZlbnRzXFxcIilcIj85NjE2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6ImV2ZW50cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcImV2ZW50c1wiKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///events\n");
/***/ }),
/***/ "fs":
/*!**********************************!*\
!*** external "require(\"fs\")" ***!
\**********************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"fs\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlL2V4dGVybmFsIFwicmVxdWlyZShcXFwiZnNcXFwiKVwiP2QzMGIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJmc1wiKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///fs\n");
/***/ }),
/***/ "module":
/*!*************************!*\
!*** external "module" ***!
\*************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"module\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlL2V4dGVybmFsIFwibW9kdWxlXCI/N2M0OCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJtb2R1bGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJtb2R1bGVcIik7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///module\n");
/***/ }),
/***/ "path":
/*!************************************!*\
!*** external "require(\"path\")" ***!
\************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"path\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlL2V4dGVybmFsIFwicmVxdWlyZShcXFwicGF0aFxcXCIpXCI/MmYzNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJwYXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicGF0aFwiKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///path\n");
/***/ }),
/***/ "request":
/*!***************************************!*\
!*** external "require(\"request\")" ***!
\***************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("module.exports = require(\"request\");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Db3JlL2V4dGVybmFsIFwicmVxdWlyZShcXFwicmVxdWVzdFxcXCIpXCI/MmM1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJyZXF1ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwicmVxdWVzdFwiKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///request\n");
/***/ })
/******/ })["default"];