From ce427536c30e0bd0cc8eba936c3d39a1f2ec18e5 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Thu, 11 Nov 2021 18:33:02 +0100 Subject: chore: add angular small apps to projects list (only recipes for now) --- assets/js/style.js | 5301 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 5300 insertions(+), 1 deletion(-) (limited to 'assets/js/style.js') diff --git a/assets/js/style.js b/assets/js/style.js index 45c38fb..316ee1b 100644 --- a/assets/js/style.js +++ b/assets/js/style.js @@ -1 +1,5300 @@ -"use strict";(self.webpackChunkdemo_armandphilippot_com=self.webpackChunkdemo_armandphilippot_com||[]).push([[296],{7:function(){}},function(n){n.O(0,[559],(function(){return 7,n(n.s=7)})),n.O()}]); \ No newline at end of file +(self["webpackChunkdemo_armandphilippot_com"] = self["webpackChunkdemo_armandphilippot_com"] || []).push([["style"],{ + +/***/ "./node_modules/ansi-html-community/index.js": +/*!***************************************************!*\ + !*** ./node_modules/ansi-html-community/index.js ***! + \***************************************************/ +/***/ (function(module) { + +"use strict"; + + +module.exports = ansiHTML + +// Reference to https://github.com/sindresorhus/ansi-regex +var _regANSI = /(?:(?:\u001b\[)|\u009b)(?:(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m])|\u001b[A-M]/ + +var _defColors = { + reset: ['fff', '000'], // [FOREGROUD_COLOR, BACKGROUND_COLOR] + black: '000', + red: 'ff0000', + green: '209805', + yellow: 'e8bf03', + blue: '0000ff', + magenta: 'ff00ff', + cyan: '00ffee', + lightgrey: 'f0f0f0', + darkgrey: '888' +} +var _styles = { + 30: 'black', + 31: 'red', + 32: 'green', + 33: 'yellow', + 34: 'blue', + 35: 'magenta', + 36: 'cyan', + 37: 'lightgrey' +} +var _openTags = { + '1': 'font-weight:bold', // bold + '2': 'opacity:0.5', // dim + '3': '', // italic + '4': '', // underscore + '8': 'display:none', // hidden + '9': '' // delete +} +var _closeTags = { + '23': '', // reset italic + '24': '', // reset underscore + '29': '' // reset delete +} + +;[0, 21, 22, 27, 28, 39, 49].forEach(function (n) { + _closeTags[n] = '' +}) + +/** + * Converts text with ANSI color codes to HTML markup. + * @param {String} text + * @returns {*} + */ +function ansiHTML (text) { + // Returns the text if the string has no ANSI escape code. + if (!_regANSI.test(text)) { + return text + } + + // Cache opened sequence. + var ansiCodes = [] + // Replace with markup. + var ret = text.replace(/\033\[(\d+)m/g, function (match, seq) { + var ot = _openTags[seq] + if (ot) { + // If current sequence has been opened, close it. + if (!!~ansiCodes.indexOf(seq)) { // eslint-disable-line no-extra-boolean-cast + ansiCodes.pop() + return '' + } + // Open tag. + ansiCodes.push(seq) + return ot[0] === '<' ? ot : '' + } + + var ct = _closeTags[seq] + if (ct) { + // Pop sequence + ansiCodes.pop() + return ct + } + return '' + }) + + // Make sure tags are closed. + var l = ansiCodes.length + ;(l > 0) && (ret += Array(l + 1).join('')) + + return ret +} + +/** + * Customize colors. + * @param {Object} colors reference to _defColors + */ +ansiHTML.setColors = function (colors) { + if (typeof colors !== 'object') { + throw new Error('`colors` parameter must be an Object.') + } + + var _finalColors = {} + for (var key in _defColors) { + var hex = colors.hasOwnProperty(key) ? colors[key] : null + if (!hex) { + _finalColors[key] = _defColors[key] + continue + } + if ('reset' === key) { + if (typeof hex === 'string') { + hex = [hex] + } + if (!Array.isArray(hex) || hex.length === 0 || hex.some(function (h) { + return typeof h !== 'string' + })) { + throw new Error('The value of `' + key + '` property must be an Array and each item could only be a hex string, e.g.: FF0000') + } + var defHexColor = _defColors[key] + if (!hex[0]) { + hex[0] = defHexColor[0] + } + if (hex.length === 1 || !hex[1]) { + hex = [hex[0]] + hex.push(defHexColor[1]) + } + + hex = hex.slice(0, 2) + } else if (typeof hex !== 'string') { + throw new Error('The value of `' + key + '` property must be a hex string, e.g.: FF0000') + } + _finalColors[key] = hex + } + _setTags(_finalColors) +} + +/** + * Reset colors. + */ +ansiHTML.reset = function () { + _setTags(_defColors) +} + +/** + * Expose tags, including open and close. + * @type {Object} + */ +ansiHTML.tags = {} + +if (Object.defineProperty) { + Object.defineProperty(ansiHTML.tags, 'open', { + get: function () { return _openTags } + }) + Object.defineProperty(ansiHTML.tags, 'close', { + get: function () { return _closeTags } + }) +} else { + ansiHTML.tags.open = _openTags + ansiHTML.tags.close = _closeTags +} + +function _setTags (colors) { + // reset all + _openTags['0'] = 'font-weight:normal;opacity:1;color:#' + colors.reset[0] + ';background:#' + colors.reset[1] + // inverse + _openTags['7'] = 'color:#' + colors.reset[1] + ';background:#' + colors.reset[0] + // dark grey + _openTags['90'] = 'color:#' + colors.darkgrey + + for (var code in _styles) { + var color = _styles[code] + var oriColor = colors[color] || '000' + _openTags[code] = 'color:#' + oriColor + code = parseInt(code) + _openTags[(code + 10).toString()] = 'background:#' + oriColor + } +} + +ansiHTML.reset() + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/scss/style.scss": +/*!****************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/scss/style.scss ***! + \****************************************************************************************************************************************************************************************************************************************/ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "./node_modules/css-loader/dist/runtime/sourceMaps.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/getUrl.js */ "./node_modules/css-loader/dist/runtime/getUrl.js"); +/* harmony import */ var _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2__); +// Imports + + + +var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Bold.woff2 */ "./src/fonts/Kanit/Kanit-Bold.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_1___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Bold.woff */ "./src/fonts/Kanit/Kanit-Bold.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_2___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-BoldItalic.woff2 */ "./src/fonts/Kanit/Kanit-BoldItalic.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_3___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-BoldItalic.woff */ "./src/fonts/Kanit/Kanit-BoldItalic.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_4___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-SemiBold.woff2 */ "./src/fonts/Kanit/Kanit-SemiBold.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_5___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-SemiBold.woff */ "./src/fonts/Kanit/Kanit-SemiBold.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_6___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-SemiBoldItalic.woff2 */ "./src/fonts/Kanit/Kanit-SemiBoldItalic.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_7___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-SemiBoldItalic.woff */ "./src/fonts/Kanit/Kanit-SemiBoldItalic.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_8___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Medium.woff2 */ "./src/fonts/Kanit/Kanit-Medium.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_9___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Medium.woff */ "./src/fonts/Kanit/Kanit-Medium.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_10___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-MediumItalic.woff2 */ "./src/fonts/Kanit/Kanit-MediumItalic.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_11___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-MediumItalic.woff */ "./src/fonts/Kanit/Kanit-MediumItalic.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_12___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Regular.woff2 */ "./src/fonts/Kanit/Kanit-Regular.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_13___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Regular.woff */ "./src/fonts/Kanit/Kanit-Regular.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_14___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Italic.woff2 */ "./src/fonts/Kanit/Kanit-Italic.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_15___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Italic.woff */ "./src/fonts/Kanit/Kanit-Italic.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_16___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Light.woff2 */ "./src/fonts/Kanit/Kanit-Light.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_17___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-Light.woff */ "./src/fonts/Kanit/Kanit-Light.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_18___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-LightItalic.woff2 */ "./src/fonts/Kanit/Kanit-LightItalic.woff2"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_19___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Kanit/Kanit-LightItalic.woff */ "./src/fonts/Kanit/Kanit-LightItalic.woff"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_20___ = new URL(/* asset import */ __webpack_require__(/*! ../fonts/Inter/Inter.woff2?v=3.18 */ "./src/fonts/Inter/Inter.woff2?v=3.18"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_21___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml;utf8,%3Csvg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath style="fill:%231b1817;fill-opacity:1;opacity:1;stroke-width:6.55748" d="M0 0h100v100H0z"/%3E%3Cpath d="M50.003 15.864C69.33 15.864 85 31.534 85 50.865c0 15.464-10.028 28.581-23.936 33.211-1.75.32-2.389-.76-2.389-1.689 0-.829.03-3.031.047-5.951 9.736 2.114 11.79-4.693 11.79-4.693 1.592-4.044 3.887-5.12 3.887-5.12 3.178-2.17-.241-2.127-.241-2.127-3.513.247-5.36 3.607-5.36 3.607-3.123 5.348-8.193 3.803-10.187 2.907-.318-2.26-1.22-3.803-2.222-4.677 7.772-.883 15.943-3.887 15.943-17.299 0-3.82-1.365-6.944-3.604-9.391.361-.886 1.563-4.444-.341-9.263 0 0-2.94-.941-9.626 3.588-2.791-.778-5.786-1.164-8.762-1.177-2.972.013-5.967.4-8.762 1.177-6.682-4.53-9.615-3.588-9.615-3.588-1.91 4.82-.71 8.377-.348 9.263-2.243 2.447-3.6 5.571-3.6 9.391 0 13.446 8.185 16.405 15.982 17.271-1.257 1.08-2.376 3.216-2.376 6.482 0 4.678.043 8.453.043 9.6 0 .937-.63 2.027-2.407 1.685C25.02 79.433 15 66.324 15 50.865c0-19.331 15.672-35.001 35.003-35.001" style="fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:.999999"/%3E%3C/svg%3E */ "data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath style=\"fill:%231b1817;fill-opacity:1;opacity:1;stroke-width:6.55748\" d=\"M0 0h100v100H0z\"/%3E%3Cpath d=\"M50.003 15.864C69.33 15.864 85 31.534 85 50.865c0 15.464-10.028 28.581-23.936 33.211-1.75.32-2.389-.76-2.389-1.689 0-.829.03-3.031.047-5.951 9.736 2.114 11.79-4.693 11.79-4.693 1.592-4.044 3.887-5.12 3.887-5.12 3.178-2.17-.241-2.127-.241-2.127-3.513.247-5.36 3.607-5.36 3.607-3.123 5.348-8.193 3.803-10.187 2.907-.318-2.26-1.22-3.803-2.222-4.677 7.772-.883 15.943-3.887 15.943-17.299 0-3.82-1.365-6.944-3.604-9.391.361-.886 1.563-4.444-.341-9.263 0 0-2.94-.941-9.626 3.588-2.791-.778-5.786-1.164-8.762-1.177-2.972.013-5.967.4-8.762 1.177-6.682-4.53-9.615-3.588-9.615-3.588-1.91 4.82-.71 8.377-.348 9.263-2.243 2.447-3.6 5.571-3.6 9.391 0 13.446 8.185 16.405 15.982 17.271-1.257 1.08-2.376 3.216-2.376 6.482 0 4.678.043 8.453.043 9.6 0 .937-.63 2.027-2.407 1.685C25.02 79.433 15 66.324 15 50.865c0-19.331 15.672-35.001 35.003-35.001\" style=\"fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:.999999\"/%3E%3C/svg%3E"), __webpack_require__.b); +var ___CSS_LOADER_URL_IMPORT_22___ = new URL(/* asset import */ __webpack_require__(/*! data:image/svg+xml;utf8,%3Csvg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath style="opacity:1;fill:%23ccc;fill-opacity:1;stroke-width:7.26231" d="M0 0h100v100H0z"/%3E%3Cpath class="st3" d="m49.998 82.237 12.895-39.668H37.121Z" style="fill:%23e24329;stroke-width:1"/%3E%3Cpath class="st4" d="M19.058 42.57 15.13 54.62a2.67 2.67 0 0 0 .966 2.984l33.9 24.632Z" style="fill:%23fca326;stroke-width:1"/%3E%3Cpath class="st3" d="M19.058 42.57H37.12l-7.774-23.89c-.398-1.222-2.132-1.222-2.544 0z" style="fill:%23e24329;stroke-width:1"/%3E%3Cpath class="st4" d="m80.956 42.57 3.914 12.05a2.67 2.67 0 0 1-.966 2.984L49.998 82.237Z" style="fill:%23fca326;stroke-width:1"/%3E%3Cpath class="st3" d="M80.956 42.57H62.894l7.759-23.89c.398-1.222 2.132-1.222 2.544 0z" style="fill:%23e24329;stroke-width:1"/%3E%3Cpath style="fill:%23fc6d26;stroke-width:4.82321" class="st5" d="m50.017 82.237 30.94-39.667H62.893Zm-.019 0L19.058 42.57H37.12z"/%3E%3C/svg%3E */ "data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cpath style=\"opacity:1;fill:%23ccc;fill-opacity:1;stroke-width:7.26231\" d=\"M0 0h100v100H0z\"/%3E%3Cpath class=\"st3\" d=\"m49.998 82.237 12.895-39.668H37.121Z\" style=\"fill:%23e24329;stroke-width:1\"/%3E%3Cpath class=\"st4\" d=\"M19.058 42.57 15.13 54.62a2.67 2.67 0 0 0 .966 2.984l33.9 24.632Z\" style=\"fill:%23fca326;stroke-width:1\"/%3E%3Cpath class=\"st3\" d=\"M19.058 42.57H37.12l-7.774-23.89c-.398-1.222-2.132-1.222-2.544 0z\" style=\"fill:%23e24329;stroke-width:1\"/%3E%3Cpath class=\"st4\" d=\"m80.956 42.57 3.914 12.05a2.67 2.67 0 0 1-.966 2.984L49.998 82.237Z\" style=\"fill:%23fca326;stroke-width:1\"/%3E%3Cpath class=\"st3\" d=\"M80.956 42.57H62.894l7.759-23.89c.398-1.222 2.132-1.222 2.544 0z\" style=\"fill:%23e24329;stroke-width:1\"/%3E%3Cpath style=\"fill:%23fc6d26;stroke-width:4.82321\" class=\"st5\" d=\"m50.017 82.237 30.94-39.667H62.893Zm-.019 0L19.058 42.57H37.12z\"/%3E%3C/svg%3E"), __webpack_require__.b); +var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); +var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___); +var ___CSS_LOADER_URL_REPLACEMENT_1___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_1___); +var ___CSS_LOADER_URL_REPLACEMENT_2___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_2___); +var ___CSS_LOADER_URL_REPLACEMENT_3___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_3___); +var ___CSS_LOADER_URL_REPLACEMENT_4___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_4___); +var ___CSS_LOADER_URL_REPLACEMENT_5___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_5___); +var ___CSS_LOADER_URL_REPLACEMENT_6___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_6___); +var ___CSS_LOADER_URL_REPLACEMENT_7___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_7___); +var ___CSS_LOADER_URL_REPLACEMENT_8___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_8___); +var ___CSS_LOADER_URL_REPLACEMENT_9___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_9___); +var ___CSS_LOADER_URL_REPLACEMENT_10___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_10___); +var ___CSS_LOADER_URL_REPLACEMENT_11___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_11___); +var ___CSS_LOADER_URL_REPLACEMENT_12___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_12___); +var ___CSS_LOADER_URL_REPLACEMENT_13___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_13___); +var ___CSS_LOADER_URL_REPLACEMENT_14___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_14___); +var ___CSS_LOADER_URL_REPLACEMENT_15___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_15___); +var ___CSS_LOADER_URL_REPLACEMENT_16___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_16___); +var ___CSS_LOADER_URL_REPLACEMENT_17___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_17___); +var ___CSS_LOADER_URL_REPLACEMENT_18___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_18___); +var ___CSS_LOADER_URL_REPLACEMENT_19___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_19___); +var ___CSS_LOADER_URL_REPLACEMENT_20___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_20___); +var ___CSS_LOADER_URL_REPLACEMENT_21___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_21___); +var ___CSS_LOADER_URL_REPLACEMENT_22___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_22___); +// Module +___CSS_LOADER_EXPORT___.push([module.id, "/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n/*\nDocument\n========\n*/\n/**\nUse a better box model (opinionated).\n*/\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\nhtml {\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/*\nSections\n========\n*/\n/**\nRemove the margin in all browsers.\n*/\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\nbody {\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n}\n\n/*\nGrouping content\n================\n*/\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\nhr {\n height: 0;\n /* 1 */\n color: inherit;\n /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Consolas, \"Liberation Mono\", Menlo, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\ntable {\n text-indent: 0;\n /* 1 */\n border-color: inherit;\n /* 2 */\n}\n\n/*\nForms\n=====\n*/\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n[type=search] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n/*\nAdd the correct display in Chrome and Safari.\n*/\nsummary {\n display: list-item;\n}\n\nhtml {\n overflow: hidden;\n}\n\n@-webkit-keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n visibility: visible;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n visibility: visible;\n }\n}\n@-webkit-keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n visibility: hidden;\n }\n}\n@keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n visibility: hidden;\n }\n}\n@-webkit-keyframes slideInLeft {\n 0% {\n margin-left: -100%;\n }\n 100% {\n margin-left: 0;\n visibility: visible;\n }\n}\n@keyframes slideInLeft {\n 0% {\n margin-left: -100%;\n }\n 100% {\n margin-left: 0;\n visibility: visible;\n }\n}\n@-webkit-keyframes slideOutLeft {\n 0% {\n margin-left: 0;\n }\n 100% {\n margin-left: -100%;\n visibility: hidden;\n }\n}\n@keyframes slideOutLeft {\n 0% {\n margin-left: 0;\n }\n 100% {\n margin-left: -100%;\n visibility: hidden;\n }\n}\n@-webkit-keyframes slideInUp {\n 0% {\n margin-bottom: -100vh;\n }\n 100% {\n margin-bottom: 0;\n visibility: visible;\n }\n}\n@keyframes slideInUp {\n 0% {\n margin-bottom: -100vh;\n }\n 100% {\n margin-bottom: 0;\n visibility: visible;\n }\n}\n@-webkit-keyframes slideOutBottom {\n 0% {\n margin-bottom: 0;\n }\n 100% {\n margin-bottom: -100vh;\n visibility: hidden;\n }\n}\n@keyframes slideOutBottom {\n 0% {\n margin-bottom: 0;\n }\n 100% {\n margin-bottom: -100vh;\n visibility: hidden;\n }\n}\n.fade-in {\n -webkit-animation: fadeIn 1s;\n animation: fadeIn 1s;\n}\n\n.fade-out {\n -webkit-animation: fadeOut 1s;\n animation: fadeOut 1s;\n}\n\n.slide-in--left {\n -webkit-animation: slideInLeft 0.8s;\n animation: slideInLeft 0.8s;\n}\n\n.slide-out--left {\n -webkit-animation: slideOutLeft 0.8s;\n animation: slideOutLeft 0.8s;\n}\n\n.slide-in--up {\n -webkit-animation: slideInUp 1s;\n animation: slideInUp 1s;\n}\n\n.slide-out--bottom {\n -webkit-animation: slideOutBottom 1s;\n animation: slideOutBottom 1s;\n}\n\n/* stylelint-disable -- Fonts name are not keywords, lowercase is not needed. */\n:root {\n --dap-color-bg: #f3f7fc;\n --dap-color-bg-secondary: #e0eaf5;\n --dap-color-bg-tertiary: #cdddef;\n --dap-color-fg: #0f1b29;\n --dap-color-fg-inverted: #f3f7fc;\n --dap-color-border: #194476;\n --dap-color-border-light: #c8d3df;\n --dap-color-shadow-darker: #1a2f47;\n --dap-color-shadow-dark: #667485;\n --dap-color-shadow: #386394;\n --dap-color-shadow-light: #9ba7b5;\n --dap-color-primary: #194476;\n --dap-color-primary-light: #084891;\n --dap-color-primary-light-opacity: rgba(8, 72, 145, 0.25);\n --dap-color-primary-dark: #133d6c;\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 700;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_1___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 700;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_2___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_3___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 600;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_4___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_5___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 600;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_6___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_7___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 500;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_8___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_9___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 500;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_10___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_11___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 400;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_12___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_13___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 400;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_14___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_15___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 300;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_16___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_17___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 300;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_18___ + ") format(\"woff2\"), url(" + ___CSS_LOADER_URL_REPLACEMENT_19___ + ") format(\"woff\");\n}\n@font-face {\n font-display: swap;\n font-family: Inter;\n font-style: oblique 0deg 10deg;\n font-weight: 100 900;\n src: url(" + ___CSS_LOADER_URL_REPLACEMENT_20___ + ") format(\"woff2\");\n}\n:root {\n --dap-font-family-primary: Inter, Liberation Sans, Arial, sans-serif;\n --dap-font-family-secondary: Kanit, Liberation Sans, Arial, sans-serif;\n --dap-font-size-sm: 0.8333333333rem;\n --dap-font-size-md: 1rem;\n --dap-font-size-lg: 1.2rem;\n --dap-font-size-xl: 1.44rem;\n --dap-font-size-2xl: 1.728rem;\n --dap-font-size-3xl: 2.0736rem;\n --dap-line-height: 1.618;\n}\n\n.hide {\n display: none !important;\n}\n\n/* Text meant only for screen readers. */\n.screen-reader-text {\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n height: 0.0625rem;\n overflow: hidden;\n padding: 0;\n position: absolute !important;\n width: 0.0625rem;\n word-break: normal;\n word-wrap: normal !important;\n /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n}\n.screen-reader-text:focus {\n background: var(--dap-color-bg);\n border: 0.1875rem solid var(--dap-color-border);\n box-shadow: 0 0 0.125rem 0.125rem var(--dap-color-shadow-light);\n clip: auto !important;\n color: var(--dap-color-primary);\n display: block;\n font-size: var(--dap-font-size-md);\n font-weight: 600;\n height: auto;\n left: 0;\n padding: var(--dap-spacing-sm) var(--dap-spacing-md);\n top: 0;\n width: auto;\n z-index: 100000;\n}\n\n@media (prefers-reduced-motion: reduce) {\n * {\n -webkit-animation: none !important;\n animation: none !important;\n transition: none !important;\n }\n}\n:root {\n --dap-spacing-3xs: 0.4045rem;\n --dap-spacing-2xs: 0.5393333333rem;\n --dap-spacing-xs: 0.809rem;\n --dap-spacing-sm: 1.0786666667rem;\n --dap-spacing-md: 1.618rem;\n --dap-spacing-lg: 2.427rem;\n --dap-toolbar-height: 3.75rem;\n}\n\n@media only screen and (min-width: 75em) {\n :root {\n --dap-toolbar-height: 0rem;\n }\n}\n*::-moz-selection {\n background: var(--dap-color-primary-light-opacity);\n}\n*::selection {\n background: var(--dap-color-primary-light-opacity);\n}\n\nbody {\n background: var(--dap-color-bg);\n color: var(--dap-color-fg);\n font-size: var(--dap-font-size-md);\n line-height: var(--dap-line-height);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nul {\n margin: 0 0 var(--dap-spacing-sm);\n}\n\na {\n color: var(--dap-color-primary);\n text-decoration-thickness: 0.125rem;\n text-underline-offset: 0.1875rem;\n transition: all 0.3s ease-in-out 0s;\n}\na:hover, a:focus {\n color: var(--dap-color-primary-light);\n -webkit-text-decoration-color: var(--dap-color-primary-light);\n text-decoration-color: var(--dap-color-primary-light);\n text-decoration-thickness: 0.25rem;\n}\na:focus {\n outline: var(--dap-color-primary) dotted 0.0625rem;\n}\na:active {\n color: var(--dap-color-primary-dark);\n outline: none;\n -webkit-text-decoration-color: var(--dap-color-primary-dark);\n text-decoration-color: var(--dap-color-primary-dark);\n text-decoration-thickness: 0.125rem;\n}\n\n.body {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: minmax(0, 1fr) -webkit-max-content;\n grid-template-rows: minmax(0, 1fr) max-content;\n height: 100vh;\n position: relative;\n}\n@media only screen and (min-width: 75em) {\n .body {\n grid-template-columns: 1.5fr 4fr;\n }\n}\n@media only screen and (min-width: 100em) {\n .body {\n grid-template-columns: 1fr 4fr;\n }\n}\n\n.header {\n grid-column: 1;\n grid-row: 1;\n width: 100%;\n}\n\n.main {\n grid-column: 1;\n grid-row: 1/-1;\n}\n@media only screen and (min-width: 75em) {\n .main {\n grid-column: 2;\n }\n}\n\n.footer {\n grid-column: 1;\n grid-row: 2;\n width: 100%;\n}\n\n.header {\n background: var(--dap-color-bg-secondary);\n overflow-y: auto;\n padding: var(--dap-spacing-md) clamp(var(--dap-spacing-md), 3vw, var(--dap-spacing-lg));\n scrollbar-color: var(--dap-color-primary-light-opacity) var(--dap-color-bg-tertiary);\n z-index: 5;\n}\n@media only screen and (min-width: 75em) {\n .header {\n box-shadow: 0 -1px 2px 0 var(--dap-color-shadow);\n }\n}\n\n.branding {\n margin-bottom: clamp(\n var(--dap-spacing-sm),\n 3vw,\n var(--dap-spacing-md)\n );\n text-align: center;\n}\n.branding__title {\n font-family: var(--dap-font-family-secondary);\n font-size: clamp(\n var(--dap-font-size-2xl),\n 5vw,\n var(--dap-font-size-3xl)\n );\n font-weight: 500;\n margin: var(--dap-spacing-xs) 0 var(--dap-spacing-3xs);\n}\n.branding__link {\n background: linear-gradient(to top, var(--dap-color-primary-light) 0.3125rem, transparent 0.3125rem) center/0 100% no-repeat;\n text-decoration: none;\n transition: all 0.5s ease-in-out 0s;\n}\n.branding__link:hover, .branding__link:focus {\n background-size: 100% 100%;\n}\n.branding__link:active {\n background-size: 0 100%;\n}\n.branding__description {\n font-family: var(--dap-font-family-secondary);\n font-size: clamp(\n var(--dap-font-size-md),\n 3vw,\n var(--dap-font-size-lg)\n );\n font-weight: 400;\n letter-spacing: 0.0625rem;\n margin: 0;\n text-transform: uppercase;\n}\n\n.logo {\n margin: auto;\n position: relative;\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n}\n.logo__image {\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n border: 0.1875rem solid var(--dap-color-border-light);\n border-radius: 50%;\n box-shadow: 0 0 0.375rem 0.0625rem var(--dap-color-shadow-darker);\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n}\n.logo__image--back {\n transform: rotateY(180deg);\n}\n.logo__link {\n display: block;\n height: clamp(4.6875rem, 15vmin, 5.625rem);\n transform-style: preserve-3d;\n transition: all 0.6s linear 0s;\n width: clamp(4.6875rem, 15vmin, 5.625rem);\n}\n.logo__link:hover, .logo__link:focus {\n outline: none;\n transform: rotateY(180deg);\n}\n.logo__link:hover .logo__link__image--front, .logo__link:focus .logo__link__image--front {\n transform: none;\n}\n.logo__link:hover .logo__link__image--back, .logo__link:focus .logo__link__image--back {\n transform: rotateY(180deg);\n}\n.logo__link:focus .logo__link__image {\n box-shadow: 0 0 0.375rem 0.0625rem var(--dap-color-shadow-dark), 0 0 0 0.3125rem var(--dap-color-primary-light-opacity);\n outline: none;\n}\n.logo__link:active .logo__link__image {\n box-shadow: 0 0 0.375rem 0.0625rem var(--dap-color-shadow-dark), 0 0 0 0.4375rem var(--dap-color-primary-light-opacity);\n}\n.logo:hover .logo__link {\n transform: rotateY(180deg);\n}\n\n.nav__list, .project-details .list--repos {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n.nav__list li, .project-details .list--repos li {\n margin-bottom: 0;\n}\n\n.project-details .list--repos {\n display: flex;\n flex-flow: row wrap;\n}\n\n.main {\n display: flex;\n flex-flow: column nowrap;\n height: calc(100% - var(--dap-toolbar-height));\n}\n@media only screen and (min-width: 75em) {\n .main {\n display: grid;\n grid-template-columns: 5fr 2fr;\n }\n}\n@media only screen and (min-width: 100em) {\n .main {\n grid-template-columns: 4fr 1fr;\n }\n}\n\n.main > span,\n.instructions,\nnoscript {\n background: var(--dap-color-bg);\n margin: 0 auto;\n max-width: 80ch;\n padding: var(--dap-spacing-md);\n text-align: center;\n}\n@media only screen and (min-width: 75em) {\n .main > span,\n.instructions,\nnoscript {\n grid-column: 1/-1;\n }\n}\n\n.instructions > *,\n.legal-notice > * {\n max-width: 80ch;\n}\n\n.instructions {\n align-items: center;\n display: flex;\n justify-content: center;\n}\n\n.legal-notice {\n height: 100%;\n overflow-y: auto;\n padding: clamp(var(--dap-spacing-md), 3vw, var(--dap-spacing-lg));\n scrollbar-color: var(--dap-color-primary-light-opacity) var(--dap-color-bg-tertiary);\n width: 100%;\n}\n@media only screen and (min-width: 75em) {\n .legal-notice {\n grid-column: 1/-1;\n }\n}\n.legal-notice iframe {\n max-width: 100%;\n}\n\n.project-preview {\n background: var(--dap-color-bg);\n flex: 0 1 100%;\n min-height: 0;\n width: 100%;\n}\n@media only screen and (min-width: 75em) {\n .project-preview {\n height: 100%;\n }\n}\n.project-preview iframe {\n border: 0;\n height: 100%;\n width: 100%;\n}\n\n.project-details {\n background: var(--dap-color-bg-secondary);\n box-shadow: 0 -1px 2px 0 var(--dap-color-shadow);\n flex: 1 0 100%;\n overflow-y: auto;\n padding: var(--dap-spacing-md);\n scrollbar-color: var(--dap-color-primary-light-opacity) var(--dap-color-bg-tertiary);\n}\n@media only screen and (min-width: 75em) {\n .project-details {\n font-size: var(--dap-font-size-md);\n }\n}\n.project-details__description {\n margin-bottom: var(--dap-spacing-md);\n white-space: pre-wrap;\n}\n.project-details .list--tech {\n padding-left: var(--dap-spacing-sm);\n}\n.project-details .list--repos {\n gap: var(--dap-spacing-xs);\n}\n.project-details .list__link {\n background-repeat: no-repeat;\n background-size: contain;\n box-shadow: 0 0 0 0 var(--dap-color-shadow);\n display: block;\n height: 3.125rem;\n transition: transform 0.3s ease-in-out 0s, box-shadow 0.15s ease-in-out 0.15s;\n width: 3.125rem;\n}\n.project-details .list__link--github {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_21___ + ");\n}\n.project-details .list__link--gitlab {\n background: url(" + ___CSS_LOADER_URL_REPLACEMENT_22___ + ");\n}\n.project-details .list__link:hover, .project-details .list__link:focus {\n box-shadow: -0.0625rem 0.0625rem 0.25rem 0.125rem var(--dap-color-shadow-light);\n transform: scale(1.15);\n}\n.project-details .list__link:active {\n opacity: 1;\n}\n\n.footer {\n align-items: center;\n background: var(--dap-color-bg-secondary);\n border-top: 0.0625rem solid var(--dap-color-border-light);\n display: flex;\n flex-flow: row wrap;\n font-family: var(--dap-font-family-secondary);\n font-size: var(--dap-font-size-md);\n gap: var(--dap-spacing-3xs);\n justify-content: center;\n padding: var(--dap-spacing-sm) var(--dap-spacing-md) calc(var(--dap-toolbar-height) + var(--dap-spacing-sm));\n}\n@media only screen and (min-width: 75em) {\n .footer {\n box-shadow: 0 -1px 2px 0 var(--dap-color-shadow);\n padding: var(--dap-spacing-sm) var(--dap-spacing-md);\n }\n}\n.footer .nav {\n display: inline-flex;\n gap: var(--dap-spacing-3xs);\n}\n.footer .nav::after {\n content: \"/\";\n}\n\n.copyright {\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n gap: var(--dap-spacing-3xs);\n justify-content: center;\n}\n\n.toolbar {\n align-items: center;\n background: var(--dap-color-primary);\n bottom: 0;\n box-shadow: 0 -1px 2px 0 var(--dap-color-shadow-dark);\n color: var(--dap-color-fg-inverted);\n display: flex;\n flex-flow: row nowrap;\n gap: var(--dap-spacing-xs);\n height: var(--dap-toolbar-height);\n justify-content: center;\n left: 0;\n padding: 0 var(--dap-spacing-sm);\n position: absolute;\n right: 0;\n z-index: 2;\n}\n.toolbar > .toolbar__options {\n background: var(--dap-color-primary);\n color: var(--dap-color-fg-inverted);\n font-size: var(--dap-font-size-sm);\n height: 85%;\n line-height: inherit;\n padding: 0 var(--dap-spacing-xs);\n}\n.toolbar > .toolbar__options:hover, .toolbar > .toolbar__options:focus {\n background: var(--dap-color-bg);\n color: var(--dap-color-primary);\n}\n\n.nav {\n text-align: center;\n}\n.nav__label {\n font-weight: 600;\n}\n.nav__list .btn {\n width: 100%;\n}\n.nav:not(.nav--footer) .nav__item {\n margin: var(--dap-spacing-2xs) 0;\n}\n.nav:not(.nav--footer) .nav__link {\n background-image: linear-gradient(to left, var(--dap-color-bg) 0, var(--dap-color-bg) 50%, var(--dap-color-primary) 50%);\n background-position: 100% 0;\n background-size: 200% 100%;\n border: 0.1875rem solid var(--dap-color-border);\n border-radius: 3.125rem;\n display: block;\n font-weight: 600;\n margin: auto;\n padding: var(--dap-spacing-3xs);\n position: relative;\n text-decoration: none;\n transition: all 0.4s ease-in-out 0s;\n width: 75%;\n}\n.nav:not(.nav--footer) .nav__link:hover, .nav:not(.nav--footer) .nav__link:focus {\n background-position: 0 0;\n color: var(--dap-color-fg-inverted);\n}\n.nav:not(.nav--footer) .nav__link:active {\n background-position: 100% 0;\n color: var(--dap-color-primary-dark);\n -webkit-text-decoration: 0.0625rem solid underline;\n text-decoration: 0.0625rem solid underline;\n}\n.nav:not(.nav--footer) .nav__link--selected {\n background: var(--dap-color-primary-dark);\n box-shadow: inset 0 0 0 4px var(--dap-color-bg);\n color: var(--dap-color-fg-inverted);\n}\n.nav:not(.nav--footer) .nav__link--selected:hover, .nav:not(.nav--footer) .nav__link--selected:focus {\n background: var(--dap-color-primary-light);\n}\n.nav .btn {\n margin: auto;\n}\n\n.btn {\n background: var(--dap-color-bg);\n border: 0;\n color: var(--dap-color-primary);\n cursor: pointer;\n display: block;\n font-weight: 600;\n}\n.btn:hover, .btn:focus {\n background: var(--dap-color-primary);\n color: var(--dap-color-fg-inverted);\n}\n.btn:active {\n background: var(--dap-color-bg);\n color: var(--dap-color-primary);\n}\n\n/**\n * 1.0 Vendors\n *\n * Import each files separately to define vendors styles order.\n */\n/**\n * 2.0 Base\n *\n * Define some standard styles and CSS variables (colors, fonts...).\n */\n/**\n * 3.0 Layout\n *\n * Define website layout.\n */\n/**\n* 4.0 Components\n*\n* Define styles for all kind of specific modules like buttons, widgets...\n*/", "",{"version":3,"sources":["webpack://./node_modules/modern-normalize/modern-normalize.css","webpack://./src/scss/style.scss","webpack://./src/scss/base/_base.scss","webpack://./src/scss/base/_animations.scss","webpack://./src/scss/abstracts/_variables.scss","webpack://./src/scss/abstracts/mixins/_css-vars.scss","webpack://./src/scss/base/_fonts.scss","webpack://./src/scss/base/_helpers.scss","webpack://./src/scss/abstracts/mixins/_media-queries.scss","webpack://./src/scss/base/_typography.scss","webpack://./src/scss/layout/_grid.scss","webpack://./src/scss/layout/_header.scss","webpack://./src/scss/abstracts/_placeholders.scss","webpack://./src/scss/layout/_main.scss","webpack://./src/scss/layout/_footer.scss","webpack://./src/scss/layout/_toolbar.scss","webpack://./src/scss/layout/_nav.scss","webpack://./src/scss/components/_buttons.scss"],"names":[],"mappings":"AAAA,8FAAA;AAEA;;;CAAA;AAKA;;CAAA;AAIA;;;EAGC,sBAAA;ACFD;;ADKA;;CAAA;AAIA;EACC,gBAAA;EACA,cAAA;KAAA,WAAA;ACHD;;ADMA;;;CAAA;AAKA;EACC,iBAAA;EAAmB,MAAA;EACnB,8BAAA;EAAgC,MAAA;ACFjC;;ADKA;;;CAAA;AAKA;;CAAA;AAIA;EACC,SAAA;ACJD;;ADOA;;CAAA;AAIA;EACC,8HACC;ACNF;;ADiBA;;;CAAA;AAKA;;;CAAA;AAKA;EACC,SAAA;EAAW,MAAA;EACX,cAAA;EAAgB,MAAA;ACdjB;;ADiBA;;;CAAA;AAKA;;CAAA;AAIA;EACC,yCAAA;UAAA,iCAAA;AChBD;;ADmBA;;CAAA;AAIA;;EAEC,mBAAA;ACjBD;;ADoBA;;;CAAA;AAKA;;;;EAIC,wFACC;EAKW,MAAA;EACZ,cAAA;EAAgB,MAAA;ACtBjB;;ADyBA;;CAAA;AAIA;EACC,cAAA;ACvBD;;AD0BA;;CAAA;AAIA;;EAEC,cAAA;EACA,cAAA;EACA,kBAAA;EACA,wBAAA;ACxBD;;AD2BA;EACC,eAAA;ACxBD;;AD2BA;EACC,WAAA;ACxBD;;AD2BA;;;CAAA;AAKA;;;CAAA;AAKA;EACC,cAAA;EAAgB,MAAA;EAChB,qBAAA;EAAuB,MAAA;ACxBxB;;AD2BA;;;CAAA;AAKA;;;CAAA;AAKA;;;;;EAKC,oBAAA;EAAsB,MAAA;EACtB,eAAA;EAAiB,MAAA;EACjB,iBAAA;EAAmB,MAAA;EACnB,SAAA;EAAW,MAAA;ACtBZ;;ADyBA;;;CAAA;AAKA;;EACS,MAAA;EACR,oBAAA;ACtBD;;ADyBA;;CAAA;AAIA;;;;EAIC,0BAAA;ACvBD;;AD0BA;;CAAA;AAIA;EACC,kBAAA;EACA,UAAA;ACxBD;;AD2BA;;CAAA;AAIA;EACC,8BAAA;ACzBD;;AD4BA;;;CAAA;AAKA;EACC,gBAAA;AC1BD;;AD6BA;;CAAA;AAIA;EACC,UAAA;AC3BD;;AD8BA;;CAAA;AAIA;EACC,wBAAA;AC5BD;;AD+BA;;CAAA;AAIA;;EAEC,YAAA;AC7BD;;ADgCA;;;CAAA;AAKA;EACC,6BAAA;EAA+B,MAAA;EAC/B,oBAAA;EAAsB,MAAA;AC5BvB;;AD+BA;;CAAA;AAIA;EACC,wBAAA;AC7BD;;ADgCA;;;CAAA;AAKA;EACC,0BAAA;EAA4B,MAAA;EAC5B,aAAA;EAAe,MAAA;AC5BhB;;AD+BA;;;CAAA;AAKA;;CAAA;AAIA;EACC,kBAAA;AC9BD;;AC1QA;EACE,gBAAA;AD6QF;;AE9QA;EACE;IACE,UAAA;EFiRF;EE9QA;IACE,UAAA;IACA,mBAAA;EFgRF;AACF;;AExRA;EACE;IACE,UAAA;EFiRF;EE9QA;IACE,UAAA;IACA,mBAAA;EFgRF;AACF;AE7QA;EACE;IACE,UAAA;EF+QF;EE5QA;IACE,UAAA;IACA,kBAAA;EF8QF;AACF;AEtRA;EACE;IACE,UAAA;EF+QF;EE5QA;IACE,UAAA;IACA,kBAAA;EF8QF;AACF;AE3QA;EACE;IACE,kBAAA;EF6QF;EE1QA;IACE,cAAA;IACA,mBAAA;EF4QF;AACF;AEpRA;EACE;IACE,kBAAA;EF6QF;EE1QA;IACE,cAAA;IACA,mBAAA;EF4QF;AACF;AEzQA;EACE;IACE,cAAA;EF2QF;EExQA;IACE,kBAAA;IACA,kBAAA;EF0QF;AACF;AElRA;EACE;IACE,cAAA;EF2QF;EExQA;IACE,kBAAA;IACA,kBAAA;EF0QF;AACF;AEvQA;EACE;IACE,qBAAA;EFyQF;EEtQA;IACE,gBAAA;IACA,mBAAA;EFwQF;AACF;AEhRA;EACE;IACE,qBAAA;EFyQF;EEtQA;IACE,gBAAA;IACA,mBAAA;EFwQF;AACF;AErQA;EACE;IACE,gBAAA;EFuQF;EEpQA;IACE,qBAAA;IACA,kBAAA;EFsQF;AACF;AE9QA;EACE;IACE,gBAAA;EFuQF;EEpQA;IACE,qBAAA;IACA,kBAAA;EFsQF;AACF;AEnQA;EACE,4BAAA;UAAA,oBAAA;AFqQF;;AElQA;EACE,6BAAA;UAAA,qBAAA;AFqQF;;AElQA;EACE,mCAAA;UAAA,2BAAA;AFqQF;;AElQA;EACE,oCAAA;UAAA,4BAAA;AFqQF;;AElQA;EACE,+BAAA;UAAA,uBAAA;AFqQF;;AElQA;EACE,oCAAA;UAAA,4BAAA;AFqQF;;AGzSA,+EAAA;AC1CI;EAEI,uBAAA;EAAA,iCAAA;EAAA,gCAAA;EAAA,uBAAA;EAAA,gCAAA;EAAA,2BAAA;EAAA,iCAAA;EAAA,kCAAA;EAAA,gCAAA;EAAA,2BAAA;EAAA,iCAAA;EAAA,4BAAA;EAAA,kCAAA;EAAA,yDAAA;EAAA,iCAAA;AJoWR;;AK3WA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oHAAA;AL8WF;AK1WA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oHAAA;AL4WF;AKxWA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oHAAA;AL0WF;AKtWA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oHAAA;ALwWF;AKpWA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,oHAAA;ALsWF;AKlWA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,sHAAA;ALoWF;AKhWA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,sHAAA;ALkWF;AK9VA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,sHAAA;ALgWF;AK5VA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,sHAAA;AL8VF;AK1VA;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,sHAAA;AL4VF;AKxVA;EACE,kBAAA;EACA,kBAAA;EACA,8BAAA;EACA,oBAAA;EACA,6DAAA;AL0VF;AIpbI;EAEI,oEAAA;EAAA,sEAAA;EAAA,mCAAA;EAAA,wBAAA;EAAA,0BAAA;EAAA,2BAAA;EAAA,6BAAA;EAAA,8BAAA;EAAA,wBAAA;AJ6bR;;AMrcA;EACE,wBAAA;ANwcF;;AMrcA,wCAAA;AACA;EACE,SAAA;EACA,8BAAA;EACA,iBAAA;EACA,gBAAA;EACA,UAAA;EACA,6BAAA;EACA,gBAAA;EACA,kBAAA;EACA,4BAAA;EAA8B,qGAAA;ANychC;AMvcE;EACE,+BAAA;EACA,+CAAA;EACA,+DAAA;EAEA,qBAAA;EACA,+BAAA;EACA,cAAA;EACA,kCAAA;EACA,gBAAA;EACA,YAAA;EACA,OAAA;EACA,oDAAA;EACA,MAAA;EACA,WAAA;EACA,eAAA;ANwcJ;;AO9aI;EDrBF;IACE,kCAAA;YAAA,0BAAA;IACA,2BAAA;ENucF;AACF;AIxeI;EAEI,4BAAA;EAAA,kCAAA;EAAA,0BAAA;EAAA,iCAAA;EAAA,0BAAA;EAAA,0BAAA;EAAA,6BAAA;AJ+eR;;AOzcE;EHxCE;IAEI,0BAAA;EJofN;AACF;AQ9fA;EACE,kDAAA;ARggBF;AQjgBA;EACE,kDAAA;ARggBF;;AQ7fA;EACE,+BAAA;EACA,0BAAA;EACA,kCAAA;EACA,mCAAA;ARggBF;;AQ7fA;;;;;;;;EAQE,iCAAA;ARggBF;;AQ7fA;EACE,+BAAA;EACA,mCAAA;EACA,gCAAA;EACA,mCAAA;ARggBF;AQ9fE;EAEE,qCAAA;EACA,6DAAA;UAAA,qDAAA;EACA,kCAAA;AR+fJ;AQ5fE;EACE,kDAAA;AR8fJ;AQ3fE;EACE,oCAAA;EACA,aAAA;EACA,4DAAA;UAAA,oDAAA;EACA,mCAAA;AR6fJ;;ASviBA;EACE,aAAA;EACA,qCAAA;EACA,sDAAA;EAAA,8CAAA;EACA,aAAA;EACA,kBAAA;AT0iBF;AOjgBE;EE9CF;IASM,gCAAA;ET0iBJ;AACF;AOtgBE;EE9CF;IAaM,8BAAA;ET2iBJ;AACF;;ASviBA;EACE,cAAA;EACA,WAAA;EACA,WAAA;AT0iBF;;ASviBA;EACE,cAAA;EACA,cAAA;AT0iBF;AOthBE;EEtBF;IAMM,cAAA;ET0iBJ;AACF;;AStiBA;EACE,cAAA;EACA,WAAA;EACA,WAAA;ATyiBF;;AU/kBA;EACE,yCAAA;EACA,gBAAA;EACA,uFAAA;EAEA,oFAAA;EAEA,UAAA;AVglBF;AOziBE;EG9CF;IAWM,gDAAA;EVglBJ;AACF;;AU5kBA;EACE;;;;GAAA;EAKA,kBAAA;AV+kBF;AU7kBE;EACE,6CAAA;EACA;;;;KAAA;EAKA,gBAAA;EACA,sDAAA;AV+kBJ;AU5kBE;EACE,4HAAA;EAMA,qBAAA;EACA,mCAAA;AVykBJ;AUvkBI;EAEE,0BAAA;AVwkBN;AUrkBI;EACE,uBAAA;AVukBN;AUnkBE;EACE,6CAAA;EACA;;;;KAAA;EAKA,gBAAA;EACA,yBAAA;EACA,SAAA;EACA,yBAAA;AVqkBJ;;AUjkBA;EACE,YAAA;EACA,kBAAA;EACA,0BAAA;EAAA,uBAAA;EAAA,kBAAA;AVokBF;AUlkBE;EACE,mCAAA;UAAA,2BAAA;EACA,qDAAA;EACA,kBAAA;EACA,iEAAA;EAEA,OAAA;EACA,kBAAA;EACA,MAAA;EACA,WAAA;AVmkBJ;AUjkBI;EACE,0BAAA;AVmkBN;AU/jBE;EACE,cAAA;EACA,0CAAA;EACA,4BAAA;EACA,8BAAA;EACA,yCAAA;AVikBJ;AU/jBI;EAEE,aAAA;EACA,0BAAA;AVgkBN;AU1jBQ;EACE,eAAA;AV4jBV;AUzjBQ;EACE,0BAAA;AV2jBV;AUrjBM;EACE,uHAAA;EAGA,aAAA;AVqjBR;AUhjBM;EACE,uHAAA;AVkjBR;AU1iBI;EACE,0BAAA;AV4iBN;;AWtrBA;EACE,qBAAA;EACA,SAAA;EACA,UAAA;AXyrBF;AWvrBE;EACE,gBAAA;AXyrBJ;;AWtqBA;EAGE,aAAA;EACA,mBAAA;AXuqBF;;AYjsBA;EACE,aAAA;EACA,wBAAA;EACA,8CAAA;AZosBF;AO1pBE;EK7CF;IAOM,aAAA;IACA,8BAAA;EZosBJ;AACF;AOhqBE;EK7CF;IAYM,8BAAA;EZqsBJ;AACF;;AYhsBA;;;EAGE,+BAAA;EACA,cAAA;EACA,eAAA;EACA,8BAAA;EACA,kBAAA;AZmsBF;AO/qBE;EK3BF;;;IAWM,iBAAA;EZqsBJ;AACF;;AY/rBE;;EACE,eAAA;AZmsBJ;;AY/rBA;EACE,mBAAA;EACA,aAAA;EACA,uBAAA;AZksBF;;AY/rBA;EACE,YAAA;EACA,gBAAA;EACA,iEAAA;EACA,oFAAA;EAEA,WAAA;AZisBF;AOzsBE;EKEF;IAUM,iBAAA;EZisBJ;AACF;AY9rBE;EACE,eAAA;AZgsBJ;;AY5rBA;EACE,+BAAA;EACA,cAAA;EACA,aAAA;EACA,WAAA;AZ+rBF;AOxtBE;EKqBF;IAQM,YAAA;EZ+rBJ;AACF;AY5rBE;EACE,SAAA;EACA,YAAA;EACA,WAAA;AZ8rBJ;;AY1rBA;EACE,yCAAA;EACA,gDAAA;EACA,cAAA;EACA,gBAAA;EACA,8BAAA;EACA,oFAAA;AZ6rBF;AO3uBE;EKwCF;IAWM,kCAAA;EZ4rBJ;AACF;AYzrBE;EACE,oCAAA;EACA,qBAAA;AZ2rBJ;AYvrBI;EACE,mCAAA;AZyrBN;AYtrBI;EAGE,0BAAA;AZsrBN;AYnrBI;EACE,4BAAA;EACA,wBAAA;EACA,2CAAA;EACA,cAAA;EACA,gBAAA;EACA,6EAAA;EAEA,eAAA;AZorBN;AYlrBM;EACE,oDAAA;AZorBR;AYjrBM;EACE,oDAAA;AZmrBR;AYhrBM;EAEE,+EAAA;EAEA,sBAAA;AZgrBR;AY7qBM;EACE,UAAA;AZ+qBR;;Aa9zBA;EACE,mBAAA;EACA,yCAAA;EACA,yDAAA;EACA,aAAA;EACA,mBAAA;EACA,6CAAA;EACA,kCAAA;EACA,2BAAA;EACA,uBAAA;EACA,4GAAA;Abi0BF;AO7xBE;EM9CF;IAeM,gDAAA;IACA,oDAAA;Ebg0BJ;AACF;Aa7zBE;EACE,oBAAA;EACA,2BAAA;Ab+zBJ;Aa7zBI;EACE,YAAA;Ab+zBN;;Aa1zBA;EACE,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,2BAAA;EACA,uBAAA;Ab6zBF;;Acj2BA;EACE,mBAAA;EACA,oCAAA;EACA,SAAA;EACA,qDAAA;EACA,mCAAA;EACA,aAAA;EACA,qBAAA;EACA,0BAAA;EACA,iCAAA;EACA,uBAAA;EACA,OAAA;EACA,gCAAA;EACA,kBAAA;EACA,QAAA;EACA,UAAA;Ado2BF;Acl2BE;EACE,oCAAA;EACA,mCAAA;EACA,kCAAA;EACA,WAAA;EACA,oBAAA;EACA,gCAAA;Ado2BJ;Acl2BI;EAEE,+BAAA;EACA,+BAAA;Adm2BN;;Ae93BA;EACE,kBAAA;Afi4BF;Ae/3BE;EACE,gBAAA;Afi4BJ;Ae33BI;EACE,WAAA;Af63BN;Aez3BE;EACE,gCAAA;Af23BJ;Aex3BE;EACE,wHAAA;EAMA,2BAAA;EACA,0BAAA;EACA,+CAAA;EACA,uBAAA;EACA,cAAA;EACA,gBAAA;EACA,YAAA;EACA,+BAAA;EACA,kBAAA;EACA,qBAAA;EACA,mCAAA;EACA,UAAA;Afq3BJ;Aen3BI;EAEE,wBAAA;EACA,mCAAA;Afo3BN;Aej3BI;EACE,2BAAA;EACA,oCAAA;EACA,kDAAA;UAAA,0CAAA;Afm3BN;Aeh3BI;EACE,yCAAA;EACA,+CAAA;EACA,mCAAA;Afk3BN;Aeh3BM;EAEE,0CAAA;Afi3BR;Ae52BE;EACE,YAAA;Af82BJ;;AgB/6BA;EACE,+BAAA;EACA,SAAA;EACA,+BAAA;EACA,eAAA;EACA,cAAA;EACA,gBAAA;AhBk7BF;AgBh7BE;EAEE,oCAAA;EACA,mCAAA;AhBi7BJ;AgB96BE;EACE,+BAAA;EACA,+BAAA;AhBg7BJ;;AAh8BA;;;;EAAA;AAOA;;;;EAAA;AAaA;;;;EAAA;AAYA;;;;CAAA","sourcesContent":["/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\nhtml {\n\t-moz-tab-size: 4;\n\ttab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n\tline-height: 1.15; /* 1 */\n\t-webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n\tmargin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n\tfont-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n","@charset 'utf-8';\n\n/**\n * 1.0 Vendors\n *\n * Import each files separately to define vendors styles order.\n */\n@use \"modern-normalize\";\n\n/**\n * 2.0 Base\n *\n * Define some standard styles and CSS variables (colors, fonts...).\n */\n@use \"base/base\";\n@use \"base/animations\";\n@use \"base/colors\";\n@use \"base/fonts\";\n@use \"base/helpers\";\n@use \"base/spacings\";\n@use \"base/typography\";\n\n/**\n * 3.0 Layout\n *\n * Define website layout.\n */\n@use \"layout/grid\";\n@use \"layout/header\";\n@use \"layout/main\";\n@use \"layout/footer\";\n@use \"layout/toolbar\";\n@use \"layout/nav\";\n\n/**\n* 4.0 Components\n*\n* Define styles for all kind of specific modules like buttons, widgets...\n*/\n@use \"components/buttons\";\n","html {\n overflow: hidden;\n}\n","@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n visibility: visible;\n }\n}\n\n@keyframes fadeOut {\n 0% {\n opacity: 1;\n }\n\n 100% {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n@keyframes slideInLeft {\n 0% {\n margin-left: -100%;\n }\n\n 100% {\n margin-left: 0;\n visibility: visible;\n }\n}\n\n@keyframes slideOutLeft {\n 0% {\n margin-left: 0;\n }\n\n 100% {\n margin-left: -100%;\n visibility: hidden;\n }\n}\n\n@keyframes slideInUp {\n 0% {\n margin-bottom: -100vh;\n }\n\n 100% {\n margin-bottom: 0;\n visibility: visible;\n }\n}\n\n@keyframes slideOutBottom {\n 0% {\n margin-bottom: 0;\n }\n\n 100% {\n margin-bottom: -100vh;\n visibility: hidden;\n }\n}\n\n.fade-in {\n animation: fadeIn 1s;\n}\n\n.fade-out {\n animation: fadeOut 1s;\n}\n\n.slide-in--left {\n animation: slideInLeft 0.8s;\n}\n\n.slide-out--left {\n animation: slideOutLeft 0.8s;\n}\n\n.slide-in--up {\n animation: slideInUp 1s;\n}\n\n.slide-out--bottom {\n animation: slideOutBottom 1s;\n}\n","@use \"sass:math\";\n@use \"../abstracts/functions\" as fun;\n\n//===========================================================================\n// Ratios\n//===========================================================================\n\n/// Ratios map\n/// @prop {String} keys - Keys are identifiers mapped to a given ratio\n/// @prop {Map} value - Value is actual ratio\n$ratios: (\n \"minor-second\": 1.067,\n \"major-second\": 1.125,\n \"minor-third\": 1.2,\n \"major-third\": 1.25,\n \"perfect-fourth\": 1.333,\n \"augmented-fourth\": 1.414,\n \"perfect-fifth\": 1.5,\n \"golden-number\": 1.618,\n);\n\n// Cannot declare the following function in partials due to module loop.\n// Also, it will only be used in this file so it is not a problem.\n\n/// Get ratio\n/// @param {String} $name - Ratio name.\n/// @return {Integer} The ratio value.\n@function get-ratio($name) {\n @return map-get($ratios, $name);\n}\n\n//===========================================================================\n// Layout\n//===========================================================================\n\n/// Breakpoints map\n/// @prop {String} keys - Keys are identifiers mapped to a given length\n/// @prop {Map} values - Values are actual breakpoints expressed in pixels\n$breakpoints: (\n \"xs\": fun.convert-px(568, \"em\"),\n \"sm\": fun.convert-px(768, \"em\"),\n \"md\": fun.convert-px(1024, \"em\"),\n \"lg\": fun.convert-px(1200, \"em\"),\n \"xl\": fun.convert-px(1600, \"em\"),\n \"2xl\": fun.convert-px(1920, \"em\"),\n);\n\n//===========================================================================\n// Fonts\n//===========================================================================\n\n/* stylelint-disable -- Fonts name are not keywords, lowercase is not needed. */\n/// Regular font family\n/// @type List\n$font-family_primary: (\"Inter\", \"Liberation Sans\", Arial, sans-serif);\n\n/// Alternative regular font family\n/// @type List\n$font-family_secondary: (\"Kanit\", \"Liberation Sans\", Arial, sans-serif);\n\n$line-height: get-ratio(\"golden-number\");\n\n$font-size_base: 16px;\n$font-size_base-rem: fun.convert-px(16); // font-size_base without unit\n$font-size_ratio: get-ratio(\"minor-third\");\n$font-size_sm: $font-size_base-rem * math.pow($font-size_ratio, -1);\n$font-size_md: $font-size_base-rem * math.pow($font-size_ratio, 0);\n$font-size_lg: $font-size_base-rem * math.pow($font-size_ratio, 1);\n$font-size_xl: $font-size_base-rem * math.pow($font-size_ratio, 2);\n$font-size_2xl: $font-size_base-rem * math.pow($font-size_ratio, 3);\n$font-size_3xl: $font-size_base-rem * math.pow($font-size_ratio, 4);\n\n//============================================================================\n// Spacings\n//============================================================================\n\n$spacing_ratio: get-ratio(\"golden-number\");\n$spacing_base: $spacing_ratio * 1rem;\n\n$spacing_3xs: math.div($spacing_base, 4);\n$spacing_2xs: math.div($spacing_base, 3);\n$spacing_xs: math.div($spacing_base, 2);\n$spacing_sm: math.div($spacing_base, 1.5);\n$spacing_md: $spacing_base;\n$spacing_lg: $spacing_base * 1.5;\n\n//============================================================================\n// Colors\n//============================================================================\n\n$color_black-squeeze: hsl(212, 55%, 97%);\n$color_catskill-white: hsl(212, 53%, 92%);\n$color_link-water: hsl(212, 51%, 87%);\n$color_geyser: hsl(212, 27%, 83%);\n$color_gull-gray: hsl(212, 15%, 66%);\n$color_pale-sky: hsl(212, 13%, 46%);\n$color_nile-blue: hsl(212, 47%, 19%);\n$color_firefly: hsl(212, 45%, 11%);\n$color_chambray: hsl(212, 45%, 40%);\n$color_chathams-blue: hsl(212, 65%, 28%);\n$color_chathams-blue-light: hsl(212, 90%, 30%);\n$color_chathams-blue-light-opacity-25: hsla(212, 90%, 30%, 0.25);\n$color_chathams-blue-dark: hsl(212, 70%, 25%);\n","/// Declare a set of CSS variables properly prefixed.\n///\n/// @see https://dev.to/felipperegazio/css-custom-properties-vars-with-sass-scss-a-practical-architecture-strategy-1m88\n///\n/// @param {List} $variables - A list of variable name and value.\n/// @param {Bool} $root - Set vars at root.\n/// @param {String} $prefix - The variables prefix.\n@mixin set-vars($variables, $root: true, $prefix: \"dap\") {\n @if $root {\n :root {\n @each $name, $value in $variables {\n --#{$prefix}-#{$name}: #{$value};\n }\n }\n } @else {\n @each $name, $value in $variables {\n --#{$prefix}-#{$name}: #{$value};\n }\n }\n}\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/mixins\" as mix;\n@use \"../abstracts/variables\" as var;\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 700;\n src: url(\"../fonts/Kanit/Kanit-Bold.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-Bold.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 700;\n src: url(\"../fonts/Kanit/Kanit-BoldItalic.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-BoldItalic.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 600;\n src: url(\"../fonts/Kanit/Kanit-SemiBold.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-SemiBold.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 600;\n src: url(\"../fonts/Kanit/Kanit-SemiBoldItalic.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-SemiBoldItalic.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 500;\n src: url(\"../fonts/Kanit/Kanit-Medium.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-Medium.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 500;\n src: url(\"../fonts/Kanit/Kanit-MediumItalic.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-MediumItalic.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 400;\n src: url(\"../fonts/Kanit/Kanit-Regular.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-Regular.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 400;\n src: url(\"../fonts/Kanit/Kanit-Italic.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-Italic.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: normal;\n font-weight: 300;\n src: url(\"../fonts/Kanit/Kanit-Light.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-Light.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Kanit;\n font-style: italic;\n font-weight: 300;\n src: url(\"../fonts/Kanit/Kanit-LightItalic.woff2\") format(\"woff2\"),\n url(\"../fonts/Kanit/Kanit-LightItalic.woff\") format(\"woff\");\n}\n\n@font-face {\n font-display: swap;\n font-family: Inter;\n font-style: oblique 0deg 10deg;\n font-weight: 100 900;\n src: url(\"../fonts/Inter/Inter.woff2?v=3.18\") format(\"woff2\");\n}\n\n@include mix.set-vars(\n (\n font-family-primary: #{var.$font-family_primary},\n font-family-secondary: #{var.$font-family_secondary},\n font-size-sm: #{var.$font-size_sm},\n font-size-md: #{var.$font-size_md},\n font-size-lg: #{var.$font-size_lg},\n font-size-xl: #{var.$font-size_xl},\n font-size-2xl: #{var.$font-size_2xl},\n font-size-3xl: #{var.$font-size_3xl},\n line-height: #{var.$line-height},\n )\n);\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/mixins\" as mix;\n\n.hide {\n display: none !important;\n}\n\n/* Text meant only for screen readers. */\n.screen-reader-text {\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n height: fun.convert-px(1);\n overflow: hidden;\n padding: 0;\n position: absolute !important;\n width: fun.convert-px(1);\n word-break: normal;\n word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */\n\n &:focus {\n background: fun.get-var(color-bg);\n border: fun.convert-px(3) solid fun.get-var(color-border);\n box-shadow: 0 0 fun.convert-px(2) fun.convert-px(2)\n fun.get-var(color-shadow-light);\n clip: auto !important;\n color: fun.get-var(color-primary);\n display: block;\n font-size: fun.get-var(font-size-md);\n font-weight: 600;\n height: auto;\n left: 0;\n padding: fun.get-var(spacing-sm) fun.get-var(spacing-md);\n top: 0;\n width: auto;\n z-index: 100000;\n }\n}\n\n@include mix.motion(\"reduce\") {\n * {\n animation: none !important;\n transition: none !important;\n }\n}\n","@use \"../variables\" as var;\n\n/// Media query: media type\n/// @param {String} $type - Media type: all, screen, print, retina.\n/// @example scss - `@media only screen` equivalent is:\n/// @include media(\"screen\");\n@mixin media($type) {\n @if $type == \"retina\" {\n $type: \"(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)\";\n } @else if $type == \"screen\" or $type == \"print\" {\n $type: \"only #{$type}\";\n }\n\n @media #{$type} {\n @content;\n }\n}\n\n/// Media query: min-width / max-width\n/// @param {String} $from - min-width breakpoint.\n/// @param {String} $until - max-width breakpoint.\n/// @example scss - `@media (min-width: \"md\")` equivalent is:\n/// @include dimensions(\"md\");\n@mixin dimensions($from: null, $until: null) {\n $query: \"\";\n\n @if $from {\n @if type-of($from) == \"string\" {\n $size: map-get(var.$breakpoints, $from);\n $query: \"(min-width: #{$size})\";\n } @else {\n @error \"`$from` must be a string.\";\n }\n }\n\n @if $from and $until {\n $query: $query + \" and \";\n }\n\n @if $until {\n @if type-of($until) == \"string\" {\n $size: map-get(var.$breakpoints, $until);\n $size: calc(#{$size} - 1px);\n $query: $query + \"(max-width: #{$size})\";\n } @else {\n @error \"`$until` must be a string.\";\n }\n }\n\n @media #{$query} {\n @content;\n }\n}\n\n/// Media query: prefers-reduced-motion\n/// @param {String} $value - Media query value: `no-preference` or `reduce`.\n/// @example scss - @media (prefers-reduced-motion: \"reduce\") equivalent is:\n/// @include motion(\"reduce\");\n@mixin motion($value) {\n @if $value == \"no-preference\" or $value == \"reduce\" {\n @media (prefers-reduced-motion: #{$value}) {\n @content;\n }\n } @else {\n @error \"Allowed values are `no-preference` and `reduce`.\";\n }\n}\n\n/// Media query: any-pointer\n/// @param {String} $value - Media query value: `fine`, `coarse` or `none`.\n/// @example scss - @media (any-pointer: \"fine\") equivalent is:\n/// @include pointer(\"fine\");\n@mixin pointer($value) {\n @if $value == \"fine\" or $value == \"coarse\" or $value == \"none\" {\n @media (any-pointer: #{$value}) {\n @content;\n }\n } @else {\n @error \"Allowed values are `fine`, `coarse` and `none`.\";\n }\n}\n","@use \"../abstracts/functions\" as fun;\n\n*::selection {\n background: fun.get-var(color-primary-light-opacity);\n}\n\nbody {\n background: fun.get-var(color-bg);\n color: fun.get-var(color-fg);\n font-size: fun.get-var(font-size-md);\n line-height: fun.get-var(line-height);\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nul {\n margin: 0 0 fun.get-var(spacing-sm);\n}\n\na {\n color: fun.get-var(color-primary);\n text-decoration-thickness: fun.convert-px(2);\n text-underline-offset: fun.convert-px(3);\n transition: all 0.3s ease-in-out 0s;\n\n &:hover,\n &:focus {\n color: fun.get-var(color-primary-light);\n text-decoration-color: fun.get-var(color-primary-light);\n text-decoration-thickness: fun.convert-px(4);\n }\n\n &:focus {\n outline: fun.get-var(color-primary) dotted fun.convert-px(1);\n }\n\n &:active {\n color: fun.get-var(color-primary-dark);\n outline: none;\n text-decoration-color: fun.get-var(color-primary-dark);\n text-decoration-thickness: fun.convert-px(2);\n }\n}\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/mixins\" as mix;\n\n.body {\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: minmax(0, 1fr) max-content;\n height: 100vh;\n position: relative;\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n grid-template-columns: 1.5fr 4fr;\n }\n\n @include mix.dimensions(\"xl\") {\n grid-template-columns: 1fr 4fr;\n }\n }\n}\n\n.header {\n grid-column: 1;\n grid-row: 1;\n width: 100%;\n}\n\n.main {\n grid-column: 1;\n grid-row: 1 / -1;\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n grid-column: 2;\n }\n }\n}\n\n.footer {\n grid-column: 1;\n grid-row: 2;\n width: 100%;\n}\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/mixins\" as mix;\n\n.header {\n background: fun.get-var(color-bg-secondary);\n overflow-y: auto;\n padding: fun.get-var(spacing-md)\n clamp(#{fun.get-var(spacing-md)}, 3vw, #{fun.get-var(spacing-lg)});\n scrollbar-color: fun.get-var(color-primary-light-opacity)\n fun.get-var(color-bg-tertiary);\n z-index: 5;\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n box-shadow: 0 -1px 2px 0 fun.get-var(color-shadow);\n }\n }\n}\n\n.branding {\n margin-bottom: clamp(\n #{fun.get-var(spacing-sm)},\n 3vw,\n #{fun.get-var(spacing-md)}\n );\n text-align: center;\n\n &__title {\n font-family: fun.get-var(font-family-secondary);\n font-size: clamp(\n #{fun.get-var(font-size-2xl)},\n 5vw,\n #{fun.get-var(font-size-3xl)}\n );\n font-weight: 500;\n margin: fun.get-var(spacing-xs) 0 fun.get-var(spacing-3xs);\n }\n\n &__link {\n background: linear-gradient(\n to top,\n fun.get-var(color-primary-light) fun.convert-px(5),\n transparent fun.convert-px(5)\n )\n center / 0 100% no-repeat;\n text-decoration: none;\n transition: all 0.5s ease-in-out 0s;\n\n &:hover,\n &:focus {\n background-size: 100% 100%;\n }\n\n &:active {\n background-size: 0 100%;\n }\n }\n\n &__description {\n font-family: fun.get-var(font-family-secondary);\n font-size: clamp(\n #{fun.get-var(font-size-md)},\n 3vw,\n #{fun.get-var(font-size-lg)}\n );\n font-weight: 400;\n letter-spacing: fun.convert-px(1);\n margin: 0;\n text-transform: uppercase;\n }\n}\n\n.logo {\n margin: auto;\n position: relative;\n width: max-content;\n\n &__image {\n backface-visibility: hidden;\n border: fun.convert-px(3) solid fun.get-var(color-border-light);\n border-radius: 50%;\n box-shadow: 0 0 fun.convert-px(6) fun.convert-px(1)\n fun.get-var(color-shadow-darker);\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n\n &--back {\n transform: rotateY(180deg);\n }\n }\n\n &__link {\n display: block;\n height: clamp(#{fun.convert-px(75)}, 15vmin, #{fun.convert-px(90)});\n transform-style: preserve-3d;\n transition: all 0.6s linear 0s;\n width: clamp(#{fun.convert-px(75)}, 15vmin, #{fun.convert-px(90)});\n\n &:hover,\n &:focus {\n outline: none;\n transform: rotateY(180deg);\n }\n\n &:hover &,\n &:focus & {\n &__image {\n &--front {\n transform: none;\n }\n\n &--back {\n transform: rotateY(180deg);\n }\n }\n }\n\n &:focus & {\n &__image {\n box-shadow: 0 0 fun.convert-px(6) fun.convert-px(1)\n fun.get-var(color-shadow-dark),\n 0 0 0 fun.convert-px(5) fun.get-var(color-primary-light-opacity);\n outline: none;\n }\n }\n\n &:active & {\n &__image {\n box-shadow: 0 0 fun.convert-px(6) fun.convert-px(1)\n fun.get-var(color-shadow-dark),\n 0 0 0 fun.convert-px(7) fun.get-var(color-primary-light-opacity);\n }\n }\n }\n\n &:hover & {\n &__link {\n transform: rotateY(180deg);\n }\n }\n}\n","/// List Reset\n%reset-list {\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n li {\n margin-bottom: 0;\n }\n}\n\n/// Ordered List Reset\n%reset-ordered-list {\n @extend %reset-list;\n\n li {\n counter-increment: none;\n display: list-item;\n\n &::before {\n display: none;\n }\n }\n}\n\n/// Display an inline list with flexbox\n%flex-list {\n @extend %reset-list;\n\n display: flex;\n flex-flow: row wrap;\n}\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/mixins\" as mix;\n@use \"../abstracts/placeholders\";\n\n.main {\n display: flex;\n flex-flow: column nowrap;\n height: calc(100% - #{fun.get-var(toolbar-height)});\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n display: grid;\n grid-template-columns: 5fr 2fr;\n }\n\n @include mix.dimensions(\"xl\") {\n grid-template-columns: 4fr 1fr;\n }\n }\n}\n\n// NoScript extension seems to replace noscript tag with a span.\n.main > span,\n.instructions,\nnoscript {\n background: fun.get-var(color-bg);\n margin: 0 auto;\n max-width: 80ch;\n padding: fun.get-var(spacing-md);\n text-align: center;\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n grid-column: 1 / -1;\n }\n }\n}\n\n.instructions,\n.legal-notice {\n > * {\n max-width: 80ch;\n }\n}\n\n.instructions {\n align-items: center;\n display: flex;\n justify-content: center;\n}\n\n.legal-notice {\n height: 100%;\n overflow-y: auto;\n padding: clamp(#{fun.get-var(spacing-md)}, 3vw, #{fun.get-var(spacing-lg)});\n scrollbar-color: fun.get-var(color-primary-light-opacity)\n fun.get-var(color-bg-tertiary);\n width: 100%;\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n grid-column: 1 / -1;\n }\n }\n\n iframe {\n max-width: 100%;\n }\n}\n\n.project-preview {\n background: fun.get-var(color-bg);\n flex: 0 1 100%;\n min-height: 0;\n width: 100%;\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n height: 100%;\n }\n }\n\n iframe {\n border: 0;\n height: 100%;\n width: 100%;\n }\n}\n\n.project-details {\n background: fun.get-var(color-bg-secondary);\n box-shadow: 0 -1px 2px 0 fun.get-var(color-shadow);\n flex: 1 0 100%;\n overflow-y: auto;\n padding: fun.get-var(spacing-md);\n scrollbar-color: fun.get-var(color-primary-light-opacity)\n fun.get-var(color-bg-tertiary);\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n font-size: fun.get-var(font-size-md);\n }\n }\n\n &__description {\n margin-bottom: fun.get-var(spacing-md);\n white-space: pre-wrap;\n }\n\n .list {\n &--tech {\n padding-left: fun.get-var(spacing-sm);\n }\n\n &--repos {\n @extend %flex-list;\n\n gap: fun.get-var(spacing-xs);\n }\n\n &__link {\n background-repeat: no-repeat;\n background-size: contain;\n box-shadow: 0 0 0 0 fun.get-var(color-shadow);\n display: block;\n height: fun.convert-px(50);\n transition: transform 0.3s ease-in-out 0s,\n box-shadow 0.15s ease-in-out 0.15s;\n width: fun.convert-px(50);\n\n &--github {\n background: url(#{fun.encode-svg('')});\n }\n\n &--gitlab {\n background: url(#{fun.encode-svg('')});\n }\n\n &:hover,\n &:focus {\n box-shadow: fun.convert-px(-1) fun.convert-px(1) fun.convert-px(4)\n fun.convert-px(2) fun.get-var(color-shadow-light);\n transform: scale(1.15);\n }\n\n &:active {\n opacity: 1;\n }\n }\n }\n}\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/mixins\" as mix;\n\n.footer {\n align-items: center;\n background: fun.get-var(color-bg-secondary);\n border-top: fun.convert-px(1) solid fun.get-var(color-border-light);\n display: flex;\n flex-flow: row wrap;\n font-family: fun.get-var(font-family-secondary);\n font-size: fun.get-var(font-size-md);\n gap: fun.get-var(spacing-3xs);\n justify-content: center;\n padding: fun.get-var(spacing-sm) fun.get-var(spacing-md)\n calc(#{fun.get-var(toolbar-height)} + #{fun.get-var(spacing-sm)});\n\n @include mix.media(\"screen\") {\n @include mix.dimensions(\"lg\") {\n box-shadow: 0 -1px 2px 0 fun.get-var(color-shadow);\n padding: fun.get-var(spacing-sm) fun.get-var(spacing-md);\n }\n }\n\n .nav {\n display: inline-flex;\n gap: fun.get-var(spacing-3xs);\n\n &::after {\n content: \"/\";\n }\n }\n}\n\n.copyright {\n align-items: center;\n display: flex;\n flex-flow: row wrap;\n gap: fun.get-var(spacing-3xs);\n justify-content: center;\n}\n","@use \"../abstracts/functions\" as fun;\n\n.toolbar {\n align-items: center;\n background: fun.get-var(color-primary);\n bottom: 0;\n box-shadow: 0 -1px 2px 0 fun.get-var(color-shadow-dark);\n color: fun.get-var(color-fg-inverted);\n display: flex;\n flex-flow: row nowrap;\n gap: fun.get-var(spacing-xs);\n height: fun.get-var(toolbar-height);\n justify-content: center;\n left: 0;\n padding: 0 fun.get-var(spacing-sm);\n position: absolute;\n right: 0;\n z-index: 2;\n\n & > &__options {\n background: fun.get-var(color-primary);\n color: fun.get-var(color-fg-inverted);\n font-size: fun.get-var(font-size-sm);\n height: 85%;\n line-height: inherit;\n padding: 0 fun.get-var(spacing-xs);\n\n &:hover,\n &:focus {\n background: fun.get-var(color-bg);\n color: fun.get-var(color-primary);\n }\n }\n}\n","@use \"../abstracts/functions\" as fun;\n@use \"../abstracts/placeholders\";\n\n.nav {\n text-align: center;\n\n &__label {\n font-weight: 600;\n }\n\n &__list {\n @extend %reset-list;\n\n .btn {\n width: 100%;\n }\n }\n\n &:not(&--footer) &__item {\n margin: fun.get-var(spacing-2xs) 0;\n }\n\n &:not(&--footer) &__link {\n background-image: linear-gradient(\n to left,\n #{fun.get-var(color-bg)} 0,\n #{fun.get-var(color-bg)} 50%,\n #{fun.get-var(color-primary)} 50%\n );\n background-position: 100% 0;\n background-size: 200% 100%;\n border: fun.convert-px(3) solid fun.get-var(color-border);\n border-radius: fun.convert-px(50);\n display: block;\n font-weight: 600;\n margin: auto;\n padding: fun.get-var(spacing-3xs);\n position: relative;\n text-decoration: none;\n transition: all 0.4s ease-in-out 0s;\n width: 75%;\n\n &:hover,\n &:focus {\n background-position: 0 0;\n color: fun.get-var(color-fg-inverted);\n }\n\n &:active {\n background-position: 100% 0;\n color: fun.get-var(color-primary-dark);\n text-decoration: fun.convert-px(1) solid underline;\n }\n\n &--selected {\n background: fun.get-var(color-primary-dark);\n box-shadow: inset 0 0 0 4px fun.get-var(color-bg);\n color: fun.get-var(color-fg-inverted);\n\n &:hover,\n &:focus {\n background: fun.get-var(color-primary-light);\n }\n }\n }\n\n .btn {\n margin: auto;\n }\n}\n","@use \"../abstracts/functions\" as fun;\n\n.btn {\n background: fun.get-var(color-bg);\n border: 0;\n color: fun.get-var(color-primary);\n cursor: pointer;\n display: block;\n font-weight: 600;\n\n &:hover,\n &:focus {\n background: fun.get-var(color-primary);\n color: fun.get-var(color-fg-inverted);\n }\n\n &:active {\n background: fun.get-var(color-bg);\n color: fun.get-var(color-primary);\n }\n}\n"],"sourceRoot":""}]); +// Exports +/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/api.js": +/*!*****************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/api.js ***! + \*****************************************************/ +/***/ (function(module) { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +module.exports = function (cssWithMappingToString) { + var list = []; // return the list of modules as css string + + list.toString = function toString() { + return this.map(function (item) { + var content = ""; + var needLayer = typeof item[5] !== "undefined"; + + if (item[4]) { + content += "@supports (".concat(item[4], ") {"); + } + + if (item[2]) { + content += "@media ".concat(item[2], " {"); + } + + if (needLayer) { + content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {"); + } + + content += cssWithMappingToString(item); + + if (needLayer) { + content += "}"; + } + + if (item[2]) { + content += "}"; + } + + if (item[4]) { + content += "}"; + } + + return content; + }).join(""); + }; // import a list of modules into the list + + + list.i = function i(modules, media, dedupe, supports, layer) { + if (typeof modules === "string") { + modules = [[null, modules, undefined]]; + } + + var alreadyImportedModules = {}; + + if (dedupe) { + for (var _i = 0; _i < this.length; _i++) { + var id = this[_i][0]; + + if (id != null) { + alreadyImportedModules[id] = true; + } + } + } + + for (var _i2 = 0; _i2 < modules.length; _i2++) { + var item = [].concat(modules[_i2]); + + if (dedupe && alreadyImportedModules[item[0]]) { + continue; + } + + if (typeof layer !== "undefined") { + if (typeof item[5] === "undefined") { + item[5] = layer; + } else { + item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}"); + item[5] = layer; + } + } + + if (media) { + if (!item[2]) { + item[2] = media; + } else { + item[1] = "@media ".concat(item[2], " {").concat(item[1], "}"); + item[2] = media; + } + } + + if (supports) { + if (!item[4]) { + item[4] = "".concat(supports); + } else { + item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}"); + item[4] = supports; + } + } + + list.push(item); + } + }; + + return list; +}; + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/getUrl.js": +/*!********************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/getUrl.js ***! + \********************************************************/ +/***/ (function(module) { + +"use strict"; + + +module.exports = function (url, options) { + if (!options) { + options = {}; + } + + if (!url) { + return url; + } + + url = String(url.__esModule ? url.default : url); // If url is already wrapped in quotes, remove them + + if (/^['"].*['"]$/.test(url)) { + url = url.slice(1, -1); + } + + if (options.hash) { + url += options.hash; + } // Should url be wrapped? + // See https://drafts.csswg.org/css-values-3/#urls + + + if (/["'() \t\n]|(%20)/.test(url) || options.needQuotes) { + return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, "\\n"), "\""); + } + + return url; +}; + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/sourceMaps.js": +/*!************************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/sourceMaps.js ***! + \************************************************************/ +/***/ (function(module) { + +"use strict"; + + +module.exports = function (item) { + var content = item[1]; + var cssMapping = item[3]; + + if (!cssMapping) { + return content; + } + + if (typeof btoa === "function") { + var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping)))); + var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); + var sourceMapping = "/*# ".concat(data, " */"); + var sourceURLs = cssMapping.sources.map(function (source) { + return "/*# sourceURL=".concat(cssMapping.sourceRoot || "").concat(source, " */"); + }); + return [content].concat(sourceURLs).concat([sourceMapping]).join("\n"); + } + + return [content].join("\n"); +}; + +/***/ }), + +/***/ "./node_modules/events/events.js": +/*!***************************************!*\ + !*** ./node_modules/events/events.js ***! + \***************************************/ +/***/ (function(module) { + +"use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +var R = typeof Reflect === 'object' ? Reflect : null +var ReflectApply = R && typeof R.apply === 'function' + ? R.apply + : function ReflectApply(target, receiver, args) { + return Function.prototype.apply.call(target, receiver, args); + } + +var ReflectOwnKeys +if (R && typeof R.ownKeys === 'function') { + ReflectOwnKeys = R.ownKeys +} else if (Object.getOwnPropertySymbols) { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target) + .concat(Object.getOwnPropertySymbols(target)); + }; +} else { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target); + }; +} + +function ProcessEmitWarning(warning) { + if (console && console.warn) console.warn(warning); +} + +var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) { + return value !== value; +} + +function EventEmitter() { + EventEmitter.init.call(this); +} +module.exports = EventEmitter; +module.exports.once = once; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._eventsCount = 0; +EventEmitter.prototype._maxListeners = undefined; + +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +var defaultMaxListeners = 10; + +function checkListener(listener) { + if (typeof listener !== 'function') { + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener); + } +} + +Object.defineProperty(EventEmitter, 'defaultMaxListeners', { + enumerable: true, + get: function() { + return defaultMaxListeners; + }, + set: function(arg) { + if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { + throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.'); + } + defaultMaxListeners = arg; + } +}); + +EventEmitter.init = function() { + + if (this._events === undefined || + this._events === Object.getPrototypeOf(this)._events) { + this._events = Object.create(null); + this._eventsCount = 0; + } + + this._maxListeners = this._maxListeners || undefined; +}; + +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { + if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { + throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.'); + } + this._maxListeners = n; + return this; +}; + +function _getMaxListeners(that) { + if (that._maxListeners === undefined) + return EventEmitter.defaultMaxListeners; + return that._maxListeners; +} + +EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return _getMaxListeners(this); +}; + +EventEmitter.prototype.emit = function emit(type) { + var args = []; + for (var i = 1; i < arguments.length; i++) args.push(arguments[i]); + var doError = (type === 'error'); + + var events = this._events; + if (events !== undefined) + doError = (doError && events.error === undefined); + else if (!doError) + return false; + + // If there is no 'error' event listener then throw. + if (doError) { + var er; + if (args.length > 0) + er = args[0]; + if (er instanceof Error) { + // Note: The comments on the `throw` lines are intentional, they show + // up in Node's output if this results in an unhandled exception. + throw er; // Unhandled 'error' event + } + // At least give some kind of context to the user + var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : '')); + err.context = er; + throw err; // Unhandled 'error' event + } + + var handler = events[type]; + + if (handler === undefined) + return false; + + if (typeof handler === 'function') { + ReflectApply(handler, this, args); + } else { + var len = handler.length; + var listeners = arrayClone(handler, len); + for (var i = 0; i < len; ++i) + ReflectApply(listeners[i], this, args); + } + + return true; +}; + +function _addListener(target, type, listener, prepend) { + var m; + var events; + var existing; + + checkListener(listener); + + events = target._events; + if (events === undefined) { + events = target._events = Object.create(null); + target._eventsCount = 0; + } else { + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (events.newListener !== undefined) { + target.emit('newListener', type, + listener.listener ? listener.listener : listener); + + // Re-assign `events` because a newListener handler could have caused the + // this._events to be assigned to a new object + events = target._events; + } + existing = events[type]; + } + + if (existing === undefined) { + // Optimize the case of one listener. Don't need the extra array object. + existing = events[type] = listener; + ++target._eventsCount; + } else { + if (typeof existing === 'function') { + // Adding the second element, need to change to array. + existing = events[type] = + prepend ? [listener, existing] : [existing, listener]; + // If we've already got an array, just append. + } else if (prepend) { + existing.unshift(listener); + } else { + existing.push(listener); + } + + // Check for listener leak + m = _getMaxListeners(target); + if (m > 0 && existing.length > m && !existing.warned) { + existing.warned = true; + // No error code for this since it is a Warning + // eslint-disable-next-line no-restricted-syntax + var w = new Error('Possible EventEmitter memory leak detected. ' + + existing.length + ' ' + String(type) + ' listeners ' + + 'added. Use emitter.setMaxListeners() to ' + + 'increase limit'); + w.name = 'MaxListenersExceededWarning'; + w.emitter = target; + w.type = type; + w.count = existing.length; + ProcessEmitWarning(w); + } + } + + return target; +} + +EventEmitter.prototype.addListener = function addListener(type, listener) { + return _addListener(this, type, listener, false); +}; + +EventEmitter.prototype.on = EventEmitter.prototype.addListener; + +EventEmitter.prototype.prependListener = + function prependListener(type, listener) { + return _addListener(this, type, listener, true); + }; + +function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn); + this.fired = true; + if (arguments.length === 0) + return this.listener.call(this.target); + return this.listener.apply(this.target, arguments); + } +} + +function _onceWrap(target, type, listener) { + var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener }; + var wrapped = onceWrapper.bind(state); + wrapped.listener = listener; + state.wrapFn = wrapped; + return wrapped; +} + +EventEmitter.prototype.once = function once(type, listener) { + checkListener(listener); + this.on(type, _onceWrap(this, type, listener)); + return this; +}; + +EventEmitter.prototype.prependOnceListener = + function prependOnceListener(type, listener) { + checkListener(listener); + this.prependListener(type, _onceWrap(this, type, listener)); + return this; + }; + +// Emits a 'removeListener' event if and only if the listener was removed. +EventEmitter.prototype.removeListener = + function removeListener(type, listener) { + var list, events, position, i, originalListener; + + checkListener(listener); + + events = this._events; + if (events === undefined) + return this; + + list = events[type]; + if (list === undefined) + return this; + + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) + this._events = Object.create(null); + else { + delete events[type]; + if (events.removeListener) + this.emit('removeListener', type, list.listener || listener); + } + } else if (typeof list !== 'function') { + position = -1; + + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener; + position = i; + break; + } + } + + if (position < 0) + return this; + + if (position === 0) + list.shift(); + else { + spliceOne(list, position); + } + + if (list.length === 1) + events[type] = list[0]; + + if (events.removeListener !== undefined) + this.emit('removeListener', type, originalListener || listener); + } + + return this; + }; + +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; + +EventEmitter.prototype.removeAllListeners = + function removeAllListeners(type) { + var listeners, events, i; + + events = this._events; + if (events === undefined) + return this; + + // not listening for removeListener, no need to emit + if (events.removeListener === undefined) { + if (arguments.length === 0) { + this._events = Object.create(null); + this._eventsCount = 0; + } else if (events[type] !== undefined) { + if (--this._eventsCount === 0) + this._events = Object.create(null); + else + delete events[type]; + } + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + var keys = Object.keys(events); + var key; + for (i = 0; i < keys.length; ++i) { + key = keys[i]; + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = Object.create(null); + this._eventsCount = 0; + return this; + } + + listeners = events[type]; + + if (typeof listeners === 'function') { + this.removeListener(type, listeners); + } else if (listeners !== undefined) { + // LIFO order + for (i = listeners.length - 1; i >= 0; i--) { + this.removeListener(type, listeners[i]); + } + } + + return this; + }; + +function _listeners(target, type, unwrap) { + var events = target._events; + + if (events === undefined) + return []; + + var evlistener = events[type]; + if (evlistener === undefined) + return []; + + if (typeof evlistener === 'function') + return unwrap ? [evlistener.listener || evlistener] : [evlistener]; + + return unwrap ? + unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length); +} + +EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true); +}; + +EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false); +}; + +EventEmitter.listenerCount = function(emitter, type) { + if (typeof emitter.listenerCount === 'function') { + return emitter.listenerCount(type); + } else { + return listenerCount.call(emitter, type); + } +}; + +EventEmitter.prototype.listenerCount = listenerCount; +function listenerCount(type) { + var events = this._events; + + if (events !== undefined) { + var evlistener = events[type]; + + if (typeof evlistener === 'function') { + return 1; + } else if (evlistener !== undefined) { + return evlistener.length; + } + } + + return 0; +} + +EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : []; +}; + +function arrayClone(arr, n) { + var copy = new Array(n); + for (var i = 0; i < n; ++i) + copy[i] = arr[i]; + return copy; +} + +function spliceOne(list, index) { + for (; index + 1 < list.length; index++) + list[index] = list[index + 1]; + list.pop(); +} + +function unwrapListeners(arr) { + var ret = new Array(arr.length); + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i]; + } + return ret; +} + +function once(emitter, name) { + return new Promise(function (resolve, reject) { + function errorListener(err) { + emitter.removeListener(name, resolver); + reject(err); + } + + function resolver() { + if (typeof emitter.removeListener === 'function') { + emitter.removeListener('error', errorListener); + } + resolve([].slice.call(arguments)); + }; + + eventTargetAgnosticAddListener(emitter, name, resolver, { once: true }); + if (name !== 'error') { + addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true }); + } + }); +} + +function addErrorHandlerIfEventEmitter(emitter, handler, flags) { + if (typeof emitter.on === 'function') { + eventTargetAgnosticAddListener(emitter, 'error', handler, flags); + } +} + +function eventTargetAgnosticAddListener(emitter, name, listener, flags) { + if (typeof emitter.on === 'function') { + if (flags.once) { + emitter.once(name, listener); + } else { + emitter.on(name, listener); + } + } else if (typeof emitter.addEventListener === 'function') { + // EventTarget does not have `error` event semantics like Node + // EventEmitters, we do not listen for `error` events here. + emitter.addEventListener(name, function wrapListener(arg) { + // IE does not have builtin `{ once: true }` support so we + // have to do it manually. + if (flags.once) { + emitter.removeEventListener(name, wrapListener); + } + listener(arg); + }); + } else { + throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof emitter); + } +} + + +/***/ }), + +/***/ "./node_modules/html-entities/lib/index.js": +/*!*************************************************!*\ + !*** ./node_modules/html-entities/lib/index.js ***! + \*************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +Object.defineProperty(exports, "__esModule", ({ value: true })); +var named_references_1 = __webpack_require__(/*! ./named-references */ "./node_modules/html-entities/lib/named-references.js"); +var numeric_unicode_map_1 = __webpack_require__(/*! ./numeric-unicode-map */ "./node_modules/html-entities/lib/numeric-unicode-map.js"); +var surrogate_pairs_1 = __webpack_require__(/*! ./surrogate-pairs */ "./node_modules/html-entities/lib/surrogate-pairs.js"); +var allNamedReferences = __assign(__assign({}, named_references_1.namedReferences), { all: named_references_1.namedReferences.html5 }); +var encodeRegExps = { + specialChars: /[<>'"&]/g, + nonAscii: /(?:[<>'"&\u0080-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g, + nonAsciiPrintable: /(?:[<>'"&\x01-\x08\x11-\x15\x17-\x1F\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g, + extensive: /(?:[\x01-\x0c\x0e-\x1f\x21-\x2c\x2e-\x2f\x3a-\x40\x5b-\x60\x7b-\x7d\x7f-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g +}; +var defaultEncodeOptions = { + mode: 'specialChars', + level: 'all', + numeric: 'decimal' +}; +/** Encodes all the necessary (specified by `level`) characters in the text */ +function encode(text, _a) { + var _b = _a === void 0 ? defaultEncodeOptions : _a, _c = _b.mode, mode = _c === void 0 ? 'specialChars' : _c, _d = _b.numeric, numeric = _d === void 0 ? 'decimal' : _d, _e = _b.level, level = _e === void 0 ? 'all' : _e; + if (!text) { + return ''; + } + var encodeRegExp = encodeRegExps[mode]; + var references = allNamedReferences[level].characters; + var isHex = numeric === 'hexadecimal'; + encodeRegExp.lastIndex = 0; + var _b = encodeRegExp.exec(text); + var _c; + if (_b) { + _c = ''; + var _d = 0; + do { + if (_d !== _b.index) { + _c += text.substring(_d, _b.index); + } + var _e = _b[0]; + var result_1 = references[_e]; + if (!result_1) { + var code_1 = _e.length > 1 ? surrogate_pairs_1.getCodePoint(_e, 0) : _e.charCodeAt(0); + result_1 = (isHex ? '&#x' + code_1.toString(16) : '&#' + code_1) + ';'; + } + _c += result_1; + _d = _b.index + _e.length; + } while ((_b = encodeRegExp.exec(text))); + if (_d !== text.length) { + _c += text.substring(_d); + } + } + else { + _c = + text; + } + return _c; +} +exports.encode = encode; +var defaultDecodeOptions = { + scope: 'body', + level: 'all' +}; +var strict = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);/g; +var attribute = /&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g; +var baseDecodeRegExps = { + xml: { + strict: strict, + attribute: attribute, + body: named_references_1.bodyRegExps.xml + }, + html4: { + strict: strict, + attribute: attribute, + body: named_references_1.bodyRegExps.html4 + }, + html5: { + strict: strict, + attribute: attribute, + body: named_references_1.bodyRegExps.html5 + } +}; +var decodeRegExps = __assign(__assign({}, baseDecodeRegExps), { all: baseDecodeRegExps.html5 }); +var fromCharCode = String.fromCharCode; +var outOfBoundsChar = fromCharCode(65533); +var defaultDecodeEntityOptions = { + level: 'all' +}; +/** Decodes a single entity */ +function decodeEntity(entity, _a) { + var _b = (_a === void 0 ? defaultDecodeEntityOptions : _a).level, level = _b === void 0 ? 'all' : _b; + if (!entity) { + return ''; + } + var _b = entity; + var decodeEntityLastChar_1 = entity[entity.length - 1]; + if (false) {} + else if (false) {} + else { + var decodeResultByReference_1 = allNamedReferences[level].entities[entity]; + if (decodeResultByReference_1) { + _b = decodeResultByReference_1; + } + else if (entity[0] === '&' && entity[1] === '#') { + var decodeSecondChar_1 = entity[2]; + var decodeCode_1 = decodeSecondChar_1 == 'x' || decodeSecondChar_1 == 'X' + ? parseInt(entity.substr(3), 16) + : parseInt(entity.substr(2)); + _b = + decodeCode_1 >= 0x10ffff + ? outOfBoundsChar + : decodeCode_1 > 65535 + ? surrogate_pairs_1.fromCodePoint(decodeCode_1) + : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode_1] || decodeCode_1); + } + } + return _b; +} +exports.decodeEntity = decodeEntity; +/** Decodes all entities in the text */ +function decode(text, _a) { + var decodeSecondChar_1 = _a === void 0 ? defaultDecodeOptions : _a, decodeCode_1 = decodeSecondChar_1.level, level = decodeCode_1 === void 0 ? 'all' : decodeCode_1, _b = decodeSecondChar_1.scope, scope = _b === void 0 ? level === 'xml' ? 'strict' : 'body' : _b; + if (!text) { + return ''; + } + var decodeRegExp = decodeRegExps[level][scope]; + var references = allNamedReferences[level].entities; + var isAttribute = scope === 'attribute'; + var isStrict = scope === 'strict'; + decodeRegExp.lastIndex = 0; + var replaceMatch_1 = decodeRegExp.exec(text); + var replaceResult_1; + if (replaceMatch_1) { + replaceResult_1 = ''; + var replaceLastIndex_1 = 0; + do { + if (replaceLastIndex_1 !== replaceMatch_1.index) { + replaceResult_1 += text.substring(replaceLastIndex_1, replaceMatch_1.index); + } + var replaceInput_1 = replaceMatch_1[0]; + var decodeResult_1 = replaceInput_1; + var decodeEntityLastChar_2 = replaceInput_1[replaceInput_1.length - 1]; + if (isAttribute + && decodeEntityLastChar_2 === '=') { + decodeResult_1 = replaceInput_1; + } + else if (isStrict + && decodeEntityLastChar_2 !== ';') { + decodeResult_1 = replaceInput_1; + } + else { + var decodeResultByReference_2 = references[replaceInput_1]; + if (decodeResultByReference_2) { + decodeResult_1 = decodeResultByReference_2; + } + else if (replaceInput_1[0] === '&' && replaceInput_1[1] === '#') { + var decodeSecondChar_2 = replaceInput_1[2]; + var decodeCode_2 = decodeSecondChar_2 == 'x' || decodeSecondChar_2 == 'X' + ? parseInt(replaceInput_1.substr(3), 16) + : parseInt(replaceInput_1.substr(2)); + decodeResult_1 = + decodeCode_2 >= 0x10ffff + ? outOfBoundsChar + : decodeCode_2 > 65535 + ? surrogate_pairs_1.fromCodePoint(decodeCode_2) + : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode_2] || decodeCode_2); + } + } + replaceResult_1 += decodeResult_1; + replaceLastIndex_1 = replaceMatch_1.index + replaceInput_1.length; + } while ((replaceMatch_1 = decodeRegExp.exec(text))); + if (replaceLastIndex_1 !== text.length) { + replaceResult_1 += text.substring(replaceLastIndex_1); + } + } + else { + replaceResult_1 = + text; + } + return replaceResult_1; +} +exports.decode = decode; + + +/***/ }), + +/***/ "./node_modules/html-entities/lib/named-references.js": +/*!************************************************************!*\ + !*** ./node_modules/html-entities/lib/named-references.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +Object.defineProperty(exports, "__esModule", ({value:true}));exports.bodyRegExps={xml:/&(?:#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html4:/&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g,html5:/&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\d+|#[xX][\da-fA-F]+|[0-9a-zA-Z]+);?/g};exports.namedReferences={xml:{entities:{"<":"<",">":">",""":'"',"'":"'","&":"&"},characters:{"<":"<",">":">",'"':""","'":"'","&":"&"}},html4:{entities:{"'":"'"," ":" "," ":" ","¡":"¡","¡":"¡","¢":"¢","¢":"¢","£":"£","£":"£","¤":"¤","¤":"¤","¥":"¥","¥":"¥","¦":"¦","¦":"¦","§":"§","§":"§","¨":"¨","¨":"¨","©":"©","©":"©","ª":"ª","ª":"ª","«":"«","«":"«","¬":"¬","¬":"¬","­":"­","­":"­","®":"®","®":"®","¯":"¯","¯":"¯","°":"°","°":"°","±":"±","±":"±","²":"²","²":"²","³":"³","³":"³","´":"´","´":"´","µ":"µ","µ":"µ","¶":"¶","¶":"¶","·":"·","·":"·","¸":"¸","¸":"¸","¹":"¹","¹":"¹","º":"º","º":"º","»":"»","»":"»","¼":"¼","¼":"¼","½":"½","½":"½","¾":"¾","¾":"¾","¿":"¿","¿":"¿","À":"À","À":"À","Á":"Á","Á":"Á","Â":"Â","Â":"Â","Ã":"Ã","Ã":"Ã","Ä":"Ä","Ä":"Ä","Å":"Å","Å":"Å","Æ":"Æ","Æ":"Æ","Ç":"Ç","Ç":"Ç","È":"È","È":"È","É":"É","É":"É","Ê":"Ê","Ê":"Ê","Ë":"Ë","Ë":"Ë","Ì":"Ì","Ì":"Ì","Í":"Í","Í":"Í","Î":"Î","Î":"Î","Ï":"Ï","Ï":"Ï","Ð":"Ð","Ð":"Ð","Ñ":"Ñ","Ñ":"Ñ","Ò":"Ò","Ò":"Ò","Ó":"Ó","Ó":"Ó","Ô":"Ô","Ô":"Ô","Õ":"Õ","Õ":"Õ","Ö":"Ö","Ö":"Ö","×":"×","×":"×","Ø":"Ø","Ø":"Ø","Ù":"Ù","Ù":"Ù","Ú":"Ú","Ú":"Ú","Û":"Û","Û":"Û","Ü":"Ü","Ü":"Ü","Ý":"Ý","Ý":"Ý","Þ":"Þ","Þ":"Þ","ß":"ß","ß":"ß","à":"à","à":"à","á":"á","á":"á","â":"â","â":"â","ã":"ã","ã":"ã","ä":"ä","ä":"ä","å":"å","å":"å","æ":"æ","æ":"æ","ç":"ç","ç":"ç","è":"è","è":"è","é":"é","é":"é","ê":"ê","ê":"ê","ë":"ë","ë":"ë","ì":"ì","ì":"ì","í":"í","í":"í","î":"î","î":"î","ï":"ï","ï":"ï","ð":"ð","ð":"ð","ñ":"ñ","ñ":"ñ","ò":"ò","ò":"ò","ó":"ó","ó":"ó","ô":"ô","ô":"ô","õ":"õ","õ":"õ","ö":"ö","ö":"ö","÷":"÷","÷":"÷","ø":"ø","ø":"ø","ù":"ù","ù":"ù","ú":"ú","ú":"ú","û":"û","û":"û","ü":"ü","ü":"ü","ý":"ý","ý":"ý","þ":"þ","þ":"þ","ÿ":"ÿ","ÿ":"ÿ",""":'"',""":'"',"&":"&","&":"&","<":"<","<":"<",">":">",">":">","Œ":"Œ","œ":"œ","Š":"Š","š":"š","Ÿ":"Ÿ","ˆ":"ˆ","˜":"˜"," ":" "," ":" "," ":" ","‌":"‌","‍":"‍","‎":"‎","‏":"‏","–":"–","—":"—","‘":"‘","’":"’","‚":"‚","“":"“","”":"”","„":"„","†":"†","‡":"‡","‰":"‰","‹":"‹","›":"›","€":"€","ƒ":"ƒ","Α":"Α","Β":"Β","Γ":"Γ","Δ":"Δ","Ε":"Ε","Ζ":"Ζ","Η":"Η","Θ":"Θ","Ι":"Ι","Κ":"Κ","Λ":"Λ","Μ":"Μ","Ν":"Ν","Ξ":"Ξ","Ο":"Ο","Π":"Π","Ρ":"Ρ","Σ":"Σ","Τ":"Τ","Υ":"Υ","Φ":"Φ","Χ":"Χ","Ψ":"Ψ","Ω":"Ω","α":"α","β":"β","γ":"γ","δ":"δ","ε":"ε","ζ":"ζ","η":"η","θ":"θ","ι":"ι","κ":"κ","λ":"λ","μ":"μ","ν":"ν","ξ":"ξ","ο":"ο","π":"π","ρ":"ρ","ς":"ς","σ":"σ","τ":"τ","υ":"υ","φ":"φ","χ":"χ","ψ":"ψ","ω":"ω","ϑ":"ϑ","ϒ":"ϒ","ϖ":"ϖ","•":"•","…":"…","′":"′","″":"″","‾":"‾","⁄":"⁄","℘":"℘","ℑ":"ℑ","ℜ":"ℜ","™":"™","ℵ":"ℵ","←":"←","↑":"↑","→":"→","↓":"↓","↔":"↔","↵":"↵","⇐":"⇐","⇑":"⇑","⇒":"⇒","⇓":"⇓","⇔":"⇔","∀":"∀","∂":"∂","∃":"∃","∅":"∅","∇":"∇","∈":"∈","∉":"∉","∋":"∋","∏":"∏","∑":"∑","−":"−","∗":"∗","√":"√","∝":"∝","∞":"∞","∠":"∠","∧":"∧","∨":"∨","∩":"∩","∪":"∪","∫":"∫","∴":"∴","∼":"∼","≅":"≅","≈":"≈","≠":"≠","≡":"≡","≤":"≤","≥":"≥","⊂":"⊂","⊃":"⊃","⊄":"⊄","⊆":"⊆","⊇":"⊇","⊕":"⊕","⊗":"⊗","⊥":"⊥","⋅":"⋅","⌈":"⌈","⌉":"⌉","⌊":"⌊","⌋":"⌋","⟨":"〈","⟩":"〉","◊":"◊","♠":"♠","♣":"♣","♥":"♥","♦":"♦"},characters:{"'":"'"," ":" ","¡":"¡","¢":"¢","£":"£","¤":"¤","¥":"¥","¦":"¦","§":"§","¨":"¨","©":"©","ª":"ª","«":"«","¬":"¬","­":"­","®":"®","¯":"¯","°":"°","±":"±","²":"²","³":"³","´":"´","µ":"µ","¶":"¶","·":"·","¸":"¸","¹":"¹","º":"º","»":"»","¼":"¼","½":"½","¾":"¾","¿":"¿","À":"À","Á":"Á","Â":"Â","Ã":"Ã","Ä":"Ä","Å":"Å","Æ":"Æ","Ç":"Ç","È":"È","É":"É","Ê":"Ê","Ë":"Ë","Ì":"Ì","Í":"Í","Î":"Î","Ï":"Ï","Ð":"Ð","Ñ":"Ñ","Ò":"Ò","Ó":"Ó","Ô":"Ô","Õ":"Õ","Ö":"Ö","×":"×","Ø":"Ø","Ù":"Ù","Ú":"Ú","Û":"Û","Ü":"Ü","Ý":"Ý","Þ":"Þ","ß":"ß","à":"à","á":"á","â":"â","ã":"ã","ä":"ä","å":"å","æ":"æ","ç":"ç","è":"è","é":"é","ê":"ê","ë":"ë","ì":"ì","í":"í","î":"î","ï":"ï","ð":"ð","ñ":"ñ","ò":"ò","ó":"ó","ô":"ô","õ":"õ","ö":"ö","÷":"÷","ø":"ø","ù":"ù","ú":"ú","û":"û","ü":"ü","ý":"ý","þ":"þ","ÿ":"ÿ",'"':""","&":"&","<":"<",">":">","Œ":"Œ","œ":"œ","Š":"Š","š":"š","Ÿ":"Ÿ","ˆ":"ˆ","˜":"˜"," ":" "," ":" "," ":" ","‌":"‌","‍":"‍","‎":"‎","‏":"‏","–":"–","—":"—","‘":"‘","’":"’","‚":"‚","“":"“","”":"”","„":"„","†":"†","‡":"‡","‰":"‰","‹":"‹","›":"›","€":"€","ƒ":"ƒ","Α":"Α","Β":"Β","Γ":"Γ","Δ":"Δ","Ε":"Ε","Ζ":"Ζ","Η":"Η","Θ":"Θ","Ι":"Ι","Κ":"Κ","Λ":"Λ","Μ":"Μ","Ν":"Ν","Ξ":"Ξ","Ο":"Ο","Π":"Π","Ρ":"Ρ","Σ":"Σ","Τ":"Τ","Υ":"Υ","Φ":"Φ","Χ":"Χ","Ψ":"Ψ","Ω":"Ω","α":"α","β":"β","γ":"γ","δ":"δ","ε":"ε","ζ":"ζ","η":"η","θ":"θ","ι":"ι","κ":"κ","λ":"λ","μ":"μ","ν":"ν","ξ":"ξ","ο":"ο","π":"π","ρ":"ρ","ς":"ς","σ":"σ","τ":"τ","υ":"υ","φ":"φ","χ":"χ","ψ":"ψ","ω":"ω","ϑ":"ϑ","ϒ":"ϒ","ϖ":"ϖ","•":"•","…":"…","′":"′","″":"″","‾":"‾","⁄":"⁄","℘":"℘","ℑ":"ℑ","ℜ":"ℜ","™":"™","ℵ":"ℵ","←":"←","↑":"↑","→":"→","↓":"↓","↔":"↔","↵":"↵","⇐":"⇐","⇑":"⇑","⇒":"⇒","⇓":"⇓","⇔":"⇔","∀":"∀","∂":"∂","∃":"∃","∅":"∅","∇":"∇","∈":"∈","∉":"∉","∋":"∋","∏":"∏","∑":"∑","−":"−","∗":"∗","√":"√","∝":"∝","∞":"∞","∠":"∠","∧":"∧","∨":"∨","∩":"∩","∪":"∪","∫":"∫","∴":"∴","∼":"∼","≅":"≅","≈":"≈","≠":"≠","≡":"≡","≤":"≤","≥":"≥","⊂":"⊂","⊃":"⊃","⊄":"⊄","⊆":"⊆","⊇":"⊇","⊕":"⊕","⊗":"⊗","⊥":"⊥","⋅":"⋅","⌈":"⌈","⌉":"⌉","⌊":"⌊","⌋":"⌋","〈":"⟨","〉":"⟩","◊":"◊","♠":"♠","♣":"♣","♥":"♥","♦":"♦"}},html5:{entities:{"Æ":"Æ","Æ":"Æ","&":"&","&":"&","Á":"Á","Á":"Á","Ă":"Ă","Â":"Â","Â":"Â","А":"А","𝔄":"𝔄","À":"À","À":"À","Α":"Α","Ā":"Ā","⩓":"⩓","Ą":"Ą","𝔸":"𝔸","⁡":"⁡","Å":"Å","Å":"Å","𝒜":"𝒜","≔":"≔","Ã":"Ã","Ã":"Ã","Ä":"Ä","Ä":"Ä","∖":"∖","⫧":"⫧","⌆":"⌆","Б":"Б","∵":"∵","ℬ":"ℬ","Β":"Β","𝔅":"𝔅","𝔹":"𝔹","˘":"˘","ℬ":"ℬ","≎":"≎","Ч":"Ч","©":"©","©":"©","Ć":"Ć","⋒":"⋒","ⅅ":"ⅅ","ℭ":"ℭ","Č":"Č","Ç":"Ç","Ç":"Ç","Ĉ":"Ĉ","∰":"∰","Ċ":"Ċ","¸":"¸","·":"·","ℭ":"ℭ","Χ":"Χ","⊙":"⊙","⊖":"⊖","⊕":"⊕","⊗":"⊗","∲":"∲","”":"”","’":"’","∷":"∷","⩴":"⩴","≡":"≡","∯":"∯","∮":"∮","ℂ":"ℂ","∐":"∐","∳":"∳","⨯":"⨯","𝒞":"𝒞","⋓":"⋓","≍":"≍","ⅅ":"ⅅ","⤑":"⤑","Ђ":"Ђ","Ѕ":"Ѕ","Џ":"Џ","‡":"‡","↡":"↡","⫤":"⫤","Ď":"Ď","Д":"Д","∇":"∇","Δ":"Δ","𝔇":"𝔇","´":"´","˙":"˙","˝":"˝","`":"`","˜":"˜","⋄":"⋄","ⅆ":"ⅆ","𝔻":"𝔻","¨":"¨","⃜":"⃜","≐":"≐","∯":"∯","¨":"¨","⇓":"⇓","⇐":"⇐","⇔":"⇔","⫤":"⫤","⟸":"⟸","⟺":"⟺","⟹":"⟹","⇒":"⇒","⊨":"⊨","⇑":"⇑","⇕":"⇕","∥":"∥","↓":"↓","⤓":"⤓","⇵":"⇵","̑":"̑","⥐":"⥐","⥞":"⥞","↽":"↽","⥖":"⥖","⥟":"⥟","⇁":"⇁","⥗":"⥗","⊤":"⊤","↧":"↧","⇓":"⇓","𝒟":"𝒟","Đ":"Đ","Ŋ":"Ŋ","Ð":"Ð","Ð":"Ð","É":"É","É":"É","Ě":"Ě","Ê":"Ê","Ê":"Ê","Э":"Э","Ė":"Ė","𝔈":"𝔈","È":"È","È":"È","∈":"∈","Ē":"Ē","◻":"◻","▫":"▫","Ę":"Ę","𝔼":"𝔼","Ε":"Ε","⩵":"⩵","≂":"≂","⇌":"⇌","ℰ":"ℰ","⩳":"⩳","Η":"Η","Ë":"Ë","Ë":"Ë","∃":"∃","ⅇ":"ⅇ","Ф":"Ф","𝔉":"𝔉","◼":"◼","▪":"▪","𝔽":"𝔽","∀":"∀","ℱ":"ℱ","ℱ":"ℱ","Ѓ":"Ѓ",">":">",">":">","Γ":"Γ","Ϝ":"Ϝ","Ğ":"Ğ","Ģ":"Ģ","Ĝ":"Ĝ","Г":"Г","Ġ":"Ġ","𝔊":"𝔊","⋙":"⋙","𝔾":"𝔾","≥":"≥","⋛":"⋛","≧":"≧","⪢":"⪢","≷":"≷","⩾":"⩾","≳":"≳","𝒢":"𝒢","≫":"≫","Ъ":"Ъ","ˇ":"ˇ","^":"^","Ĥ":"Ĥ","ℌ":"ℌ","ℋ":"ℋ","ℍ":"ℍ","─":"─","ℋ":"ℋ","Ħ":"Ħ","≎":"≎","≏":"≏","Е":"Е","IJ":"IJ","Ё":"Ё","Í":"Í","Í":"Í","Î":"Î","Î":"Î","И":"И","İ":"İ","ℑ":"ℑ","Ì":"Ì","Ì":"Ì","ℑ":"ℑ","Ī":"Ī","ⅈ":"ⅈ","⇒":"⇒","∬":"∬","∫":"∫","⋂":"⋂","⁣":"⁣","⁢":"⁢","Į":"Į","𝕀":"𝕀","Ι":"Ι","ℐ":"ℐ","Ĩ":"Ĩ","І":"І","Ï":"Ï","Ï":"Ï","Ĵ":"Ĵ","Й":"Й","𝔍":"𝔍","𝕁":"𝕁","𝒥":"𝒥","Ј":"Ј","Є":"Є","Х":"Х","Ќ":"Ќ","Κ":"Κ","Ķ":"Ķ","К":"К","𝔎":"𝔎","𝕂":"𝕂","𝒦":"𝒦","Љ":"Љ","<":"<","<":"<","Ĺ":"Ĺ","Λ":"Λ","⟪":"⟪","ℒ":"ℒ","↞":"↞","Ľ":"Ľ","Ļ":"Ļ","Л":"Л","⟨":"⟨","←":"←","⇤":"⇤","⇆":"⇆","⌈":"⌈","⟦":"⟦","⥡":"⥡","⇃":"⇃","⥙":"⥙","⌊":"⌊","↔":"↔","⥎":"⥎","⊣":"⊣","↤":"↤","⥚":"⥚","⊲":"⊲","⧏":"⧏","⊴":"⊴","⥑":"⥑","⥠":"⥠","↿":"↿","⥘":"⥘","↼":"↼","⥒":"⥒","⇐":"⇐","⇔":"⇔","⋚":"⋚","≦":"≦","≶":"≶","⪡":"⪡","⩽":"⩽","≲":"≲","𝔏":"𝔏","⋘":"⋘","⇚":"⇚","Ŀ":"Ŀ","⟵":"⟵","⟷":"⟷","⟶":"⟶","⟸":"⟸","⟺":"⟺","⟹":"⟹","𝕃":"𝕃","↙":"↙","↘":"↘","ℒ":"ℒ","↰":"↰","Ł":"Ł","≪":"≪","⤅":"⤅","М":"М"," ":" ","ℳ":"ℳ","𝔐":"𝔐","∓":"∓","𝕄":"𝕄","ℳ":"ℳ","Μ":"Μ","Њ":"Њ","Ń":"Ń","Ň":"Ň","Ņ":"Ņ","Н":"Н","​":"​","​":"​","​":"​","​":"​","≫":"≫","≪":"≪"," ":"\n","𝔑":"𝔑","⁠":"⁠"," ":" ","ℕ":"ℕ","⫬":"⫬","≢":"≢","≭":"≭","∦":"∦","∉":"∉","≠":"≠","≂̸":"≂̸","∄":"∄","≯":"≯","≱":"≱","≧̸":"≧̸","≫̸":"≫̸","≹":"≹","⩾̸":"⩾̸","≵":"≵","≎̸":"≎̸","≏̸":"≏̸","⋪":"⋪","⧏̸":"⧏̸","⋬":"⋬","≮":"≮","≰":"≰","≸":"≸","≪̸":"≪̸","⩽̸":"⩽̸","≴":"≴","⪢̸":"⪢̸","⪡̸":"⪡̸","⊀":"⊀","⪯̸":"⪯̸","⋠":"⋠","∌":"∌","⋫":"⋫","⧐̸":"⧐̸","⋭":"⋭","⊏̸":"⊏̸","⋢":"⋢","⊐̸":"⊐̸","⋣":"⋣","⊂⃒":"⊂⃒","⊈":"⊈","⊁":"⊁","⪰̸":"⪰̸","⋡":"⋡","≿̸":"≿̸","⊃⃒":"⊃⃒","⊉":"⊉","≁":"≁","≄":"≄","≇":"≇","≉":"≉","∤":"∤","𝒩":"𝒩","Ñ":"Ñ","Ñ":"Ñ","Ν":"Ν","Œ":"Œ","Ó":"Ó","Ó":"Ó","Ô":"Ô","Ô":"Ô","О":"О","Ő":"Ő","𝔒":"𝔒","Ò":"Ò","Ò":"Ò","Ō":"Ō","Ω":"Ω","Ο":"Ο","𝕆":"𝕆","“":"“","‘":"‘","⩔":"⩔","𝒪":"𝒪","Ø":"Ø","Ø":"Ø","Õ":"Õ","Õ":"Õ","⨷":"⨷","Ö":"Ö","Ö":"Ö","‾":"‾","⏞":"⏞","⎴":"⎴","⏜":"⏜","∂":"∂","П":"П","𝔓":"𝔓","Φ":"Φ","Π":"Π","±":"±","ℌ":"ℌ","ℙ":"ℙ","⪻":"⪻","≺":"≺","⪯":"⪯","≼":"≼","≾":"≾","″":"″","∏":"∏","∷":"∷","∝":"∝","𝒫":"𝒫","Ψ":"Ψ",""":'"',""":'"',"𝔔":"𝔔","ℚ":"ℚ","𝒬":"𝒬","⤐":"⤐","®":"®","®":"®","Ŕ":"Ŕ","⟫":"⟫","↠":"↠","⤖":"⤖","Ř":"Ř","Ŗ":"Ŗ","Р":"Р","ℜ":"ℜ","∋":"∋","⇋":"⇋","⥯":"⥯","ℜ":"ℜ","Ρ":"Ρ","⟩":"⟩","→":"→","⇥":"⇥","⇄":"⇄","⌉":"⌉","⟧":"⟧","⥝":"⥝","⇂":"⇂","⥕":"⥕","⌋":"⌋","⊢":"⊢","↦":"↦","⥛":"⥛","⊳":"⊳","⧐":"⧐","⊵":"⊵","⥏":"⥏","⥜":"⥜","↾":"↾","⥔":"⥔","⇀":"⇀","⥓":"⥓","⇒":"⇒","ℝ":"ℝ","⥰":"⥰","⇛":"⇛","ℛ":"ℛ","↱":"↱","⧴":"⧴","Щ":"Щ","Ш":"Ш","Ь":"Ь","Ś":"Ś","⪼":"⪼","Š":"Š","Ş":"Ş","Ŝ":"Ŝ","С":"С","𝔖":"𝔖","↓":"↓","←":"←","→":"→","↑":"↑","Σ":"Σ","∘":"∘","𝕊":"𝕊","√":"√","□":"□","⊓":"⊓","⊏":"⊏","⊑":"⊑","⊐":"⊐","⊒":"⊒","⊔":"⊔","𝒮":"𝒮","⋆":"⋆","⋐":"⋐","⋐":"⋐","⊆":"⊆","≻":"≻","⪰":"⪰","≽":"≽","≿":"≿","∋":"∋","∑":"∑","⋑":"⋑","⊃":"⊃","⊇":"⊇","⋑":"⋑","Þ":"Þ","Þ":"Þ","™":"™","Ћ":"Ћ","Ц":"Ц"," ":"\t","Τ":"Τ","Ť":"Ť","Ţ":"Ţ","Т":"Т","𝔗":"𝔗","∴":"∴","Θ":"Θ","  ":"  "," ":" ","∼":"∼","≃":"≃","≅":"≅","≈":"≈","𝕋":"𝕋","⃛":"⃛","𝒯":"𝒯","Ŧ":"Ŧ","Ú":"Ú","Ú":"Ú","↟":"↟","⥉":"⥉","Ў":"Ў","Ŭ":"Ŭ","Û":"Û","Û":"Û","У":"У","Ű":"Ű","𝔘":"𝔘","Ù":"Ù","Ù":"Ù","Ū":"Ū","_":"_","⏟":"⏟","⎵":"⎵","⏝":"⏝","⋃":"⋃","⊎":"⊎","Ų":"Ų","𝕌":"𝕌","↑":"↑","⤒":"⤒","⇅":"⇅","↕":"↕","⥮":"⥮","⊥":"⊥","↥":"↥","⇑":"⇑","⇕":"⇕","↖":"↖","↗":"↗","ϒ":"ϒ","Υ":"Υ","Ů":"Ů","𝒰":"𝒰","Ũ":"Ũ","Ü":"Ü","Ü":"Ü","⊫":"⊫","⫫":"⫫","В":"В","⊩":"⊩","⫦":"⫦","⋁":"⋁","‖":"‖","‖":"‖","∣":"∣","|":"|","❘":"❘","≀":"≀"," ":" ","𝔙":"𝔙","𝕍":"𝕍","𝒱":"𝒱","⊪":"⊪","Ŵ":"Ŵ","⋀":"⋀","𝔚":"𝔚","𝕎":"𝕎","𝒲":"𝒲","𝔛":"𝔛","Ξ":"Ξ","𝕏":"𝕏","𝒳":"𝒳","Я":"Я","Ї":"Ї","Ю":"Ю","Ý":"Ý","Ý":"Ý","Ŷ":"Ŷ","Ы":"Ы","𝔜":"𝔜","𝕐":"𝕐","𝒴":"𝒴","Ÿ":"Ÿ","Ж":"Ж","Ź":"Ź","Ž":"Ž","З":"З","Ż":"Ż","​":"​","Ζ":"Ζ","ℨ":"ℨ","ℤ":"ℤ","𝒵":"𝒵","á":"á","á":"á","ă":"ă","∾":"∾","∾̳":"∾̳","∿":"∿","â":"â","â":"â","´":"´","´":"´","а":"а","æ":"æ","æ":"æ","⁡":"⁡","𝔞":"𝔞","à":"à","à":"à","ℵ":"ℵ","ℵ":"ℵ","α":"α","ā":"ā","⨿":"⨿","&":"&","&":"&","∧":"∧","⩕":"⩕","⩜":"⩜","⩘":"⩘","⩚":"⩚","∠":"∠","⦤":"⦤","∠":"∠","∡":"∡","⦨":"⦨","⦩":"⦩","⦪":"⦪","⦫":"⦫","⦬":"⦬","⦭":"⦭","⦮":"⦮","⦯":"⦯","∟":"∟","⊾":"⊾","⦝":"⦝","∢":"∢","Å":"Å","⍼":"⍼","ą":"ą","𝕒":"𝕒","≈":"≈","⩰":"⩰","⩯":"⩯","≊":"≊","≋":"≋","'":"'","≈":"≈","≊":"≊","å":"å","å":"å","𝒶":"𝒶","*":"*","≈":"≈","≍":"≍","ã":"ã","ã":"ã","ä":"ä","ä":"ä","∳":"∳","⨑":"⨑","⫭":"⫭","≌":"≌","϶":"϶","‵":"‵","∽":"∽","⋍":"⋍","⊽":"⊽","⌅":"⌅","⌅":"⌅","⎵":"⎵","⎶":"⎶","≌":"≌","б":"б","„":"„","∵":"∵","∵":"∵","⦰":"⦰","϶":"϶","ℬ":"ℬ","β":"β","ℶ":"ℶ","≬":"≬","𝔟":"𝔟","⋂":"⋂","◯":"◯","⋃":"⋃","⨀":"⨀","⨁":"⨁","⨂":"⨂","⨆":"⨆","★":"★","▽":"▽","△":"△","⨄":"⨄","⋁":"⋁","⋀":"⋀","⤍":"⤍","⧫":"⧫","▪":"▪","▴":"▴","▾":"▾","◂":"◂","▸":"▸","␣":"␣","▒":"▒","░":"░","▓":"▓","█":"█","=⃥":"=⃥","≡⃥":"≡⃥","⌐":"⌐","𝕓":"𝕓","⊥":"⊥","⊥":"⊥","⋈":"⋈","╗":"╗","╔":"╔","╖":"╖","╓":"╓","═":"═","╦":"╦","╩":"╩","╤":"╤","╧":"╧","╝":"╝","╚":"╚","╜":"╜","╙":"╙","║":"║","╬":"╬","╣":"╣","╠":"╠","╫":"╫","╢":"╢","╟":"╟","⧉":"⧉","╕":"╕","╒":"╒","┐":"┐","┌":"┌","─":"─","╥":"╥","╨":"╨","┬":"┬","┴":"┴","⊟":"⊟","⊞":"⊞","⊠":"⊠","╛":"╛","╘":"╘","┘":"┘","└":"└","│":"│","╪":"╪","╡":"╡","╞":"╞","┼":"┼","┤":"┤","├":"├","‵":"‵","˘":"˘","¦":"¦","¦":"¦","𝒷":"𝒷","⁏":"⁏","∽":"∽","⋍":"⋍","\":"\\","⧅":"⧅","⟈":"⟈","•":"•","•":"•","≎":"≎","⪮":"⪮","≏":"≏","≏":"≏","ć":"ć","∩":"∩","⩄":"⩄","⩉":"⩉","⩋":"⩋","⩇":"⩇","⩀":"⩀","∩︀":"∩︀","⁁":"⁁","ˇ":"ˇ","⩍":"⩍","č":"č","ç":"ç","ç":"ç","ĉ":"ĉ","⩌":"⩌","⩐":"⩐","ċ":"ċ","¸":"¸","¸":"¸","⦲":"⦲","¢":"¢","¢":"¢","·":"·","𝔠":"𝔠","ч":"ч","✓":"✓","✓":"✓","χ":"χ","○":"○","⧃":"⧃","ˆ":"ˆ","≗":"≗","↺":"↺","↻":"↻","®":"®","Ⓢ":"Ⓢ","⊛":"⊛","⊚":"⊚","⊝":"⊝","≗":"≗","⨐":"⨐","⫯":"⫯","⧂":"⧂","♣":"♣","♣":"♣",":":":","≔":"≔","≔":"≔",",":",","@":"@","∁":"∁","∘":"∘","∁":"∁","ℂ":"ℂ","≅":"≅","⩭":"⩭","∮":"∮","𝕔":"𝕔","∐":"∐","©":"©","©":"©","℗":"℗","↵":"↵","✗":"✗","𝒸":"𝒸","⫏":"⫏","⫑":"⫑","⫐":"⫐","⫒":"⫒","⋯":"⋯","⤸":"⤸","⤵":"⤵","⋞":"⋞","⋟":"⋟","↶":"↶","⤽":"⤽","∪":"∪","⩈":"⩈","⩆":"⩆","⩊":"⩊","⊍":"⊍","⩅":"⩅","∪︀":"∪︀","↷":"↷","⤼":"⤼","⋞":"⋞","⋟":"⋟","⋎":"⋎","⋏":"⋏","¤":"¤","¤":"¤","↶":"↶","↷":"↷","⋎":"⋎","⋏":"⋏","∲":"∲","∱":"∱","⌭":"⌭","⇓":"⇓","⥥":"⥥","†":"†","ℸ":"ℸ","↓":"↓","‐":"‐","⊣":"⊣","⤏":"⤏","˝":"˝","ď":"ď","д":"д","ⅆ":"ⅆ","‡":"‡","⇊":"⇊","⩷":"⩷","°":"°","°":"°","δ":"δ","⦱":"⦱","⥿":"⥿","𝔡":"𝔡","⇃":"⇃","⇂":"⇂","⋄":"⋄","⋄":"⋄","♦":"♦","♦":"♦","¨":"¨","ϝ":"ϝ","⋲":"⋲","÷":"÷","÷":"÷","÷":"÷","⋇":"⋇","⋇":"⋇","ђ":"ђ","⌞":"⌞","⌍":"⌍","$":"$","𝕕":"𝕕","˙":"˙","≐":"≐","≑":"≑","∸":"∸","∔":"∔","⊡":"⊡","⌆":"⌆","↓":"↓","⇊":"⇊","⇃":"⇃","⇂":"⇂","⤐":"⤐","⌟":"⌟","⌌":"⌌","𝒹":"𝒹","ѕ":"ѕ","⧶":"⧶","đ":"đ","⋱":"⋱","▿":"▿","▾":"▾","⇵":"⇵","⥯":"⥯","⦦":"⦦","џ":"џ","⟿":"⟿","⩷":"⩷","≑":"≑","é":"é","é":"é","⩮":"⩮","ě":"ě","≖":"≖","ê":"ê","ê":"ê","≕":"≕","э":"э","ė":"ė","ⅇ":"ⅇ","≒":"≒","𝔢":"𝔢","⪚":"⪚","è":"è","è":"è","⪖":"⪖","⪘":"⪘","⪙":"⪙","⏧":"⏧","ℓ":"ℓ","⪕":"⪕","⪗":"⪗","ē":"ē","∅":"∅","∅":"∅","∅":"∅"," ":" "," ":" "," ":" ","ŋ":"ŋ"," ":" ","ę":"ę","𝕖":"𝕖","⋕":"⋕","⧣":"⧣","⩱":"⩱","ε":"ε","ε":"ε","ϵ":"ϵ","≖":"≖","≕":"≕","≂":"≂","⪖":"⪖","⪕":"⪕","=":"=","≟":"≟","≡":"≡","⩸":"⩸","⧥":"⧥","≓":"≓","⥱":"⥱","ℯ":"ℯ","≐":"≐","≂":"≂","η":"η","ð":"ð","ð":"ð","ë":"ë","ë":"ë","€":"€","!":"!","∃":"∃","ℰ":"ℰ","ⅇ":"ⅇ","≒":"≒","ф":"ф","♀":"♀","ffi":"ffi","ff":"ff","ffl":"ffl","𝔣":"𝔣","fi":"fi","fj":"fj","♭":"♭","fl":"fl","▱":"▱","ƒ":"ƒ","𝕗":"𝕗","∀":"∀","⋔":"⋔","⫙":"⫙","⨍":"⨍","½":"½","½":"½","⅓":"⅓","¼":"¼","¼":"¼","⅕":"⅕","⅙":"⅙","⅛":"⅛","⅔":"⅔","⅖":"⅖","¾":"¾","¾":"¾","⅗":"⅗","⅜":"⅜","⅘":"⅘","⅚":"⅚","⅝":"⅝","⅞":"⅞","⁄":"⁄","⌢":"⌢","𝒻":"𝒻","≧":"≧","⪌":"⪌","ǵ":"ǵ","γ":"γ","ϝ":"ϝ","⪆":"⪆","ğ":"ğ","ĝ":"ĝ","г":"г","ġ":"ġ","≥":"≥","⋛":"⋛","≥":"≥","≧":"≧","⩾":"⩾","⩾":"⩾","⪩":"⪩","⪀":"⪀","⪂":"⪂","⪄":"⪄","⋛︀":"⋛︀","⪔":"⪔","𝔤":"𝔤","≫":"≫","⋙":"⋙","ℷ":"ℷ","ѓ":"ѓ","≷":"≷","⪒":"⪒","⪥":"⪥","⪤":"⪤","≩":"≩","⪊":"⪊","⪊":"⪊","⪈":"⪈","⪈":"⪈","≩":"≩","⋧":"⋧","𝕘":"𝕘","`":"`","ℊ":"ℊ","≳":"≳","⪎":"⪎","⪐":"⪐",">":">",">":">","⪧":"⪧","⩺":"⩺","⋗":"⋗","⦕":"⦕","⩼":"⩼","⪆":"⪆","⥸":"⥸","⋗":"⋗","⋛":"⋛","⪌":"⪌","≷":"≷","≳":"≳","≩︀":"≩︀","≩︀":"≩︀","⇔":"⇔"," ":" ","½":"½","ℋ":"ℋ","ъ":"ъ","↔":"↔","⥈":"⥈","↭":"↭","ℏ":"ℏ","ĥ":"ĥ","♥":"♥","♥":"♥","…":"…","⊹":"⊹","𝔥":"𝔥","⤥":"⤥","⤦":"⤦","⇿":"⇿","∻":"∻","↩":"↩","↪":"↪","𝕙":"𝕙","―":"―","𝒽":"𝒽","ℏ":"ℏ","ħ":"ħ","⁃":"⁃","‐":"‐","í":"í","í":"í","⁣":"⁣","î":"î","î":"î","и":"и","е":"е","¡":"¡","¡":"¡","⇔":"⇔","𝔦":"𝔦","ì":"ì","ì":"ì","ⅈ":"ⅈ","⨌":"⨌","∭":"∭","⧜":"⧜","℩":"℩","ij":"ij","ī":"ī","ℑ":"ℑ","ℐ":"ℐ","ℑ":"ℑ","ı":"ı","⊷":"⊷","Ƶ":"Ƶ","∈":"∈","℅":"℅","∞":"∞","⧝":"⧝","ı":"ı","∫":"∫","⊺":"⊺","ℤ":"ℤ","⊺":"⊺","⨗":"⨗","⨼":"⨼","ё":"ё","į":"į","𝕚":"𝕚","ι":"ι","⨼":"⨼","¿":"¿","¿":"¿","𝒾":"𝒾","∈":"∈","⋹":"⋹","⋵":"⋵","⋴":"⋴","⋳":"⋳","∈":"∈","⁢":"⁢","ĩ":"ĩ","і":"і","ï":"ï","ï":"ï","ĵ":"ĵ","й":"й","𝔧":"𝔧","ȷ":"ȷ","𝕛":"𝕛","𝒿":"𝒿","ј":"ј","є":"є","κ":"κ","ϰ":"ϰ","ķ":"ķ","к":"к","𝔨":"𝔨","ĸ":"ĸ","х":"х","ќ":"ќ","𝕜":"𝕜","𝓀":"𝓀","⇚":"⇚","⇐":"⇐","⤛":"⤛","⤎":"⤎","≦":"≦","⪋":"⪋","⥢":"⥢","ĺ":"ĺ","⦴":"⦴","ℒ":"ℒ","λ":"λ","⟨":"⟨","⦑":"⦑","⟨":"⟨","⪅":"⪅","«":"«","«":"«","←":"←","⇤":"⇤","⤟":"⤟","⤝":"⤝","↩":"↩","↫":"↫","⤹":"⤹","⥳":"⥳","↢":"↢","⪫":"⪫","⤙":"⤙","⪭":"⪭","⪭︀":"⪭︀","⤌":"⤌","❲":"❲","{":"{","[":"[","⦋":"⦋","⦏":"⦏","⦍":"⦍","ľ":"ľ","ļ":"ļ","⌈":"⌈","{":"{","л":"л","⤶":"⤶","“":"“","„":"„","⥧":"⥧","⥋":"⥋","↲":"↲","≤":"≤","←":"←","↢":"↢","↽":"↽","↼":"↼","⇇":"⇇","↔":"↔","⇆":"⇆","⇋":"⇋","↭":"↭","⋋":"⋋","⋚":"⋚","≤":"≤","≦":"≦","⩽":"⩽","⩽":"⩽","⪨":"⪨","⩿":"⩿","⪁":"⪁","⪃":"⪃","⋚︀":"⋚︀","⪓":"⪓","⪅":"⪅","⋖":"⋖","⋚":"⋚","⪋":"⪋","≶":"≶","≲":"≲","⥼":"⥼","⌊":"⌊","𝔩":"𝔩","≶":"≶","⪑":"⪑","↽":"↽","↼":"↼","⥪":"⥪","▄":"▄","љ":"љ","≪":"≪","⇇":"⇇","⌞":"⌞","⥫":"⥫","◺":"◺","ŀ":"ŀ","⎰":"⎰","⎰":"⎰","≨":"≨","⪉":"⪉","⪉":"⪉","⪇":"⪇","⪇":"⪇","≨":"≨","⋦":"⋦","⟬":"⟬","⇽":"⇽","⟦":"⟦","⟵":"⟵","⟷":"⟷","⟼":"⟼","⟶":"⟶","↫":"↫","↬":"↬","⦅":"⦅","𝕝":"𝕝","⨭":"⨭","⨴":"⨴","∗":"∗","_":"_","◊":"◊","◊":"◊","⧫":"⧫","(":"(","⦓":"⦓","⇆":"⇆","⌟":"⌟","⇋":"⇋","⥭":"⥭","‎":"‎","⊿":"⊿","‹":"‹","𝓁":"𝓁","↰":"↰","≲":"≲","⪍":"⪍","⪏":"⪏","[":"[","‘":"‘","‚":"‚","ł":"ł","<":"<","<":"<","⪦":"⪦","⩹":"⩹","⋖":"⋖","⋋":"⋋","⋉":"⋉","⥶":"⥶","⩻":"⩻","⦖":"⦖","◃":"◃","⊴":"⊴","◂":"◂","⥊":"⥊","⥦":"⥦","≨︀":"≨︀","≨︀":"≨︀","∺":"∺","¯":"¯","¯":"¯","♂":"♂","✠":"✠","✠":"✠","↦":"↦","↦":"↦","↧":"↧","↤":"↤","↥":"↥","▮":"▮","⨩":"⨩","м":"м","—":"—","∡":"∡","𝔪":"𝔪","℧":"℧","µ":"µ","µ":"µ","∣":"∣","*":"*","⫰":"⫰","·":"·","·":"·","−":"−","⊟":"⊟","∸":"∸","⨪":"⨪","⫛":"⫛","…":"…","∓":"∓","⊧":"⊧","𝕞":"𝕞","∓":"∓","𝓂":"𝓂","∾":"∾","μ":"μ","⊸":"⊸","⊸":"⊸","⋙̸":"⋙̸","≫⃒":"≫⃒","≫̸":"≫̸","⇍":"⇍","⇎":"⇎","⋘̸":"⋘̸","≪⃒":"≪⃒","≪̸":"≪̸","⇏":"⇏","⊯":"⊯","⊮":"⊮","∇":"∇","ń":"ń","∠⃒":"∠⃒","≉":"≉","⩰̸":"⩰̸","≋̸":"≋̸","ʼn":"ʼn","≉":"≉","♮":"♮","♮":"♮","ℕ":"ℕ"," ":" "," ":" ","≎̸":"≎̸","≏̸":"≏̸","⩃":"⩃","ň":"ň","ņ":"ņ","≇":"≇","⩭̸":"⩭̸","⩂":"⩂","н":"н","–":"–","≠":"≠","⇗":"⇗","⤤":"⤤","↗":"↗","↗":"↗","≐̸":"≐̸","≢":"≢","⤨":"⤨","≂̸":"≂̸","∄":"∄","∄":"∄","𝔫":"𝔫","≧̸":"≧̸","≱":"≱","≱":"≱","≧̸":"≧̸","⩾̸":"⩾̸","⩾̸":"⩾̸","≵":"≵","≯":"≯","≯":"≯","⇎":"⇎","↮":"↮","⫲":"⫲","∋":"∋","⋼":"⋼","⋺":"⋺","∋":"∋","њ":"њ","⇍":"⇍","≦̸":"≦̸","↚":"↚","‥":"‥","≰":"≰","↚":"↚","↮":"↮","≰":"≰","≦̸":"≦̸","⩽̸":"⩽̸","⩽̸":"⩽̸","≮":"≮","≴":"≴","≮":"≮","⋪":"⋪","⋬":"⋬","∤":"∤","𝕟":"𝕟","¬":"¬","¬":"¬","∉":"∉","⋹̸":"⋹̸","⋵̸":"⋵̸","∉":"∉","⋷":"⋷","⋶":"⋶","∌":"∌","∌":"∌","⋾":"⋾","⋽":"⋽","∦":"∦","∦":"∦","⫽⃥":"⫽⃥","∂̸":"∂̸","⨔":"⨔","⊀":"⊀","⋠":"⋠","⪯̸":"⪯̸","⊀":"⊀","⪯̸":"⪯̸","⇏":"⇏","↛":"↛","⤳̸":"⤳̸","↝̸":"↝̸","↛":"↛","⋫":"⋫","⋭":"⋭","⊁":"⊁","⋡":"⋡","⪰̸":"⪰̸","𝓃":"𝓃","∤":"∤","∦":"∦","≁":"≁","≄":"≄","≄":"≄","∤":"∤","∦":"∦","⋢":"⋢","⋣":"⋣","⊄":"⊄","⫅̸":"⫅̸","⊈":"⊈","⊂⃒":"⊂⃒","⊈":"⊈","⫅̸":"⫅̸","⊁":"⊁","⪰̸":"⪰̸","⊅":"⊅","⫆̸":"⫆̸","⊉":"⊉","⊃⃒":"⊃⃒","⊉":"⊉","⫆̸":"⫆̸","≹":"≹","ñ":"ñ","ñ":"ñ","≸":"≸","⋪":"⋪","⋬":"⋬","⋫":"⋫","⋭":"⋭","ν":"ν","#":"#","№":"№"," ":" ","⊭":"⊭","⤄":"⤄","≍⃒":"≍⃒","⊬":"⊬","≥⃒":"≥⃒",">⃒":">⃒","⧞":"⧞","⤂":"⤂","≤⃒":"≤⃒","<⃒":"<⃒","⊴⃒":"⊴⃒","⤃":"⤃","⊵⃒":"⊵⃒","∼⃒":"∼⃒","⇖":"⇖","⤣":"⤣","↖":"↖","↖":"↖","⤧":"⤧","Ⓢ":"Ⓢ","ó":"ó","ó":"ó","⊛":"⊛","⊚":"⊚","ô":"ô","ô":"ô","о":"о","⊝":"⊝","ő":"ő","⨸":"⨸","⊙":"⊙","⦼":"⦼","œ":"œ","⦿":"⦿","𝔬":"𝔬","˛":"˛","ò":"ò","ò":"ò","⧁":"⧁","⦵":"⦵","Ω":"Ω","∮":"∮","↺":"↺","⦾":"⦾","⦻":"⦻","‾":"‾","⧀":"⧀","ō":"ō","ω":"ω","ο":"ο","⦶":"⦶","⊖":"⊖","𝕠":"𝕠","⦷":"⦷","⦹":"⦹","⊕":"⊕","∨":"∨","↻":"↻","⩝":"⩝","ℴ":"ℴ","ℴ":"ℴ","ª":"ª","ª":"ª","º":"º","º":"º","⊶":"⊶","⩖":"⩖","⩗":"⩗","⩛":"⩛","ℴ":"ℴ","ø":"ø","ø":"ø","⊘":"⊘","õ":"õ","õ":"õ","⊗":"⊗","⨶":"⨶","ö":"ö","ö":"ö","⌽":"⌽","∥":"∥","¶":"¶","¶":"¶","∥":"∥","⫳":"⫳","⫽":"⫽","∂":"∂","п":"п","%":"%",".":".","‰":"‰","⊥":"⊥","‱":"‱","𝔭":"𝔭","φ":"φ","ϕ":"ϕ","ℳ":"ℳ","☎":"☎","π":"π","⋔":"⋔","ϖ":"ϖ","ℏ":"ℏ","ℎ":"ℎ","ℏ":"ℏ","+":"+","⨣":"⨣","⊞":"⊞","⨢":"⨢","∔":"∔","⨥":"⨥","⩲":"⩲","±":"±","±":"±","⨦":"⨦","⨧":"⨧","±":"±","⨕":"⨕","𝕡":"𝕡","£":"£","£":"£","≺":"≺","⪳":"⪳","⪷":"⪷","≼":"≼","⪯":"⪯","≺":"≺","⪷":"⪷","≼":"≼","⪯":"⪯","⪹":"⪹","⪵":"⪵","⋨":"⋨","≾":"≾","′":"′","ℙ":"ℙ","⪵":"⪵","⪹":"⪹","⋨":"⋨","∏":"∏","⌮":"⌮","⌒":"⌒","⌓":"⌓","∝":"∝","∝":"∝","≾":"≾","⊰":"⊰","𝓅":"𝓅","ψ":"ψ"," ":" ","𝔮":"𝔮","⨌":"⨌","𝕢":"𝕢","⁗":"⁗","𝓆":"𝓆","ℍ":"ℍ","⨖":"⨖","?":"?","≟":"≟",""":'"',""":'"',"⇛":"⇛","⇒":"⇒","⤜":"⤜","⤏":"⤏","⥤":"⥤","∽̱":"∽̱","ŕ":"ŕ","√":"√","⦳":"⦳","⟩":"⟩","⦒":"⦒","⦥":"⦥","⟩":"⟩","»":"»","»":"»","→":"→","⥵":"⥵","⇥":"⇥","⤠":"⤠","⤳":"⤳","⤞":"⤞","↪":"↪","↬":"↬","⥅":"⥅","⥴":"⥴","↣":"↣","↝":"↝","⤚":"⤚","∶":"∶","ℚ":"ℚ","⤍":"⤍","❳":"❳","}":"}","]":"]","⦌":"⦌","⦎":"⦎","⦐":"⦐","ř":"ř","ŗ":"ŗ","⌉":"⌉","}":"}","р":"р","⤷":"⤷","⥩":"⥩","”":"”","”":"”","↳":"↳","ℜ":"ℜ","ℛ":"ℛ","ℜ":"ℜ","ℝ":"ℝ","▭":"▭","®":"®","®":"®","⥽":"⥽","⌋":"⌋","𝔯":"𝔯","⇁":"⇁","⇀":"⇀","⥬":"⥬","ρ":"ρ","ϱ":"ϱ","→":"→","↣":"↣","⇁":"⇁","⇀":"⇀","⇄":"⇄","⇌":"⇌","⇉":"⇉","↝":"↝","⋌":"⋌","˚":"˚","≓":"≓","⇄":"⇄","⇌":"⇌","‏":"‏","⎱":"⎱","⎱":"⎱","⫮":"⫮","⟭":"⟭","⇾":"⇾","⟧":"⟧","⦆":"⦆","𝕣":"𝕣","⨮":"⨮","⨵":"⨵",")":")","⦔":"⦔","⨒":"⨒","⇉":"⇉","›":"›","𝓇":"𝓇","↱":"↱","]":"]","’":"’","’":"’","⋌":"⋌","⋊":"⋊","▹":"▹","⊵":"⊵","▸":"▸","⧎":"⧎","⥨":"⥨","℞":"℞","ś":"ś","‚":"‚","≻":"≻","⪴":"⪴","⪸":"⪸","š":"š","≽":"≽","⪰":"⪰","ş":"ş","ŝ":"ŝ","⪶":"⪶","⪺":"⪺","⋩":"⋩","⨓":"⨓","≿":"≿","с":"с","⋅":"⋅","⊡":"⊡","⩦":"⩦","⇘":"⇘","⤥":"⤥","↘":"↘","↘":"↘","§":"§","§":"§",";":";","⤩":"⤩","∖":"∖","∖":"∖","✶":"✶","𝔰":"𝔰","⌢":"⌢","♯":"♯","щ":"щ","ш":"ш","∣":"∣","∥":"∥","­":"­","­":"­","σ":"σ","ς":"ς","ς":"ς","∼":"∼","⩪":"⩪","≃":"≃","≃":"≃","⪞":"⪞","⪠":"⪠","⪝":"⪝","⪟":"⪟","≆":"≆","⨤":"⨤","⥲":"⥲","←":"←","∖":"∖","⨳":"⨳","⧤":"⧤","∣":"∣","⌣":"⌣","⪪":"⪪","⪬":"⪬","⪬︀":"⪬︀","ь":"ь","/":"/","⧄":"⧄","⌿":"⌿","𝕤":"𝕤","♠":"♠","♠":"♠","∥":"∥","⊓":"⊓","⊓︀":"⊓︀","⊔":"⊔","⊔︀":"⊔︀","⊏":"⊏","⊑":"⊑","⊏":"⊏","⊑":"⊑","⊐":"⊐","⊒":"⊒","⊐":"⊐","⊒":"⊒","□":"□","□":"□","▪":"▪","▪":"▪","→":"→","𝓈":"𝓈","∖":"∖","⌣":"⌣","⋆":"⋆","☆":"☆","★":"★","ϵ":"ϵ","ϕ":"ϕ","¯":"¯","⊂":"⊂","⫅":"⫅","⪽":"⪽","⊆":"⊆","⫃":"⫃","⫁":"⫁","⫋":"⫋","⊊":"⊊","⪿":"⪿","⥹":"⥹","⊂":"⊂","⊆":"⊆","⫅":"⫅","⊊":"⊊","⫋":"⫋","⫇":"⫇","⫕":"⫕","⫓":"⫓","≻":"≻","⪸":"⪸","≽":"≽","⪰":"⪰","⪺":"⪺","⪶":"⪶","⋩":"⋩","≿":"≿","∑":"∑","♪":"♪","¹":"¹","¹":"¹","²":"²","²":"²","³":"³","³":"³","⊃":"⊃","⫆":"⫆","⪾":"⪾","⫘":"⫘","⊇":"⊇","⫄":"⫄","⟉":"⟉","⫗":"⫗","⥻":"⥻","⫂":"⫂","⫌":"⫌","⊋":"⊋","⫀":"⫀","⊃":"⊃","⊇":"⊇","⫆":"⫆","⊋":"⊋","⫌":"⫌","⫈":"⫈","⫔":"⫔","⫖":"⫖","⇙":"⇙","⤦":"⤦","↙":"↙","↙":"↙","⤪":"⤪","ß":"ß","ß":"ß","⌖":"⌖","τ":"τ","⎴":"⎴","ť":"ť","ţ":"ţ","т":"т","⃛":"⃛","⌕":"⌕","𝔱":"𝔱","∴":"∴","∴":"∴","θ":"θ","ϑ":"ϑ","ϑ":"ϑ","≈":"≈","∼":"∼"," ":" ","≈":"≈","∼":"∼","þ":"þ","þ":"þ","˜":"˜","×":"×","×":"×","⊠":"⊠","⨱":"⨱","⨰":"⨰","∭":"∭","⤨":"⤨","⊤":"⊤","⌶":"⌶","⫱":"⫱","𝕥":"𝕥","⫚":"⫚","⤩":"⤩","‴":"‴","™":"™","▵":"▵","▿":"▿","◃":"◃","⊴":"⊴","≜":"≜","▹":"▹","⊵":"⊵","◬":"◬","≜":"≜","⨺":"⨺","⨹":"⨹","⧍":"⧍","⨻":"⨻","⏢":"⏢","𝓉":"𝓉","ц":"ц","ћ":"ћ","ŧ":"ŧ","≬":"≬","↞":"↞","↠":"↠","⇑":"⇑","⥣":"⥣","ú":"ú","ú":"ú","↑":"↑","ў":"ў","ŭ":"ŭ","û":"û","û":"û","у":"у","⇅":"⇅","ű":"ű","⥮":"⥮","⥾":"⥾","𝔲":"𝔲","ù":"ù","ù":"ù","↿":"↿","↾":"↾","▀":"▀","⌜":"⌜","⌜":"⌜","⌏":"⌏","◸":"◸","ū":"ū","¨":"¨","¨":"¨","ų":"ų","𝕦":"𝕦","↑":"↑","↕":"↕","↿":"↿","↾":"↾","⊎":"⊎","υ":"υ","ϒ":"ϒ","υ":"υ","⇈":"⇈","⌝":"⌝","⌝":"⌝","⌎":"⌎","ů":"ů","◹":"◹","𝓊":"𝓊","⋰":"⋰","ũ":"ũ","▵":"▵","▴":"▴","⇈":"⇈","ü":"ü","ü":"ü","⦧":"⦧","⇕":"⇕","⫨":"⫨","⫩":"⫩","⊨":"⊨","⦜":"⦜","ϵ":"ϵ","ϰ":"ϰ","∅":"∅","ϕ":"ϕ","ϖ":"ϖ","∝":"∝","↕":"↕","ϱ":"ϱ","ς":"ς","⊊︀":"⊊︀","⫋︀":"⫋︀","⊋︀":"⊋︀","⫌︀":"⫌︀","ϑ":"ϑ","⊲":"⊲","⊳":"⊳","в":"в","⊢":"⊢","∨":"∨","⊻":"⊻","≚":"≚","⋮":"⋮","|":"|","|":"|","𝔳":"𝔳","⊲":"⊲","⊂⃒":"⊂⃒","⊃⃒":"⊃⃒","𝕧":"𝕧","∝":"∝","⊳":"⊳","𝓋":"𝓋","⫋︀":"⫋︀","⊊︀":"⊊︀","⫌︀":"⫌︀","⊋︀":"⊋︀","⦚":"⦚","ŵ":"ŵ","⩟":"⩟","∧":"∧","≙":"≙","℘":"℘","𝔴":"𝔴","𝕨":"𝕨","℘":"℘","≀":"≀","≀":"≀","𝓌":"𝓌","⋂":"⋂","◯":"◯","⋃":"⋃","▽":"▽","𝔵":"𝔵","⟺":"⟺","⟷":"⟷","ξ":"ξ","⟸":"⟸","⟵":"⟵","⟼":"⟼","⋻":"⋻","⨀":"⨀","𝕩":"𝕩","⨁":"⨁","⨂":"⨂","⟹":"⟹","⟶":"⟶","𝓍":"𝓍","⨆":"⨆","⨄":"⨄","△":"△","⋁":"⋁","⋀":"⋀","ý":"ý","ý":"ý","я":"я","ŷ":"ŷ","ы":"ы","¥":"¥","¥":"¥","𝔶":"𝔶","ї":"ї","𝕪":"𝕪","𝓎":"𝓎","ю":"ю","ÿ":"ÿ","ÿ":"ÿ","ź":"ź","ž":"ž","з":"з","ż":"ż","ℨ":"ℨ","ζ":"ζ","𝔷":"𝔷","ж":"ж","⇝":"⇝","𝕫":"𝕫","𝓏":"𝓏","‍":"‍","‌":"‌"},characters:{"Æ":"Æ","&":"&","Á":"Á","Ă":"Ă","Â":"Â","А":"А","𝔄":"𝔄","À":"À","Α":"Α","Ā":"Ā","⩓":"⩓","Ą":"Ą","𝔸":"𝔸","⁡":"⁡","Å":"Å","𝒜":"𝒜","≔":"≔","Ã":"Ã","Ä":"Ä","∖":"∖","⫧":"⫧","⌆":"⌆","Б":"Б","∵":"∵","ℬ":"ℬ","Β":"Β","𝔅":"𝔅","𝔹":"𝔹","˘":"˘","≎":"≎","Ч":"Ч","©":"©","Ć":"Ć","⋒":"⋒","ⅅ":"ⅅ","ℭ":"ℭ","Č":"Č","Ç":"Ç","Ĉ":"Ĉ","∰":"∰","Ċ":"Ċ","¸":"¸","·":"·","Χ":"Χ","⊙":"⊙","⊖":"⊖","⊕":"⊕","⊗":"⊗","∲":"∲","”":"”","’":"’","∷":"∷","⩴":"⩴","≡":"≡","∯":"∯","∮":"∮","ℂ":"ℂ","∐":"∐","∳":"∳","⨯":"⨯","𝒞":"𝒞","⋓":"⋓","≍":"≍","⤑":"⤑","Ђ":"Ђ","Ѕ":"Ѕ","Џ":"Џ","‡":"‡","↡":"↡","⫤":"⫤","Ď":"Ď","Д":"Д","∇":"∇","Δ":"Δ","𝔇":"𝔇","´":"´","˙":"˙","˝":"˝","`":"`","˜":"˜","⋄":"⋄","ⅆ":"ⅆ","𝔻":"𝔻","¨":"¨","⃜":"⃜","≐":"≐","⇓":"⇓","⇐":"⇐","⇔":"⇔","⟸":"⟸","⟺":"⟺","⟹":"⟹","⇒":"⇒","⊨":"⊨","⇑":"⇑","⇕":"⇕","∥":"∥","↓":"↓","⤓":"⤓","⇵":"⇵","̑":"̑","⥐":"⥐","⥞":"⥞","↽":"↽","⥖":"⥖","⥟":"⥟","⇁":"⇁","⥗":"⥗","⊤":"⊤","↧":"↧","𝒟":"𝒟","Đ":"Đ","Ŋ":"Ŋ","Ð":"Ð","É":"É","Ě":"Ě","Ê":"Ê","Э":"Э","Ė":"Ė","𝔈":"𝔈","È":"È","∈":"∈","Ē":"Ē","◻":"◻","▫":"▫","Ę":"Ę","𝔼":"𝔼","Ε":"Ε","⩵":"⩵","≂":"≂","⇌":"⇌","ℰ":"ℰ","⩳":"⩳","Η":"Η","Ë":"Ë","∃":"∃","ⅇ":"ⅇ","Ф":"Ф","𝔉":"𝔉","◼":"◼","▪":"▪","𝔽":"𝔽","∀":"∀","ℱ":"ℱ","Ѓ":"Ѓ",">":">","Γ":"Γ","Ϝ":"Ϝ","Ğ":"Ğ","Ģ":"Ģ","Ĝ":"Ĝ","Г":"Г","Ġ":"Ġ","𝔊":"𝔊","⋙":"⋙","𝔾":"𝔾","≥":"≥","⋛":"⋛","≧":"≧","⪢":"⪢","≷":"≷","⩾":"⩾","≳":"≳","𝒢":"𝒢","≫":"≫","Ъ":"Ъ","ˇ":"ˇ","^":"^","Ĥ":"Ĥ","ℌ":"ℌ","ℋ":"ℋ","ℍ":"ℍ","─":"─","Ħ":"Ħ","≏":"≏","Е":"Е","IJ":"IJ","Ё":"Ё","Í":"Í","Î":"Î","И":"И","İ":"İ","ℑ":"ℑ","Ì":"Ì","Ī":"Ī","ⅈ":"ⅈ","∬":"∬","∫":"∫","⋂":"⋂","⁣":"⁣","⁢":"⁢","Į":"Į","𝕀":"𝕀","Ι":"Ι","ℐ":"ℐ","Ĩ":"Ĩ","І":"І","Ï":"Ï","Ĵ":"Ĵ","Й":"Й","𝔍":"𝔍","𝕁":"𝕁","𝒥":"𝒥","Ј":"Ј","Є":"Є","Х":"Х","Ќ":"Ќ","Κ":"Κ","Ķ":"Ķ","К":"К","𝔎":"𝔎","𝕂":"𝕂","𝒦":"𝒦","Љ":"Љ","<":"<","Ĺ":"Ĺ","Λ":"Λ","⟪":"⟪","ℒ":"ℒ","↞":"↞","Ľ":"Ľ","Ļ":"Ļ","Л":"Л","⟨":"⟨","←":"←","⇤":"⇤","⇆":"⇆","⌈":"⌈","⟦":"⟦","⥡":"⥡","⇃":"⇃","⥙":"⥙","⌊":"⌊","↔":"↔","⥎":"⥎","⊣":"⊣","↤":"↤","⥚":"⥚","⊲":"⊲","⧏":"⧏","⊴":"⊴","⥑":"⥑","⥠":"⥠","↿":"↿","⥘":"⥘","↼":"↼","⥒":"⥒","⋚":"⋚","≦":"≦","≶":"≶","⪡":"⪡","⩽":"⩽","≲":"≲","𝔏":"𝔏","⋘":"⋘","⇚":"⇚","Ŀ":"Ŀ","⟵":"⟵","⟷":"⟷","⟶":"⟶","𝕃":"𝕃","↙":"↙","↘":"↘","↰":"↰","Ł":"Ł","≪":"≪","⤅":"⤅","М":"М"," ":" ","ℳ":"ℳ","𝔐":"𝔐","∓":"∓","𝕄":"𝕄","Μ":"Μ","Њ":"Њ","Ń":"Ń","Ň":"Ň","Ņ":"Ņ","Н":"Н","​":"​","\n":" ","𝔑":"𝔑","⁠":"⁠"," ":" ","ℕ":"ℕ","⫬":"⫬","≢":"≢","≭":"≭","∦":"∦","∉":"∉","≠":"≠","≂̸":"≂̸","∄":"∄","≯":"≯","≱":"≱","≧̸":"≧̸","≫̸":"≫̸","≹":"≹","⩾̸":"⩾̸","≵":"≵","≎̸":"≎̸","≏̸":"≏̸","⋪":"⋪","⧏̸":"⧏̸","⋬":"⋬","≮":"≮","≰":"≰","≸":"≸","≪̸":"≪̸","⩽̸":"⩽̸","≴":"≴","⪢̸":"⪢̸","⪡̸":"⪡̸","⊀":"⊀","⪯̸":"⪯̸","⋠":"⋠","∌":"∌","⋫":"⋫","⧐̸":"⧐̸","⋭":"⋭","⊏̸":"⊏̸","⋢":"⋢","⊐̸":"⊐̸","⋣":"⋣","⊂⃒":"⊂⃒","⊈":"⊈","⊁":"⊁","⪰̸":"⪰̸","⋡":"⋡","≿̸":"≿̸","⊃⃒":"⊃⃒","⊉":"⊉","≁":"≁","≄":"≄","≇":"≇","≉":"≉","∤":"∤","𝒩":"𝒩","Ñ":"Ñ","Ν":"Ν","Œ":"Œ","Ó":"Ó","Ô":"Ô","О":"О","Ő":"Ő","𝔒":"𝔒","Ò":"Ò","Ō":"Ō","Ω":"Ω","Ο":"Ο","𝕆":"𝕆","“":"“","‘":"‘","⩔":"⩔","𝒪":"𝒪","Ø":"Ø","Õ":"Õ","⨷":"⨷","Ö":"Ö","‾":"‾","⏞":"⏞","⎴":"⎴","⏜":"⏜","∂":"∂","П":"П","𝔓":"𝔓","Φ":"Φ","Π":"Π","±":"±","ℙ":"ℙ","⪻":"⪻","≺":"≺","⪯":"⪯","≼":"≼","≾":"≾","″":"″","∏":"∏","∝":"∝","𝒫":"𝒫","Ψ":"Ψ",'"':""","𝔔":"𝔔","ℚ":"ℚ","𝒬":"𝒬","⤐":"⤐","®":"®","Ŕ":"Ŕ","⟫":"⟫","↠":"↠","⤖":"⤖","Ř":"Ř","Ŗ":"Ŗ","Р":"Р","ℜ":"ℜ","∋":"∋","⇋":"⇋","⥯":"⥯","Ρ":"Ρ","⟩":"⟩","→":"→","⇥":"⇥","⇄":"⇄","⌉":"⌉","⟧":"⟧","⥝":"⥝","⇂":"⇂","⥕":"⥕","⌋":"⌋","⊢":"⊢","↦":"↦","⥛":"⥛","⊳":"⊳","⧐":"⧐","⊵":"⊵","⥏":"⥏","⥜":"⥜","↾":"↾","⥔":"⥔","⇀":"⇀","⥓":"⥓","ℝ":"ℝ","⥰":"⥰","⇛":"⇛","ℛ":"ℛ","↱":"↱","⧴":"⧴","Щ":"Щ","Ш":"Ш","Ь":"Ь","Ś":"Ś","⪼":"⪼","Š":"Š","Ş":"Ş","Ŝ":"Ŝ","С":"С","𝔖":"𝔖","↑":"↑","Σ":"Σ","∘":"∘","𝕊":"𝕊","√":"√","□":"□","⊓":"⊓","⊏":"⊏","⊑":"⊑","⊐":"⊐","⊒":"⊒","⊔":"⊔","𝒮":"𝒮","⋆":"⋆","⋐":"⋐","⊆":"⊆","≻":"≻","⪰":"⪰","≽":"≽","≿":"≿","∑":"∑","⋑":"⋑","⊃":"⊃","⊇":"⊇","Þ":"Þ","™":"™","Ћ":"Ћ","Ц":"Ц","\t":" ","Τ":"Τ","Ť":"Ť","Ţ":"Ţ","Т":"Т","𝔗":"𝔗","∴":"∴","Θ":"Θ","  ":"  "," ":" ","∼":"∼","≃":"≃","≅":"≅","≈":"≈","𝕋":"𝕋","⃛":"⃛","𝒯":"𝒯","Ŧ":"Ŧ","Ú":"Ú","↟":"↟","⥉":"⥉","Ў":"Ў","Ŭ":"Ŭ","Û":"Û","У":"У","Ű":"Ű","𝔘":"𝔘","Ù":"Ù","Ū":"Ū",_:"_","⏟":"⏟","⎵":"⎵","⏝":"⏝","⋃":"⋃","⊎":"⊎","Ų":"Ų","𝕌":"𝕌","⤒":"⤒","⇅":"⇅","↕":"↕","⥮":"⥮","⊥":"⊥","↥":"↥","↖":"↖","↗":"↗","ϒ":"ϒ","Υ":"Υ","Ů":"Ů","𝒰":"𝒰","Ũ":"Ũ","Ü":"Ü","⊫":"⊫","⫫":"⫫","В":"В","⊩":"⊩","⫦":"⫦","⋁":"⋁","‖":"‖","∣":"∣","|":"|","❘":"❘","≀":"≀"," ":" ","𝔙":"𝔙","𝕍":"𝕍","𝒱":"𝒱","⊪":"⊪","Ŵ":"Ŵ","⋀":"⋀","𝔚":"𝔚","𝕎":"𝕎","𝒲":"𝒲","𝔛":"𝔛","Ξ":"Ξ","𝕏":"𝕏","𝒳":"𝒳","Я":"Я","Ї":"Ї","Ю":"Ю","Ý":"Ý","Ŷ":"Ŷ","Ы":"Ы","𝔜":"𝔜","𝕐":"𝕐","𝒴":"𝒴","Ÿ":"Ÿ","Ж":"Ж","Ź":"Ź","Ž":"Ž","З":"З","Ż":"Ż","Ζ":"Ζ","ℨ":"ℨ","ℤ":"ℤ","𝒵":"𝒵","á":"á","ă":"ă","∾":"∾","∾̳":"∾̳","∿":"∿","â":"â","а":"а","æ":"æ","𝔞":"𝔞","à":"à","ℵ":"ℵ","α":"α","ā":"ā","⨿":"⨿","∧":"∧","⩕":"⩕","⩜":"⩜","⩘":"⩘","⩚":"⩚","∠":"∠","⦤":"⦤","∡":"∡","⦨":"⦨","⦩":"⦩","⦪":"⦪","⦫":"⦫","⦬":"⦬","⦭":"⦭","⦮":"⦮","⦯":"⦯","∟":"∟","⊾":"⊾","⦝":"⦝","∢":"∢","⍼":"⍼","ą":"ą","𝕒":"𝕒","⩰":"⩰","⩯":"⩯","≊":"≊","≋":"≋","'":"'","å":"å","𝒶":"𝒶","*":"*","ã":"ã","ä":"ä","⨑":"⨑","⫭":"⫭","≌":"≌","϶":"϶","‵":"‵","∽":"∽","⋍":"⋍","⊽":"⊽","⌅":"⌅","⎶":"⎶","б":"б","„":"„","⦰":"⦰","β":"β","ℶ":"ℶ","≬":"≬","𝔟":"𝔟","◯":"◯","⨀":"⨀","⨁":"⨁","⨂":"⨂","⨆":"⨆","★":"★","▽":"▽","△":"△","⨄":"⨄","⤍":"⤍","⧫":"⧫","▴":"▴","▾":"▾","◂":"◂","▸":"▸","␣":"␣","▒":"▒","░":"░","▓":"▓","█":"█","=⃥":"=⃥","≡⃥":"≡⃥","⌐":"⌐","𝕓":"𝕓","⋈":"⋈","╗":"╗","╔":"╔","╖":"╖","╓":"╓","═":"═","╦":"╦","╩":"╩","╤":"╤","╧":"╧","╝":"╝","╚":"╚","╜":"╜","╙":"╙","║":"║","╬":"╬","╣":"╣","╠":"╠","╫":"╫","╢":"╢","╟":"╟","⧉":"⧉","╕":"╕","╒":"╒","┐":"┐","┌":"┌","╥":"╥","╨":"╨","┬":"┬","┴":"┴","⊟":"⊟","⊞":"⊞","⊠":"⊠","╛":"╛","╘":"╘","┘":"┘","└":"└","│":"│","╪":"╪","╡":"╡","╞":"╞","┼":"┼","┤":"┤","├":"├","¦":"¦","𝒷":"𝒷","⁏":"⁏","\\":"\","⧅":"⧅","⟈":"⟈","•":"•","⪮":"⪮","ć":"ć","∩":"∩","⩄":"⩄","⩉":"⩉","⩋":"⩋","⩇":"⩇","⩀":"⩀","∩︀":"∩︀","⁁":"⁁","⩍":"⩍","č":"č","ç":"ç","ĉ":"ĉ","⩌":"⩌","⩐":"⩐","ċ":"ċ","⦲":"⦲","¢":"¢","𝔠":"𝔠","ч":"ч","✓":"✓","χ":"χ","○":"○","⧃":"⧃","ˆ":"ˆ","≗":"≗","↺":"↺","↻":"↻","Ⓢ":"Ⓢ","⊛":"⊛","⊚":"⊚","⊝":"⊝","⨐":"⨐","⫯":"⫯","⧂":"⧂","♣":"♣",":":":",",":",","@":"@","∁":"∁","⩭":"⩭","𝕔":"𝕔","℗":"℗","↵":"↵","✗":"✗","𝒸":"𝒸","⫏":"⫏","⫑":"⫑","⫐":"⫐","⫒":"⫒","⋯":"⋯","⤸":"⤸","⤵":"⤵","⋞":"⋞","⋟":"⋟","↶":"↶","⤽":"⤽","∪":"∪","⩈":"⩈","⩆":"⩆","⩊":"⩊","⊍":"⊍","⩅":"⩅","∪︀":"∪︀","↷":"↷","⤼":"⤼","⋎":"⋎","⋏":"⋏","¤":"¤","∱":"∱","⌭":"⌭","⥥":"⥥","†":"†","ℸ":"ℸ","‐":"‐","⤏":"⤏","ď":"ď","д":"д","⇊":"⇊","⩷":"⩷","°":"°","δ":"δ","⦱":"⦱","⥿":"⥿","𝔡":"𝔡","♦":"♦","ϝ":"ϝ","⋲":"⋲","÷":"÷","⋇":"⋇","ђ":"ђ","⌞":"⌞","⌍":"⌍",$:"$","𝕕":"𝕕","≑":"≑","∸":"∸","∔":"∔","⊡":"⊡","⌟":"⌟","⌌":"⌌","𝒹":"𝒹","ѕ":"ѕ","⧶":"⧶","đ":"đ","⋱":"⋱","▿":"▿","⦦":"⦦","џ":"џ","⟿":"⟿","é":"é","⩮":"⩮","ě":"ě","≖":"≖","ê":"ê","≕":"≕","э":"э","ė":"ė","≒":"≒","𝔢":"𝔢","⪚":"⪚","è":"è","⪖":"⪖","⪘":"⪘","⪙":"⪙","⏧":"⏧","ℓ":"ℓ","⪕":"⪕","⪗":"⪗","ē":"ē","∅":"∅"," ":" "," ":" "," ":" ","ŋ":"ŋ"," ":" ","ę":"ę","𝕖":"𝕖","⋕":"⋕","⧣":"⧣","⩱":"⩱","ε":"ε","ϵ":"ϵ","=":"=","≟":"≟","⩸":"⩸","⧥":"⧥","≓":"≓","⥱":"⥱","ℯ":"ℯ","η":"η","ð":"ð","ë":"ë","€":"€","!":"!","ф":"ф","♀":"♀","ffi":"ffi","ff":"ff","ffl":"ffl","𝔣":"𝔣","fi":"fi",fj:"fj","♭":"♭","fl":"fl","▱":"▱","ƒ":"ƒ","𝕗":"𝕗","⋔":"⋔","⫙":"⫙","⨍":"⨍","½":"½","⅓":"⅓","¼":"¼","⅕":"⅕","⅙":"⅙","⅛":"⅛","⅔":"⅔","⅖":"⅖","¾":"¾","⅗":"⅗","⅜":"⅜","⅘":"⅘","⅚":"⅚","⅝":"⅝","⅞":"⅞","⁄":"⁄","⌢":"⌢","𝒻":"𝒻","⪌":"⪌","ǵ":"ǵ","γ":"γ","⪆":"⪆","ğ":"ğ","ĝ":"ĝ","г":"г","ġ":"ġ","⪩":"⪩","⪀":"⪀","⪂":"⪂","⪄":"⪄","⋛︀":"⋛︀","⪔":"⪔","𝔤":"𝔤","ℷ":"ℷ","ѓ":"ѓ","⪒":"⪒","⪥":"⪥","⪤":"⪤","≩":"≩","⪊":"⪊","⪈":"⪈","⋧":"⋧","𝕘":"𝕘","ℊ":"ℊ","⪎":"⪎","⪐":"⪐","⪧":"⪧","⩺":"⩺","⋗":"⋗","⦕":"⦕","⩼":"⩼","⥸":"⥸","≩︀":"≩︀","ъ":"ъ","⥈":"⥈","↭":"↭","ℏ":"ℏ","ĥ":"ĥ","♥":"♥","…":"…","⊹":"⊹","𝔥":"𝔥","⤥":"⤥","⤦":"⤦","⇿":"⇿","∻":"∻","↩":"↩","↪":"↪","𝕙":"𝕙","―":"―","𝒽":"𝒽","ħ":"ħ","⁃":"⁃","í":"í","î":"î","и":"и","е":"е","¡":"¡","𝔦":"𝔦","ì":"ì","⨌":"⨌","∭":"∭","⧜":"⧜","℩":"℩","ij":"ij","ī":"ī","ı":"ı","⊷":"⊷","Ƶ":"Ƶ","℅":"℅","∞":"∞","⧝":"⧝","⊺":"⊺","⨗":"⨗","⨼":"⨼","ё":"ё","į":"į","𝕚":"𝕚","ι":"ι","¿":"¿","𝒾":"𝒾","⋹":"⋹","⋵":"⋵","⋴":"⋴","⋳":"⋳","ĩ":"ĩ","і":"і","ï":"ï","ĵ":"ĵ","й":"й","𝔧":"𝔧","ȷ":"ȷ","𝕛":"𝕛","𝒿":"𝒿","ј":"ј","є":"є","κ":"κ","ϰ":"ϰ","ķ":"ķ","к":"к","𝔨":"𝔨","ĸ":"ĸ","х":"х","ќ":"ќ","𝕜":"𝕜","𝓀":"𝓀","⤛":"⤛","⤎":"⤎","⪋":"⪋","⥢":"⥢","ĺ":"ĺ","⦴":"⦴","λ":"λ","⦑":"⦑","⪅":"⪅","«":"«","⤟":"⤟","⤝":"⤝","↫":"↫","⤹":"⤹","⥳":"⥳","↢":"↢","⪫":"⪫","⤙":"⤙","⪭":"⪭","⪭︀":"⪭︀","⤌":"⤌","❲":"❲","{":"{","[":"[","⦋":"⦋","⦏":"⦏","⦍":"⦍","ľ":"ľ","ļ":"ļ","л":"л","⤶":"⤶","⥧":"⥧","⥋":"⥋","↲":"↲","≤":"≤","⇇":"⇇","⋋":"⋋","⪨":"⪨","⩿":"⩿","⪁":"⪁","⪃":"⪃","⋚︀":"⋚︀","⪓":"⪓","⋖":"⋖","⥼":"⥼","𝔩":"𝔩","⪑":"⪑","⥪":"⥪","▄":"▄","љ":"љ","⥫":"⥫","◺":"◺","ŀ":"ŀ","⎰":"⎰","≨":"≨","⪉":"⪉","⪇":"⪇","⋦":"⋦","⟬":"⟬","⇽":"⇽","⟼":"⟼","↬":"↬","⦅":"⦅","𝕝":"𝕝","⨭":"⨭","⨴":"⨴","∗":"∗","◊":"◊","(":"(","⦓":"⦓","⥭":"⥭","‎":"‎","⊿":"⊿","‹":"‹","𝓁":"𝓁","⪍":"⪍","⪏":"⪏","‚":"‚","ł":"ł","⪦":"⪦","⩹":"⩹","⋉":"⋉","⥶":"⥶","⩻":"⩻","⦖":"⦖","◃":"◃","⥊":"⥊","⥦":"⥦","≨︀":"≨︀","∺":"∺","¯":"¯","♂":"♂","✠":"✠","▮":"▮","⨩":"⨩","м":"м","—":"—","𝔪":"𝔪","℧":"℧","µ":"µ","⫰":"⫰","−":"−","⨪":"⨪","⫛":"⫛","⊧":"⊧","𝕞":"𝕞","𝓂":"𝓂","μ":"μ","⊸":"⊸","⋙̸":"⋙̸","≫⃒":"≫⃒","⇍":"⇍","⇎":"⇎","⋘̸":"⋘̸","≪⃒":"≪⃒","⇏":"⇏","⊯":"⊯","⊮":"⊮","ń":"ń","∠⃒":"∠⃒","⩰̸":"⩰̸","≋̸":"≋̸","ʼn":"ʼn","♮":"♮","⩃":"⩃","ň":"ň","ņ":"ņ","⩭̸":"⩭̸","⩂":"⩂","н":"н","–":"–","⇗":"⇗","⤤":"⤤","≐̸":"≐̸","⤨":"⤨","𝔫":"𝔫","↮":"↮","⫲":"⫲","⋼":"⋼","⋺":"⋺","њ":"њ","≦̸":"≦̸","↚":"↚","‥":"‥","𝕟":"𝕟","¬":"¬","⋹̸":"⋹̸","⋵̸":"⋵̸","⋷":"⋷","⋶":"⋶","⋾":"⋾","⋽":"⋽","⫽⃥":"⫽⃥","∂̸":"∂̸","⨔":"⨔","↛":"↛","⤳̸":"⤳̸","↝̸":"↝̸","𝓃":"𝓃","⊄":"⊄","⫅̸":"⫅̸","⊅":"⊅","⫆̸":"⫆̸","ñ":"ñ","ν":"ν","#":"#","№":"№"," ":" ","⊭":"⊭","⤄":"⤄","≍⃒":"≍⃒","⊬":"⊬","≥⃒":"≥⃒",">⃒":">⃒","⧞":"⧞","⤂":"⤂","≤⃒":"≤⃒","<⃒":"<⃒","⊴⃒":"⊴⃒","⤃":"⤃","⊵⃒":"⊵⃒","∼⃒":"∼⃒","⇖":"⇖","⤣":"⤣","⤧":"⤧","ó":"ó","ô":"ô","о":"о","ő":"ő","⨸":"⨸","⦼":"⦼","œ":"œ","⦿":"⦿","𝔬":"𝔬","˛":"˛","ò":"ò","⧁":"⧁","⦵":"⦵","⦾":"⦾","⦻":"⦻","⧀":"⧀","ō":"ō","ω":"ω","ο":"ο","⦶":"⦶","𝕠":"𝕠","⦷":"⦷","⦹":"⦹","∨":"∨","⩝":"⩝","ℴ":"ℴ","ª":"ª","º":"º","⊶":"⊶","⩖":"⩖","⩗":"⩗","⩛":"⩛","ø":"ø","⊘":"⊘","õ":"õ","⨶":"⨶","ö":"ö","⌽":"⌽","¶":"¶","⫳":"⫳","⫽":"⫽","п":"п","%":"%",".":".","‰":"‰","‱":"‱","𝔭":"𝔭","φ":"φ","ϕ":"ϕ","☎":"☎","π":"π","ϖ":"ϖ","ℎ":"ℎ","+":"+","⨣":"⨣","⨢":"⨢","⨥":"⨥","⩲":"⩲","⨦":"⨦","⨧":"⨧","⨕":"⨕","𝕡":"𝕡","£":"£","⪳":"⪳","⪷":"⪷","⪹":"⪹","⪵":"⪵","⋨":"⋨","′":"′","⌮":"⌮","⌒":"⌒","⌓":"⌓","⊰":"⊰","𝓅":"𝓅","ψ":"ψ"," ":" ","𝔮":"𝔮","𝕢":"𝕢","⁗":"⁗","𝓆":"𝓆","⨖":"⨖","?":"?","⤜":"⤜","⥤":"⥤","∽̱":"∽̱","ŕ":"ŕ","⦳":"⦳","⦒":"⦒","⦥":"⦥","»":"»","⥵":"⥵","⤠":"⤠","⤳":"⤳","⤞":"⤞","⥅":"⥅","⥴":"⥴","↣":"↣","↝":"↝","⤚":"⤚","∶":"∶","❳":"❳","}":"}","]":"]","⦌":"⦌","⦎":"⦎","⦐":"⦐","ř":"ř","ŗ":"ŗ","р":"р","⤷":"⤷","⥩":"⥩","↳":"↳","▭":"▭","⥽":"⥽","𝔯":"𝔯","⥬":"⥬","ρ":"ρ","ϱ":"ϱ","⇉":"⇉","⋌":"⋌","˚":"˚","‏":"‏","⎱":"⎱","⫮":"⫮","⟭":"⟭","⇾":"⇾","⦆":"⦆","𝕣":"𝕣","⨮":"⨮","⨵":"⨵",")":")","⦔":"⦔","⨒":"⨒","›":"›","𝓇":"𝓇","⋊":"⋊","▹":"▹","⧎":"⧎","⥨":"⥨","℞":"℞","ś":"ś","⪴":"⪴","⪸":"⪸","š":"š","ş":"ş","ŝ":"ŝ","⪶":"⪶","⪺":"⪺","⋩":"⋩","⨓":"⨓","с":"с","⋅":"⋅","⩦":"⩦","⇘":"⇘","§":"§",";":";","⤩":"⤩","✶":"✶","𝔰":"𝔰","♯":"♯","щ":"щ","ш":"ш","­":"­","σ":"σ","ς":"ς","⩪":"⩪","⪞":"⪞","⪠":"⪠","⪝":"⪝","⪟":"⪟","≆":"≆","⨤":"⨤","⥲":"⥲","⨳":"⨳","⧤":"⧤","⌣":"⌣","⪪":"⪪","⪬":"⪬","⪬︀":"⪬︀","ь":"ь","/":"/","⧄":"⧄","⌿":"⌿","𝕤":"𝕤","♠":"♠","⊓︀":"⊓︀","⊔︀":"⊔︀","𝓈":"𝓈","☆":"☆","⊂":"⊂","⫅":"⫅","⪽":"⪽","⫃":"⫃","⫁":"⫁","⫋":"⫋","⊊":"⊊","⪿":"⪿","⥹":"⥹","⫇":"⫇","⫕":"⫕","⫓":"⫓","♪":"♪","¹":"¹","²":"²","³":"³","⫆":"⫆","⪾":"⪾","⫘":"⫘","⫄":"⫄","⟉":"⟉","⫗":"⫗","⥻":"⥻","⫂":"⫂","⫌":"⫌","⊋":"⊋","⫀":"⫀","⫈":"⫈","⫔":"⫔","⫖":"⫖","⇙":"⇙","⤪":"⤪","ß":"ß","⌖":"⌖","τ":"τ","ť":"ť","ţ":"ţ","т":"т","⌕":"⌕","𝔱":"𝔱","θ":"θ","ϑ":"ϑ","þ":"þ","×":"×","⨱":"⨱","⨰":"⨰","⌶":"⌶","⫱":"⫱","𝕥":"𝕥","⫚":"⫚","‴":"‴","▵":"▵","≜":"≜","◬":"◬","⨺":"⨺","⨹":"⨹","⧍":"⧍","⨻":"⨻","⏢":"⏢","𝓉":"𝓉","ц":"ц","ћ":"ћ","ŧ":"ŧ","⥣":"⥣","ú":"ú","ў":"ў","ŭ":"ŭ","û":"û","у":"у","ű":"ű","⥾":"⥾","𝔲":"𝔲","ù":"ù","▀":"▀","⌜":"⌜","⌏":"⌏","◸":"◸","ū":"ū","ų":"ų","𝕦":"𝕦","υ":"υ","⇈":"⇈","⌝":"⌝","⌎":"⌎","ů":"ů","◹":"◹","𝓊":"𝓊","⋰":"⋰","ũ":"ũ","ü":"ü","⦧":"⦧","⫨":"⫨","⫩":"⫩","⦜":"⦜","⊊︀":"⊊︀","⫋︀":"⫋︀","⊋︀":"⊋︀","⫌︀":"⫌︀","в":"в","⊻":"⊻","≚":"≚","⋮":"⋮","𝔳":"𝔳","𝕧":"𝕧","𝓋":"𝓋","⦚":"⦚","ŵ":"ŵ","⩟":"⩟","≙":"≙","℘":"℘","𝔴":"𝔴","𝕨":"𝕨","𝓌":"𝓌","𝔵":"𝔵","ξ":"ξ","⋻":"⋻","𝕩":"𝕩","𝓍":"𝓍","ý":"ý","я":"я","ŷ":"ŷ","ы":"ы","¥":"¥","𝔶":"𝔶","ї":"ї","𝕪":"𝕪","𝓎":"𝓎","ю":"ю","ÿ":"ÿ","ź":"ź","ž":"ž","з":"з","ż":"ż","ζ":"ζ","𝔷":"𝔷","ж":"ж","⇝":"⇝","𝕫":"𝕫","𝓏":"𝓏","‍":"‍","‌":"‌"}}}; + +/***/ }), + +/***/ "./node_modules/html-entities/lib/numeric-unicode-map.js": +/*!***************************************************************!*\ + !*** ./node_modules/html-entities/lib/numeric-unicode-map.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +Object.defineProperty(exports, "__esModule", ({value:true}));exports.numericUnicodeMap={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}; + +/***/ }), + +/***/ "./node_modules/html-entities/lib/surrogate-pairs.js": +/*!***********************************************************!*\ + !*** ./node_modules/html-entities/lib/surrogate-pairs.js ***! + \***********************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +"use strict"; +Object.defineProperty(exports, "__esModule", ({value:true}));exports.fromCodePoint=String.fromCodePoint||function(astralCodePoint){return String.fromCharCode(Math.floor((astralCodePoint-65536)/1024)+55296,(astralCodePoint-65536)%1024+56320)};exports.getCodePoint=String.prototype.codePointAt?function(input,position){return input.codePointAt(position)}:function(input,position){return(input.charCodeAt(position)-55296)*1024+input.charCodeAt(position+1)-56320+65536};exports.highSurrogateFrom=55296;exports.highSurrogateTo=56319; + +/***/ }), + +/***/ "./node_modules/punycode/punycode.js": +/*!*******************************************!*\ + !*** ./node_modules/punycode/punycode.js ***! + \*******************************************/ +/***/ (function(module, exports, __webpack_require__) { + +/* module decorator */ module = __webpack_require__.nmd(module); +var __WEBPACK_AMD_DEFINE_RESULT__;/*! https://mths.be/punycode v1.3.2 by @mathias */ +;(function(root) { + + /** Detect free variables */ + var freeExports = true && exports && + !exports.nodeType && exports; + var freeModule = true && module && + !module.nodeType && module; + var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g; + if ( + freeGlobal.global === freeGlobal || + freeGlobal.window === freeGlobal || + freeGlobal.self === freeGlobal + ) { + root = freeGlobal; + } + + /** + * The `punycode` object. + * @name punycode + * @type Object + */ + var punycode, + + /** Highest positive signed 32-bit float value */ + maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 + + /** Bootstring parameters */ + base = 36, + tMin = 1, + tMax = 26, + skew = 38, + damp = 700, + initialBias = 72, + initialN = 128, // 0x80 + delimiter = '-', // '\x2D' + + /** Regular expressions */ + regexPunycode = /^xn--/, + regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars + regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators + + /** Error messages */ + errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' + }, + + /** Convenience shortcuts */ + baseMinusTMin = base - tMin, + floor = Math.floor, + stringFromCharCode = String.fromCharCode, + + /** Temporary variable */ + key; + + /*--------------------------------------------------------------------------*/ + + /** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ + function error(type) { + throw RangeError(errors[type]); + } + + /** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ + function map(array, fn) { + var length = array.length; + var result = []; + while (length--) { + result[length] = fn(array[length]); + } + return result; + } + + /** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {Array} A new string of characters returned by the callback + * function. + */ + function mapDomain(string, fn) { + var parts = string.split('@'); + var result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + string = parts[1]; + } + // Avoid `split(regex)` for IE8 compatibility. See #17. + string = string.replace(regexSeparators, '\x2E'); + var labels = string.split('.'); + var encoded = map(labels, fn).join('.'); + return result + encoded; + } + + /** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ + function ucs2decode(string) { + var output = [], + counter = 0, + length = string.length, + value, + extra; + while (counter < length) { + value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // high surrogate, and there is a next character + extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // low surrogate + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // unmatched surrogate; only append this code unit, in case the next + // code unit is the high surrogate of a surrogate pair + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; + } + + /** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ + function ucs2encode(array) { + return map(array, function(value) { + var output = ''; + if (value > 0xFFFF) { + value -= 0x10000; + output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); + value = 0xDC00 | value & 0x3FF; + } + output += stringFromCharCode(value); + return output; + }).join(''); + } + + /** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ + function basicToDigit(codePoint) { + if (codePoint - 48 < 10) { + return codePoint - 22; + } + if (codePoint - 65 < 26) { + return codePoint - 65; + } + if (codePoint - 97 < 26) { + return codePoint - 97; + } + return base; + } + + /** + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ + function digitToBasic(digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); + } + + /** + * Bias adaptation function as per section 3.4 of RFC 3492. + * http://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ + function adapt(delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); + } + + /** + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ + function decode(input) { + // Don't use UCS-2 + var output = [], + inputLength = input.length, + out, + i = 0, + n = initialN, + bias = initialBias, + basic, + j, + index, + oldi, + w, + k, + digit, + t, + /** Cached calculation results */ + baseMinusT; + + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. + + basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + + for (j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); + } + output.push(input.charCodeAt(j)); + } + + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. + + for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { + + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + for (oldi = i, w = 1, k = base; /* no condition */; k += base) { + + if (index >= inputLength) { + error('invalid-input'); + } + + digit = basicToDigit(input.charCodeAt(index++)); + + if (digit >= base || digit > floor((maxInt - i) / w)) { + error('overflow'); + } + + i += digit * w; + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + + if (digit < t) { + break; + } + + baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + + w *= baseMinusT; + + } + + out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); + + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); + } + + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output + output.splice(i++, 0, n); + + } + + return ucs2encode(output); + } + + /** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ + function encode(input) { + var n, + delta, + handledCPCount, + basicLength, + bias, + j, + m, + q, + k, + t, + currentValue, + output = [], + /** `inputLength` will hold the number of code points in `input`. */ + inputLength, + /** Cached calculation results */ + handledCPCountPlusOne, + baseMinusT, + qMinusT; + + // Convert the input in UCS-2 to Unicode + input = ucs2decode(input); + + // Cache the length + inputLength = input.length; + + // Initialize the state + n = initialN; + delta = 0; + bias = initialBias; + + // Handle the basic code points + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + handledCPCount = basicLength = output.length; + + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. + + // Finish the basic string - if it is not empty - with a delimiter + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + + // All non-basic code points < n have been handled already. Find the next + // larger one: + for (m = maxInt, j = 0; j < inputLength; ++j) { + currentValue = input[j]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow + handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (j = 0; j < inputLength; ++j) { + currentValue = input[j]; + + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + + if (currentValue == n) { + // Represent delta as a generalized variable-length integer + for (q = delta, k = base; /* no condition */; k += base) { + t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) { + break; + } + qMinusT = q - t; + baseMinusT = base - t; + output.push( + stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) + ); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + + } + return output.join(''); + } + + /** + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ + function toUnicode(input) { + return mapDomain(input, function(string) { + return regexPunycode.test(string) + ? decode(string.slice(4).toLowerCase()) + : string; + }); + } + + /** + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ + function toASCII(input) { + return mapDomain(input, function(string) { + return regexNonASCII.test(string) + ? 'xn--' + encode(string) + : string; + }); + } + + /*--------------------------------------------------------------------------*/ + + /** Define the public API */ + punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '1.3.2', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode + }; + + /** Expose `punycode` */ + // Some AMD build optimizers, like r.js, check for specific condition patterns + // like the following: + if ( + true + ) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { + return punycode; + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} + +}(this)); + + +/***/ }), + +/***/ "./node_modules/querystring/decode.js": +/*!********************************************!*\ + !*** ./node_modules/querystring/decode.js ***! + \********************************************/ +/***/ (function(module) { + +"use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +// If obj.hasOwnProperty has been overridden, then calling +// obj.hasOwnProperty(prop) will break. +// See: https://github.com/joyent/node/issues/1707 +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +module.exports = function(qs, sep, eq, options) { + sep = sep || '&'; + eq = eq || '='; + var obj = {}; + + if (typeof qs !== 'string' || qs.length === 0) { + return obj; + } + + var regexp = /\+/g; + qs = qs.split(sep); + + var maxKeys = 1000; + if (options && typeof options.maxKeys === 'number') { + maxKeys = options.maxKeys; + } + + var len = qs.length; + // maxKeys <= 0 means that we should not limit keys count + if (maxKeys > 0 && len > maxKeys) { + len = maxKeys; + } + + for (var i = 0; i < len; ++i) { + var x = qs[i].replace(regexp, '%20'), + idx = x.indexOf(eq), + kstr, vstr, k, v; + + if (idx >= 0) { + kstr = x.substr(0, idx); + vstr = x.substr(idx + 1); + } else { + kstr = x; + vstr = ''; + } + + k = decodeURIComponent(kstr); + v = decodeURIComponent(vstr); + + if (!hasOwnProperty(obj, k)) { + obj[k] = v; + } else if (Array.isArray(obj[k])) { + obj[k].push(v); + } else { + obj[k] = [obj[k], v]; + } + } + + return obj; +}; + + +/***/ }), + +/***/ "./node_modules/querystring/encode.js": +/*!********************************************!*\ + !*** ./node_modules/querystring/encode.js ***! + \********************************************/ +/***/ (function(module) { + +"use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +var stringifyPrimitive = function(v) { + switch (typeof v) { + case 'string': + return v; + + case 'boolean': + return v ? 'true' : 'false'; + + case 'number': + return isFinite(v) ? v : ''; + + default: + return ''; + } +}; + +module.exports = function(obj, sep, eq, name) { + sep = sep || '&'; + eq = eq || '='; + if (obj === null) { + obj = undefined; + } + + if (typeof obj === 'object') { + return Object.keys(obj).map(function(k) { + var ks = encodeURIComponent(stringifyPrimitive(k)) + eq; + if (Array.isArray(obj[k])) { + return obj[k].map(function(v) { + return ks + encodeURIComponent(stringifyPrimitive(v)); + }).join(sep); + } else { + return ks + encodeURIComponent(stringifyPrimitive(obj[k])); + } + }).join(sep); + + } + + if (!name) return ''; + return encodeURIComponent(stringifyPrimitive(name)) + eq + + encodeURIComponent(stringifyPrimitive(obj)); +}; + + +/***/ }), + +/***/ "./node_modules/querystring/index.js": +/*!*******************************************!*\ + !*** ./node_modules/querystring/index.js ***! + \*******************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; + + +exports.decode = exports.parse = __webpack_require__(/*! ./decode */ "./node_modules/querystring/decode.js"); +exports.encode = exports.stringify = __webpack_require__(/*! ./encode */ "./node_modules/querystring/encode.js"); + + +/***/ }), + +/***/ "./src/scss/style.scss": +/*!*****************************!*\ + !*** ./src/scss/style.scss ***! + \*****************************/ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "./node_modules/style-loader/dist/runtime/styleDomAPI.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "./node_modules/style-loader/dist/runtime/insertBySelector.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "./node_modules/style-loader/dist/runtime/insertStyleElement.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "./node_modules/style-loader/dist/runtime/styleTagTransform.js"); +/* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./style.scss */ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/scss/style.scss"); + + + + + + + + + + + +var options = {}; + +options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default()); +options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default()); + + options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head"); + +options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default()); +options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default()); + +var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"], options); + + +if (true) { + if (!_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals || module.hot.invalidate) { + var isEqualLocals = function isEqualLocals(a, b, isNamedExport) { + if (!a && b || a && !b) { + return false; + } + + var p; + + for (p in a) { + if (isNamedExport && p === "default") { + // eslint-disable-next-line no-continue + continue; + } + + if (a[p] !== b[p]) { + return false; + } + } + + for (p in b) { + if (isNamedExport && p === "default") { + // eslint-disable-next-line no-continue + continue; + } + + if (!a[p]) { + return false; + } + } + + return true; +}; + var isNamedExport = !_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals; + var oldLocals = isNamedExport ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__ : _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals; + + module.hot.accept( + /*! !!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./style.scss */ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/scss/style.scss", + function(__WEBPACK_OUTDATED_DEPENDENCIES__) { /* harmony import */ _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./style.scss */ "./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[3].use[3]!./src/scss/style.scss"); +(function () { + if (!isEqualLocals(oldLocals, isNamedExport ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__ : _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals, isNamedExport)) { + module.hot.invalidate(); + + return; + } + + oldLocals = isNamedExport ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__ : _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals; + + update(_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"]); + })(__WEBPACK_OUTDATED_DEPENDENCIES__); }.bind(this) + ) + } + + module.hot.dispose(function() { + update(); + }); +} + + + + /* harmony default export */ __webpack_exports__["default"] = (_node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_ruleSet_1_rules_3_use_1_node_modules_postcss_loader_dist_cjs_js_ruleSet_1_rules_3_use_2_node_modules_sass_loader_dist_cjs_js_ruleSet_1_rules_3_use_3_style_scss__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined); + + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/***/ (function(module) { + +"use strict"; + + +var stylesInDOM = []; + +function getIndexByIdentifier(identifier) { + var result = -1; + + for (var i = 0; i < stylesInDOM.length; i++) { + if (stylesInDOM[i].identifier === identifier) { + result = i; + break; + } + } + + return result; +} + +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var indexByIdentifier = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3], + supports: item[4], + layer: item[5] + }; + + if (indexByIdentifier !== -1) { + stylesInDOM[indexByIdentifier].references++; + stylesInDOM[indexByIdentifier].updater(obj); + } else { + var updater = addElementStyle(obj, options); + options.byIndex = i; + stylesInDOM.splice(i, 0, { + identifier: identifier, + updater: updater, + references: 1 + }); + } + + identifiers.push(identifier); + } + + return identifiers; +} + +function addElementStyle(obj, options) { + var api = options.domAPI(options); + api.update(obj); + + var updater = function updater(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) { + return; + } + + api.update(obj = newObj); + } else { + api.remove(); + } + }; + + return updater; +} + +module.exports = function (list, options) { + options = options || {}; + list = list || []; + var lastIdentifiers = modulesToDom(list, options); + return function update(newList) { + newList = newList || []; + + for (var i = 0; i < lastIdentifiers.length; i++) { + var identifier = lastIdentifiers[i]; + var index = getIndexByIdentifier(identifier); + stylesInDOM[index].references--; + } + + var newLastIdentifiers = modulesToDom(newList, options); + + for (var _i = 0; _i < lastIdentifiers.length; _i++) { + var _identifier = lastIdentifiers[_i]; + + var _index = getIndexByIdentifier(_identifier); + + if (stylesInDOM[_index].references === 0) { + stylesInDOM[_index].updater(); + + stylesInDOM.splice(_index, 1); + } + } + + lastIdentifiers = newLastIdentifiers; + }; +}; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertBySelector.js": +/*!********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertBySelector.js ***! + \********************************************************************/ +/***/ (function(module) { + +"use strict"; + + +var memo = {}; +/* istanbul ignore next */ + +function getTarget(target) { + if (typeof memo[target] === "undefined") { + var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself + + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + + memo[target] = styleTarget; + } + + return memo[target]; +} +/* istanbul ignore next */ + + +function insertBySelector(insert, style) { + var target = getTarget(insert); + + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + + target.appendChild(style); +} + +module.exports = insertBySelector; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/insertStyleElement.js": +/*!**********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/insertStyleElement.js ***! + \**********************************************************************/ +/***/ (function(module) { + +"use strict"; + + +/* istanbul ignore next */ +function insertStyleElement(options) { + var element = document.createElement("style"); + options.setAttributes(element, options.attributes); + options.insert(element, options.options); + return element; +} + +module.exports = insertStyleElement; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***! + \**********************************************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +"use strict"; + + +/* istanbul ignore next */ +function setAttributesWithoutAttributes(styleElement) { + var nonce = true ? __webpack_require__.nc : 0; + + if (nonce) { + styleElement.setAttribute("nonce", nonce); + } +} + +module.exports = setAttributesWithoutAttributes; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleDomAPI.js": +/*!***************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleDomAPI.js ***! + \***************************************************************/ +/***/ (function(module) { + +"use strict"; + + +/* istanbul ignore next */ +function apply(styleElement, options, obj) { + var css = ""; + + if (obj.supports) { + css += "@supports (".concat(obj.supports, ") {"); + } + + if (obj.media) { + css += "@media ".concat(obj.media, " {"); + } + + var needLayer = typeof obj.layer !== "undefined"; + + if (needLayer) { + css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {"); + } + + css += obj.css; + + if (needLayer) { + css += "}"; + } + + if (obj.media) { + css += "}"; + } + + if (obj.supports) { + css += "}"; + } + + var sourceMap = obj.sourceMap; + + if (sourceMap && typeof btoa !== "undefined") { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } // For old IE + + /* istanbul ignore if */ + + + options.styleTagTransform(css, styleElement, options.options); +} + +function removeStyleElement(styleElement) { + // istanbul ignore if + if (styleElement.parentNode === null) { + return false; + } + + styleElement.parentNode.removeChild(styleElement); +} +/* istanbul ignore next */ + + +function domAPI(options) { + var styleElement = options.insertStyleElement(options); + return { + update: function update(obj) { + apply(styleElement, options, obj); + }, + remove: function remove() { + removeStyleElement(styleElement); + } + }; +} + +module.exports = domAPI; + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/styleTagTransform.js": +/*!*********************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/styleTagTransform.js ***! + \*********************************************************************/ +/***/ (function(module) { + +"use strict"; + + +/* istanbul ignore next */ +function styleTagTransform(css, styleElement) { + if (styleElement.styleSheet) { + styleElement.styleSheet.cssText = css; + } else { + while (styleElement.firstChild) { + styleElement.removeChild(styleElement.firstChild); + } + + styleElement.appendChild(document.createTextNode(css)); + } +} + +module.exports = styleTagTransform; + +/***/ }), + +/***/ "./node_modules/url/url.js": +/*!*********************************!*\ + !*** ./node_modules/url/url.js ***! + \*********************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + +"use strict"; +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +var punycode = __webpack_require__(/*! punycode */ "./node_modules/punycode/punycode.js"); +var util = __webpack_require__(/*! ./util */ "./node_modules/url/util.js"); + +exports.parse = urlParse; +exports.resolve = urlResolve; +exports.resolveObject = urlResolveObject; +exports.format = urlFormat; + +exports.Url = Url; + +function Url() { + this.protocol = null; + this.slashes = null; + this.auth = null; + this.host = null; + this.port = null; + this.hostname = null; + this.hash = null; + this.search = null; + this.query = null; + this.pathname = null; + this.path = null; + this.href = null; +} + +// Reference: RFC 3986, RFC 1808, RFC 2396 + +// define these here so at least they only have to be +// compiled once on the first module load. +var protocolPattern = /^([a-z0-9.+-]+:)/i, + portPattern = /:[0-9]*$/, + + // Special case for a simple path URL + simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, + + // RFC 2396: characters reserved for delimiting URLs. + // We actually just auto-escape these. + delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], + + // RFC 2396: characters not allowed for various reasons. + unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), + + // Allowed by RFCs, but cause of XSS attacks. Always escape these. + autoEscape = ['\''].concat(unwise), + // Characters that are never ever allowed in a hostname. + // Note that any invalid chars are also handled, but these + // are the ones that are *expected* to be seen, so we fast-path + // them. + nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), + hostEndingChars = ['/', '?', '#'], + hostnameMaxLen = 255, + hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, + hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, + // protocols that can allow "unsafe" and "unwise" chars. + unsafeProtocol = { + 'javascript': true, + 'javascript:': true + }, + // protocols that never have a hostname. + hostlessProtocol = { + 'javascript': true, + 'javascript:': true + }, + // protocols that always contain a // bit. + slashedProtocol = { + 'http': true, + 'https': true, + 'ftp': true, + 'gopher': true, + 'file': true, + 'http:': true, + 'https:': true, + 'ftp:': true, + 'gopher:': true, + 'file:': true + }, + querystring = __webpack_require__(/*! querystring */ "./node_modules/querystring/index.js"); + +function urlParse(url, parseQueryString, slashesDenoteHost) { + if (url && util.isObject(url) && url instanceof Url) return url; + + var u = new Url; + u.parse(url, parseQueryString, slashesDenoteHost); + return u; +} + +Url.prototype.parse = function(url, parseQueryString, slashesDenoteHost) { + if (!util.isString(url)) { + throw new TypeError("Parameter 'url' must be a string, not " + typeof url); + } + + // Copy chrome, IE, opera backslash-handling behavior. + // Back slashes before the query string get converted to forward slashes + // See: https://code.google.com/p/chromium/issues/detail?id=25916 + var queryIndex = url.indexOf('?'), + splitter = + (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#', + uSplit = url.split(splitter), + slashRegex = /\\/g; + uSplit[0] = uSplit[0].replace(slashRegex, '/'); + url = uSplit.join(splitter); + + var rest = url; + + // trim before proceeding. + // This is to support parse stuff like " http://foo.com \n" + rest = rest.trim(); + + if (!slashesDenoteHost && url.split('#').length === 1) { + // Try fast path regexp + var simplePath = simplePathPattern.exec(rest); + if (simplePath) { + this.path = rest; + this.href = rest; + this.pathname = simplePath[1]; + if (simplePath[2]) { + this.search = simplePath[2]; + if (parseQueryString) { + this.query = querystring.parse(this.search.substr(1)); + } else { + this.query = this.search.substr(1); + } + } else if (parseQueryString) { + this.search = ''; + this.query = {}; + } + return this; + } + } + + var proto = protocolPattern.exec(rest); + if (proto) { + proto = proto[0]; + var lowerProto = proto.toLowerCase(); + this.protocol = lowerProto; + rest = rest.substr(proto.length); + } + + // figure out if it's got a host + // user@server is *always* interpreted as a hostname, and url + // resolution will treat //foo/bar as host=foo,path=bar because that's + // how the browser resolves relative URLs. + if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { + var slashes = rest.substr(0, 2) === '//'; + if (slashes && !(proto && hostlessProtocol[proto])) { + rest = rest.substr(2); + this.slashes = true; + } + } + + if (!hostlessProtocol[proto] && + (slashes || (proto && !slashedProtocol[proto]))) { + + // there's a hostname. + // the first instance of /, ?, ;, or # ends the host. + // + // If there is an @ in the hostname, then non-host chars *are* allowed + // to the left of the last @ sign, unless some host-ending character + // comes *before* the @-sign. + // URLs are obnoxious. + // + // ex: + // http://a@b@c/ => user:a@b host:c + // http://a@b?@c => user:a host:c path:/?@c + + // v0.12 TODO(isaacs): This is not quite how Chrome does things. + // Review our test case against browsers more comprehensively. + + // find the first instance of any hostEndingChars + var hostEnd = -1; + for (var i = 0; i < hostEndingChars.length; i++) { + var hec = rest.indexOf(hostEndingChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) + hostEnd = hec; + } + + // at this point, either we have an explicit point where the + // auth portion cannot go past, or the last @ char is the decider. + var auth, atSign; + if (hostEnd === -1) { + // atSign can be anywhere. + atSign = rest.lastIndexOf('@'); + } else { + // atSign must be in auth portion. + // http://a@b/c@d => host:b auth:a path:/c@d + atSign = rest.lastIndexOf('@', hostEnd); + } + + // Now we have a portion which is definitely the auth. + // Pull that off. + if (atSign !== -1) { + auth = rest.slice(0, atSign); + rest = rest.slice(atSign + 1); + this.auth = decodeURIComponent(auth); + } + + // the host is the remaining to the left of the first non-host char + hostEnd = -1; + for (var i = 0; i < nonHostChars.length; i++) { + var hec = rest.indexOf(nonHostChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) + hostEnd = hec; + } + // if we still have not hit it, then the entire thing is a host. + if (hostEnd === -1) + hostEnd = rest.length; + + this.host = rest.slice(0, hostEnd); + rest = rest.slice(hostEnd); + + // pull out port. + this.parseHost(); + + // we've indicated that there is a hostname, + // so even if it's empty, it has to be present. + this.hostname = this.hostname || ''; + + // if hostname begins with [ and ends with ] + // assume that it's an IPv6 address. + var ipv6Hostname = this.hostname[0] === '[' && + this.hostname[this.hostname.length - 1] === ']'; + + // validate a little. + if (!ipv6Hostname) { + var hostparts = this.hostname.split(/\./); + for (var i = 0, l = hostparts.length; i < l; i++) { + var part = hostparts[i]; + if (!part) continue; + if (!part.match(hostnamePartPattern)) { + var newpart = ''; + for (var j = 0, k = part.length; j < k; j++) { + if (part.charCodeAt(j) > 127) { + // we replace non-ASCII char with a temporary placeholder + // we need this to make sure size of hostname is not + // broken by replacing non-ASCII by nothing + newpart += 'x'; + } else { + newpart += part[j]; + } + } + // we test again with ASCII char only + if (!newpart.match(hostnamePartPattern)) { + var validParts = hostparts.slice(0, i); + var notHost = hostparts.slice(i + 1); + var bit = part.match(hostnamePartStart); + if (bit) { + validParts.push(bit[1]); + notHost.unshift(bit[2]); + } + if (notHost.length) { + rest = '/' + notHost.join('.') + rest; + } + this.hostname = validParts.join('.'); + break; + } + } + } + } + + if (this.hostname.length > hostnameMaxLen) { + this.hostname = ''; + } else { + // hostnames are always lower case. + this.hostname = this.hostname.toLowerCase(); + } + + if (!ipv6Hostname) { + // IDNA Support: Returns a punycoded representation of "domain". + // It only converts parts of the domain name that + // have non-ASCII characters, i.e. it doesn't matter if + // you call it with a domain that already is ASCII-only. + this.hostname = punycode.toASCII(this.hostname); + } + + var p = this.port ? ':' + this.port : ''; + var h = this.hostname || ''; + this.host = h + p; + this.href += this.host; + + // strip [ and ] from the hostname + // the host field still retains them, though + if (ipv6Hostname) { + this.hostname = this.hostname.substr(1, this.hostname.length - 2); + if (rest[0] !== '/') { + rest = '/' + rest; + } + } + } + + // now rest is set to the post-host stuff. + // chop off any delim chars. + if (!unsafeProtocol[lowerProto]) { + + // First, make 100% sure that any "autoEscape" chars get + // escaped, even if encodeURIComponent doesn't think they + // need to be. + for (var i = 0, l = autoEscape.length; i < l; i++) { + var ae = autoEscape[i]; + if (rest.indexOf(ae) === -1) + continue; + var esc = encodeURIComponent(ae); + if (esc === ae) { + esc = escape(ae); + } + rest = rest.split(ae).join(esc); + } + } + + + // chop off from the tail first. + var hash = rest.indexOf('#'); + if (hash !== -1) { + // got a fragment string. + this.hash = rest.substr(hash); + rest = rest.slice(0, hash); + } + var qm = rest.indexOf('?'); + if (qm !== -1) { + this.search = rest.substr(qm); + this.query = rest.substr(qm + 1); + if (parseQueryString) { + this.query = querystring.parse(this.query); + } + rest = rest.slice(0, qm); + } else if (parseQueryString) { + // no query string, but parseQueryString still requested + this.search = ''; + this.query = {}; + } + if (rest) this.pathname = rest; + if (slashedProtocol[lowerProto] && + this.hostname && !this.pathname) { + this.pathname = '/'; + } + + //to support http.request + if (this.pathname || this.search) { + var p = this.pathname || ''; + var s = this.search || ''; + this.path = p + s; + } + + // finally, reconstruct the href based on what has been validated. + this.href = this.format(); + return this; +}; + +// format a parsed object into a url string +function urlFormat(obj) { + // ensure it's an object, and not a string url. + // If it's an obj, this is a no-op. + // this way, you can call url_format() on strings + // to clean up potentially wonky urls. + if (util.isString(obj)) obj = urlParse(obj); + if (!(obj instanceof Url)) return Url.prototype.format.call(obj); + return obj.format(); +} + +Url.prototype.format = function() { + var auth = this.auth || ''; + if (auth) { + auth = encodeURIComponent(auth); + auth = auth.replace(/%3A/i, ':'); + auth += '@'; + } + + var protocol = this.protocol || '', + pathname = this.pathname || '', + hash = this.hash || '', + host = false, + query = ''; + + if (this.host) { + host = auth + this.host; + } else if (this.hostname) { + host = auth + (this.hostname.indexOf(':') === -1 ? + this.hostname : + '[' + this.hostname + ']'); + if (this.port) { + host += ':' + this.port; + } + } + + if (this.query && + util.isObject(this.query) && + Object.keys(this.query).length) { + query = querystring.stringify(this.query); + } + + var search = this.search || (query && ('?' + query)) || ''; + + if (protocol && protocol.substr(-1) !== ':') protocol += ':'; + + // only the slashedProtocols get the //. Not mailto:, xmpp:, etc. + // unless they had them to begin with. + if (this.slashes || + (!protocol || slashedProtocol[protocol]) && host !== false) { + host = '//' + (host || ''); + if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname; + } else if (!host) { + host = ''; + } + + if (hash && hash.charAt(0) !== '#') hash = '#' + hash; + if (search && search.charAt(0) !== '?') search = '?' + search; + + pathname = pathname.replace(/[?#]/g, function(match) { + return encodeURIComponent(match); + }); + search = search.replace('#', '%23'); + + return protocol + host + pathname + search + hash; +}; + +function urlResolve(source, relative) { + return urlParse(source, false, true).resolve(relative); +} + +Url.prototype.resolve = function(relative) { + return this.resolveObject(urlParse(relative, false, true)).format(); +}; + +function urlResolveObject(source, relative) { + if (!source) return relative; + return urlParse(source, false, true).resolveObject(relative); +} + +Url.prototype.resolveObject = function(relative) { + if (util.isString(relative)) { + var rel = new Url(); + rel.parse(relative, false, true); + relative = rel; + } + + var result = new Url(); + var tkeys = Object.keys(this); + for (var tk = 0; tk < tkeys.length; tk++) { + var tkey = tkeys[tk]; + result[tkey] = this[tkey]; + } + + // hash is always overridden, no matter what. + // even href="" will remove it. + result.hash = relative.hash; + + // if the relative url is empty, then there's nothing left to do here. + if (relative.href === '') { + result.href = result.format(); + return result; + } + + // hrefs like //foo/bar always cut to the protocol. + if (relative.slashes && !relative.protocol) { + // take everything except the protocol from relative + var rkeys = Object.keys(relative); + for (var rk = 0; rk < rkeys.length; rk++) { + var rkey = rkeys[rk]; + if (rkey !== 'protocol') + result[rkey] = relative[rkey]; + } + + //urlParse appends trailing / to urls like http://www.example.com + if (slashedProtocol[result.protocol] && + result.hostname && !result.pathname) { + result.path = result.pathname = '/'; + } + + result.href = result.format(); + return result; + } + + if (relative.protocol && relative.protocol !== result.protocol) { + // if it's a known url protocol, then changing + // the protocol does weird things + // first, if it's not file:, then we MUST have a host, + // and if there was a path + // to begin with, then we MUST have a path. + // if it is file:, then the host is dropped, + // because that's known to be hostless. + // anything else is assumed to be absolute. + if (!slashedProtocol[relative.protocol]) { + var keys = Object.keys(relative); + for (var v = 0; v < keys.length; v++) { + var k = keys[v]; + result[k] = relative[k]; + } + result.href = result.format(); + return result; + } + + result.protocol = relative.protocol; + if (!relative.host && !hostlessProtocol[relative.protocol]) { + var relPath = (relative.pathname || '').split('/'); + while (relPath.length && !(relative.host = relPath.shift())); + if (!relative.host) relative.host = ''; + if (!relative.hostname) relative.hostname = ''; + if (relPath[0] !== '') relPath.unshift(''); + if (relPath.length < 2) relPath.unshift(''); + result.pathname = relPath.join('/'); + } else { + result.pathname = relative.pathname; + } + result.search = relative.search; + result.query = relative.query; + result.host = relative.host || ''; + result.auth = relative.auth; + result.hostname = relative.hostname || relative.host; + result.port = relative.port; + // to support http.request + if (result.pathname || result.search) { + var p = result.pathname || ''; + var s = result.search || ''; + result.path = p + s; + } + result.slashes = result.slashes || relative.slashes; + result.href = result.format(); + return result; + } + + var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'), + isRelAbs = ( + relative.host || + relative.pathname && relative.pathname.charAt(0) === '/' + ), + mustEndAbs = (isRelAbs || isSourceAbs || + (result.host && relative.pathname)), + removeAllDots = mustEndAbs, + srcPath = result.pathname && result.pathname.split('/') || [], + relPath = relative.pathname && relative.pathname.split('/') || [], + psychotic = result.protocol && !slashedProtocol[result.protocol]; + + // if the url is a non-slashed url, then relative + // links like ../.. should be able + // to crawl up to the hostname, as well. This is strange. + // result.protocol has already been set by now. + // Later on, put the first path part into the host field. + if (psychotic) { + result.hostname = ''; + result.port = null; + if (result.host) { + if (srcPath[0] === '') srcPath[0] = result.host; + else srcPath.unshift(result.host); + } + result.host = ''; + if (relative.protocol) { + relative.hostname = null; + relative.port = null; + if (relative.host) { + if (relPath[0] === '') relPath[0] = relative.host; + else relPath.unshift(relative.host); + } + relative.host = null; + } + mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === ''); + } + + if (isRelAbs) { + // it's absolute. + result.host = (relative.host || relative.host === '') ? + relative.host : result.host; + result.hostname = (relative.hostname || relative.hostname === '') ? + relative.hostname : result.hostname; + result.search = relative.search; + result.query = relative.query; + srcPath = relPath; + // fall through to the dot-handling below. + } else if (relPath.length) { + // it's relative + // throw away the existing file, and take the new path instead. + if (!srcPath) srcPath = []; + srcPath.pop(); + srcPath = srcPath.concat(relPath); + result.search = relative.search; + result.query = relative.query; + } else if (!util.isNullOrUndefined(relative.search)) { + // just pull out the search. + // like href='?foo'. + // Put this after the other two cases because it simplifies the booleans + if (psychotic) { + result.hostname = result.host = srcPath.shift(); + //occationaly the auth can get stuck only in host + //this especially happens in cases like + //url.resolveObject('mailto:local1@domain1', 'local2@domain2') + var authInHost = result.host && result.host.indexOf('@') > 0 ? + result.host.split('@') : false; + if (authInHost) { + result.auth = authInHost.shift(); + result.host = result.hostname = authInHost.shift(); + } + } + result.search = relative.search; + result.query = relative.query; + //to support http.request + if (!util.isNull(result.pathname) || !util.isNull(result.search)) { + result.path = (result.pathname ? result.pathname : '') + + (result.search ? result.search : ''); + } + result.href = result.format(); + return result; + } + + if (!srcPath.length) { + // no path at all. easy. + // we've already handled the other stuff above. + result.pathname = null; + //to support http.request + if (result.search) { + result.path = '/' + result.search; + } else { + result.path = null; + } + result.href = result.format(); + return result; + } + + // if a url ENDs in . or .., then it must get a trailing slash. + // however, if it ends in anything else non-slashy, + // then it must NOT get a trailing slash. + var last = srcPath.slice(-1)[0]; + var hasTrailingSlash = ( + (result.host || relative.host || srcPath.length > 1) && + (last === '.' || last === '..') || last === ''); + + // strip single dots, resolve double dots to parent dir + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = srcPath.length; i >= 0; i--) { + last = srcPath[i]; + if (last === '.') { + srcPath.splice(i, 1); + } else if (last === '..') { + srcPath.splice(i, 1); + up++; + } else if (up) { + srcPath.splice(i, 1); + up--; + } + } + + // if the path is allowed to go above the root, restore leading ..s + if (!mustEndAbs && !removeAllDots) { + for (; up--; up) { + srcPath.unshift('..'); + } + } + + if (mustEndAbs && srcPath[0] !== '' && + (!srcPath[0] || srcPath[0].charAt(0) !== '/')) { + srcPath.unshift(''); + } + + if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) { + srcPath.push(''); + } + + var isAbsolute = srcPath[0] === '' || + (srcPath[0] && srcPath[0].charAt(0) === '/'); + + // put the host back + if (psychotic) { + result.hostname = result.host = isAbsolute ? '' : + srcPath.length ? srcPath.shift() : ''; + //occationaly the auth can get stuck only in host + //this especially happens in cases like + //url.resolveObject('mailto:local1@domain1', 'local2@domain2') + var authInHost = result.host && result.host.indexOf('@') > 0 ? + result.host.split('@') : false; + if (authInHost) { + result.auth = authInHost.shift(); + result.host = result.hostname = authInHost.shift(); + } + } + + mustEndAbs = mustEndAbs || (result.host && srcPath.length); + + if (mustEndAbs && !isAbsolute) { + srcPath.unshift(''); + } + + if (!srcPath.length) { + result.pathname = null; + result.path = null; + } else { + result.pathname = srcPath.join('/'); + } + + //to support request.http + if (!util.isNull(result.pathname) || !util.isNull(result.search)) { + result.path = (result.pathname ? result.pathname : '') + + (result.search ? result.search : ''); + } + result.auth = relative.auth || result.auth; + result.slashes = result.slashes || relative.slashes; + result.href = result.format(); + return result; +}; + +Url.prototype.parseHost = function() { + var host = this.host; + var port = portPattern.exec(host); + if (port) { + port = port[0]; + if (port !== ':') { + this.port = port.substr(1); + } + host = host.substr(0, host.length - port.length); + } + if (host) this.hostname = host; +}; + + +/***/ }), + +/***/ "./node_modules/url/util.js": +/*!**********************************!*\ + !*** ./node_modules/url/util.js ***! + \**********************************/ +/***/ (function(module) { + +"use strict"; + + +module.exports = { + isString: function(arg) { + return typeof(arg) === 'string'; + }, + isObject: function(arg) { + return typeof(arg) === 'object' && arg !== null; + }, + isNull: function(arg) { + return arg === null; + }, + isNullOrUndefined: function(arg) { + return arg == null; + } +}; + + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/clients/WebSocketClient.js": +/*!***************************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/clients/WebSocketClient.js ***! + \***************************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ WebSocketClient; } +/* harmony export */ }); +/* harmony import */ var _utils_log_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/log.js */ "./node_modules/webpack-dev-server/client/utils/log.js"); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + + +var WebSocketClient = /*#__PURE__*/function () { + function WebSocketClient(url) { + _classCallCheck(this, WebSocketClient); + + this.client = new WebSocket(url); + + this.client.onerror = function (error) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_0__.log.error(error); + }; + } + + _createClass(WebSocketClient, [{ + key: "onOpen", + value: function onOpen(f) { + this.client.onopen = f; + } + }, { + key: "onClose", + value: function onClose(f) { + this.client.onclose = f; + } // call f with the message string as the first argument + + }, { + key: "onMessage", + value: function onMessage(f) { + this.client.onmessage = function (e) { + f(e.data); + }; + } + }]); + + return WebSocketClient; +}(); + + + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/index.js?protocol=wss%3A&hostname=demo.armandphilippot.test&port=8080&pathname=%2Fws&logging=info": +/*!**************************************************************************************************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/index.js?protocol=wss%3A&hostname=demo.armandphilippot.test&port=8080&pathname=%2Fws&logging=info ***! + \**************************************************************************************************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +var __resourceQuery = "?protocol=wss%3A&hostname=demo.armandphilippot.test&port=8080&pathname=%2Fws&logging=info"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var webpack_hot_log_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! webpack/hot/log.js */ "./node_modules/webpack/hot/log.js"); +/* harmony import */ var webpack_hot_log_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(webpack_hot_log_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _modules_strip_ansi_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/strip-ansi/index.js */ "./node_modules/webpack-dev-server/client/modules/strip-ansi/index.js"); +/* harmony import */ var _modules_strip_ansi_index_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_modules_strip_ansi_index_js__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _utils_parseURL_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/parseURL.js */ "./node_modules/webpack-dev-server/client/utils/parseURL.js"); +/* harmony import */ var _socket_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./socket.js */ "./node_modules/webpack-dev-server/client/socket.js"); +/* harmony import */ var _overlay_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./overlay.js */ "./node_modules/webpack-dev-server/client/overlay.js"); +/* harmony import */ var _utils_log_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/log.js */ "./node_modules/webpack-dev-server/client/utils/log.js"); +/* harmony import */ var _utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/sendMessage.js */ "./node_modules/webpack-dev-server/client/utils/sendMessage.js"); +/* harmony import */ var _utils_reloadApp_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/reloadApp.js */ "./node_modules/webpack-dev-server/client/utils/reloadApp.js"); +/* harmony import */ var _utils_createSocketURL_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/createSocketURL.js */ "./node_modules/webpack-dev-server/client/utils/createSocketURL.js"); +/* global __resourceQuery, __webpack_hash__ */ + + + + + + + + + +var status = { + isUnloading: false, + // TODO Workaround for webpack v4, `__webpack_hash__` is not replaced without HotModuleReplacement + // eslint-disable-next-line camelcase + currentHash: true ? __webpack_require__.h() : 0 +}; // console.log(__webpack_hash__); + +var options = { + hot: false, + liveReload: false, + progress: false, + overlay: false +}; +var parsedResourceQuery = (0,_utils_parseURL_js__WEBPACK_IMPORTED_MODULE_2__["default"])(__resourceQuery); + +if (parsedResourceQuery.hot === "true") { + options.hot = true; + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("Hot Module Replacement enabled."); +} + +if (parsedResourceQuery["live-reload"] === "true") { + options.liveReload = true; + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("Live Reloading enabled."); +} + +if (parsedResourceQuery.logging) { + options.logging = parsedResourceQuery.logging; +} + +function setAllLogLevel(level) { + // This is needed because the HMR logger operate separately from dev server logger + webpack_hot_log_js__WEBPACK_IMPORTED_MODULE_0___default().setLogLevel(level === "verbose" || level === "log" ? "info" : level); + (0,_utils_log_js__WEBPACK_IMPORTED_MODULE_5__.setLogLevel)(level); +} + +if (options.logging) { + setAllLogLevel(options.logging); +} + +self.addEventListener("beforeunload", function () { + status.isUnloading = true; +}); +var onSocketMessage = { + hot: function hot() { + if (parsedResourceQuery.hot === "false") { + return; + } + + options.hot = true; + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("Hot Module Replacement enabled."); + }, + liveReload: function liveReload() { + if (parsedResourceQuery["live-reload"] === "false") { + return; + } + + options.liveReload = true; + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("Live Reloading enabled."); + }, + invalid: function invalid() { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("App updated. Recompiling..."); // Fixes #1042. overlay doesn't clear if errors are fixed but warnings remain. + + if (options.overlay) { + (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.hide)(); + } + + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("Invalid"); + }, + hash: function hash(_hash) { + status.previousHash = status.currentHash; + status.currentHash = _hash; + }, + logging: setAllLogLevel, + overlay: function overlay(value) { + if (typeof document === "undefined") { + return; + } + + options.overlay = value; + }, + progress: function progress(_progress) { + options.progress = _progress; + }, + "progress-update": function progressUpdate(data) { + if (options.progress) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("".concat(data.pluginName ? "[".concat(data.pluginName, "] ") : "").concat(data.percent, "% - ").concat(data.msg, ".")); + } + + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("Progress", data); + }, + "still-ok": function stillOk() { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("Nothing changed."); + + if (options.overlay) { + (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.hide)(); + } + + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("StillOk"); + }, + ok: function ok() { + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("Ok"); + + if (options.overlay) { + (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.hide)(); + } + + (0,_utils_reloadApp_js__WEBPACK_IMPORTED_MODULE_7__["default"])(options, status); + }, + // TODO: remove in v5 in favor of 'static-changed' + "content-changed": function contentChanged(file) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("".concat(file ? "\"".concat(file, "\"") : "Content", " from static directory was changed. Reloading...")); + self.location.reload(); + }, + "static-changed": function staticChanged(file) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("".concat(file ? "\"".concat(file, "\"") : "Content", " from static directory was changed. Reloading...")); + self.location.reload(); + }, + warnings: function warnings(_warnings) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.warn("Warnings while compiling."); + + var printableWarnings = _warnings.map(function (error) { + var _formatProblem = (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.formatProblem)("warning", error), + header = _formatProblem.header, + body = _formatProblem.body; + + return "".concat(header, "\n").concat(_modules_strip_ansi_index_js__WEBPACK_IMPORTED_MODULE_1___default()(body)); + }); + + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("Warnings", printableWarnings); + + for (var i = 0; i < printableWarnings.length; i++) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.warn(printableWarnings[i]); + } + + var needShowOverlayForWarnings = typeof options.overlay === "boolean" ? options.overlay : options.overlay && options.overlay.warnings; + + if (needShowOverlayForWarnings) { + (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.show)("warning", _warnings); + } + + (0,_utils_reloadApp_js__WEBPACK_IMPORTED_MODULE_7__["default"])(options, status); + }, + errors: function errors(_errors) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.error("Errors while compiling. Reload prevented."); + + var printableErrors = _errors.map(function (error) { + var _formatProblem2 = (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.formatProblem)("error", error), + header = _formatProblem2.header, + body = _formatProblem2.body; + + return "".concat(header, "\n").concat(_modules_strip_ansi_index_js__WEBPACK_IMPORTED_MODULE_1___default()(body)); + }); + + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("Errors", printableErrors); + + for (var i = 0; i < printableErrors.length; i++) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.error(printableErrors[i]); + } + + var needShowOverlayForErrors = typeof options.overlay === "boolean" ? options.overlay : options.overlay && options.overlay.errors; + + if (needShowOverlayForErrors) { + (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.show)("error", _errors); + } + }, + error: function error(_error) { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.error(_error); + }, + close: function close() { + _utils_log_js__WEBPACK_IMPORTED_MODULE_5__.log.info("Disconnected!"); + + if (options.overlay) { + (0,_overlay_js__WEBPACK_IMPORTED_MODULE_4__.hide)(); + } + + (0,_utils_sendMessage_js__WEBPACK_IMPORTED_MODULE_6__["default"])("Close"); + } +}; +var socketURL = (0,_utils_createSocketURL_js__WEBPACK_IMPORTED_MODULE_8__["default"])(parsedResourceQuery); +(0,_socket_js__WEBPACK_IMPORTED_MODULE_3__["default"])(socketURL, onSocketMessage); + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/modules/logger/index.js": +/*!************************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/modules/logger/index.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./client-src/modules/logger/SyncBailHookFake.js": +/*!*******************************************************!*\ + !*** ./client-src/modules/logger/SyncBailHookFake.js ***! + \*******************************************************/ +/***/ (function(module) { + + +/** + * Client stub for tapable SyncBailHook + */ + +module.exports = function clientTapableSyncBailHook() { + return { + call: function call() {} + }; +}; + +/***/ }), + +/***/ "./node_modules/webpack/lib/logging/Logger.js": +/*!****************************************************!*\ + !*** ./node_modules/webpack/lib/logging/Logger.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _iterableToArray(iter) { + if (typeof (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }) !== "undefined" && iter[(typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }).iterator] != null || iter["@@iterator"] != null) return Array.from(iter); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +var LogType = Object.freeze({ + error: "error", + // message, c style arguments + warn: "warn", + // message, c style arguments + info: "info", + // message, c style arguments + log: "log", + // message, c style arguments + debug: "debug", + // message, c style arguments + trace: "trace", + // no arguments + group: "group", + // [label] + groupCollapsed: "groupCollapsed", + // [label] + groupEnd: "groupEnd", + // [label] + profile: "profile", + // [profileName] + profileEnd: "profileEnd", + // [profileName] + time: "time", + // name, time as [seconds, nanoseconds] + clear: "clear", + // no arguments + status: "status" // message, arguments + +}); +exports.LogType = LogType; +/** @typedef {typeof LogType[keyof typeof LogType]} LogTypeEnum */ + +var LOG_SYMBOL = (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; })("webpack logger raw log method"); +var TIMERS_SYMBOL = (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; })("webpack logger times"); +var TIMERS_AGGREGATES_SYMBOL = (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; })("webpack logger aggregated times"); + +var WebpackLogger = /*#__PURE__*/function () { + /** + * @param {function(LogTypeEnum, any[]=): void} log log function + * @param {function(string | function(): string): WebpackLogger} getChildLogger function to create child logger + */ + function WebpackLogger(log, getChildLogger) { + _classCallCheck(this, WebpackLogger); + + this[LOG_SYMBOL] = log; + this.getChildLogger = getChildLogger; + } + + _createClass(WebpackLogger, [{ + key: "error", + value: function error() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + this[LOG_SYMBOL](LogType.error, args); + } + }, { + key: "warn", + value: function warn() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + this[LOG_SYMBOL](LogType.warn, args); + } + }, { + key: "info", + value: function info() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + this[LOG_SYMBOL](LogType.info, args); + } + }, { + key: "log", + value: function log() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + + this[LOG_SYMBOL](LogType.log, args); + } + }, { + key: "debug", + value: function debug() { + for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { + args[_key5] = arguments[_key5]; + } + + this[LOG_SYMBOL](LogType.debug, args); + } + }, { + key: "assert", + value: function assert(assertion) { + if (!assertion) { + for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) { + args[_key6 - 1] = arguments[_key6]; + } + + this[LOG_SYMBOL](LogType.error, args); + } + } + }, { + key: "trace", + value: function trace() { + this[LOG_SYMBOL](LogType.trace, ["Trace"]); + } + }, { + key: "clear", + value: function clear() { + this[LOG_SYMBOL](LogType.clear); + } + }, { + key: "status", + value: function status() { + for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { + args[_key7] = arguments[_key7]; + } + + this[LOG_SYMBOL](LogType.status, args); + } + }, { + key: "group", + value: function group() { + for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { + args[_key8] = arguments[_key8]; + } + + this[LOG_SYMBOL](LogType.group, args); + } + }, { + key: "groupCollapsed", + value: function groupCollapsed() { + for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { + args[_key9] = arguments[_key9]; + } + + this[LOG_SYMBOL](LogType.groupCollapsed, args); + } + }, { + key: "groupEnd", + value: function groupEnd() { + for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { + args[_key10] = arguments[_key10]; + } + + this[LOG_SYMBOL](LogType.groupEnd, args); + } + }, { + key: "profile", + value: function profile(label) { + this[LOG_SYMBOL](LogType.profile, [label]); + } + }, { + key: "profileEnd", + value: function profileEnd(label) { + this[LOG_SYMBOL](LogType.profileEnd, [label]); + } + }, { + key: "time", + value: function time(label) { + this[TIMERS_SYMBOL] = this[TIMERS_SYMBOL] || new Map(); + this[TIMERS_SYMBOL].set(label, process.hrtime()); + } + }, { + key: "timeLog", + value: function timeLog(label) { + var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label); + + if (!prev) { + throw new Error("No such label '".concat(label, "' for WebpackLogger.timeLog()")); + } + + var time = process.hrtime(prev); + this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time))); + } + }, { + key: "timeEnd", + value: function timeEnd(label) { + var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label); + + if (!prev) { + throw new Error("No such label '".concat(label, "' for WebpackLogger.timeEnd()")); + } + + var time = process.hrtime(prev); + this[TIMERS_SYMBOL].delete(label); + this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time))); + } + }, { + key: "timeAggregate", + value: function timeAggregate(label) { + var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label); + + if (!prev) { + throw new Error("No such label '".concat(label, "' for WebpackLogger.timeAggregate()")); + } + + var time = process.hrtime(prev); + this[TIMERS_SYMBOL].delete(label); + this[TIMERS_AGGREGATES_SYMBOL] = this[TIMERS_AGGREGATES_SYMBOL] || new Map(); + var current = this[TIMERS_AGGREGATES_SYMBOL].get(label); + + if (current !== undefined) { + if (time[1] + current[1] > 1e9) { + time[0] += current[0] + 1; + time[1] = time[1] - 1e9 + current[1]; + } else { + time[0] += current[0]; + time[1] += current[1]; + } + } + + this[TIMERS_AGGREGATES_SYMBOL].set(label, time); + } + }, { + key: "timeAggregateEnd", + value: function timeAggregateEnd(label) { + if (this[TIMERS_AGGREGATES_SYMBOL] === undefined) return; + var time = this[TIMERS_AGGREGATES_SYMBOL].get(label); + if (time === undefined) return; + this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time))); + } + }]); + + return WebpackLogger; +}(); + +exports.Logger = WebpackLogger; + +/***/ }), + +/***/ "./node_modules/webpack/lib/logging/createConsoleLogger.js": +/*!*****************************************************************!*\ + !*** ./node_modules/webpack/lib/logging/createConsoleLogger.js ***! + \*****************************************************************/ +/***/ (function(module, __unused_webpack_exports, __nested_webpack_require_10262__) { + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} + +function _unsupportedIterableToArray(o, minLen) { + if (!o) return; + if (typeof o === "string") return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) n = o.constructor.name; + if (n === "Map" || n === "Set") return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); +} + +function _iterableToArray(iter) { + if (typeof (typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }) !== "undefined" && iter[(typeof Symbol !== "undefined" ? Symbol : function (i) { return i; }).iterator] != null || iter["@@iterator"] != null) return Array.from(iter); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) return _arrayLikeToArray(arr); +} + +function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) len = arr.length; + + for (var i = 0, arr2 = new Array(len); i < len; i++) { + arr2[i] = arr[i]; + } + + return arr2; +} + +var _require = __nested_webpack_require_10262__(/*! ./Logger */ "./node_modules/webpack/lib/logging/Logger.js"), + LogType = _require.LogType; +/** @typedef {import("../../declarations/WebpackOptions").FilterItemTypes} FilterItemTypes */ + +/** @typedef {import("../../declarations/WebpackOptions").FilterTypes} FilterTypes */ + +/** @typedef {import("./Logger").LogTypeEnum} LogTypeEnum */ + +/** @typedef {function(string): boolean} FilterFunction */ + +/** + * @typedef {Object} LoggerConsole + * @property {function(): void} clear + * @property {function(): void} trace + * @property {(...args: any[]) => void} info + * @property {(...args: any[]) => void} log + * @property {(...args: any[]) => void} warn + * @property {(...args: any[]) => void} error + * @property {(...args: any[]) => void=} debug + * @property {(...args: any[]) => void=} group + * @property {(...args: any[]) => void=} groupCollapsed + * @property {(...args: any[]) => void=} groupEnd + * @property {(...args: any[]) => void=} status + * @property {(...args: any[]) => void=} profile + * @property {(...args: any[]) => void=} profileEnd + * @property {(...args: any[]) => void=} logTime + */ + +/** + * @typedef {Object} LoggerOptions + * @property {false|true|"none"|"error"|"warn"|"info"|"log"|"verbose"} level loglevel + * @property {FilterTypes|boolean} debug filter for debug logging + * @property {LoggerConsole} console the console to log to + */ + +/** + * @param {FilterItemTypes} item an input item + * @returns {FilterFunction} filter function + */ + + +var filterToFunction = function filterToFunction(item) { + if (typeof item === "string") { + var regExp = new RegExp("[\\\\/]".concat(item.replace( // eslint-disable-next-line no-useless-escape + /[-[\]{}()*+?.\\^$|]/g, "\\$&"), "([\\\\/]|$|!|\\?)")); + return function (ident) { + return regExp.test(ident); + }; + } + + if (item && typeof item === "object" && typeof item.test === "function") { + return function (ident) { + return item.test(ident); + }; + } + + if (typeof item === "function") { + return item; + } + + if (typeof item === "boolean") { + return function () { + return item; + }; + } +}; +/** + * @enum {number} + */ + + +var LogLevel = { + none: 6, + false: 6, + error: 5, + warn: 4, + info: 3, + log: 2, + true: 2, + verbose: 1 +}; +/** + * @param {LoggerOptions} options options object + * @returns {function(string, LogTypeEnum, any[]): void} logging function + */ + +module.exports = function (_ref) { + var _ref$level = _ref.level, + level = _ref$level === void 0 ? "info" : _ref$level, + _ref$debug = _ref.debug, + debug = _ref$debug === void 0 ? false : _ref$debug, + console = _ref.console; + var debugFilters = typeof debug === "boolean" ? [function () { + return debug; + }] : + /** @type {FilterItemTypes[]} */ + [].concat(debug).map(filterToFunction); + /** @type {number} */ + + var loglevel = LogLevel["".concat(level)] || 0; + /** + * @param {string} name name of the logger + * @param {LogTypeEnum} type type of the log entry + * @param {any[]} args arguments of the log entry + * @returns {void} + */ + + var logger = function logger(name, type, args) { + var labeledArgs = function labeledArgs() { + if (Array.isArray(args)) { + if (args.length > 0 && typeof args[0] === "string") { + return ["[".concat(name, "] ").concat(args[0])].concat(_toConsumableArray(args.slice(1))); + } else { + return ["[".concat(name, "]")].concat(_toConsumableArray(args)); + } + } else { + return []; + } + }; + + var debug = debugFilters.some(function (f) { + return f(name); + }); + + switch (type) { + case LogType.debug: + if (!debug) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins + + if (typeof console.debug === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.debug.apply(console, _toConsumableArray(labeledArgs())); + } else { + console.log.apply(console, _toConsumableArray(labeledArgs())); + } + + break; + + case LogType.log: + if (!debug && loglevel > LogLevel.log) return; + console.log.apply(console, _toConsumableArray(labeledArgs())); + break; + + case LogType.info: + if (!debug && loglevel > LogLevel.info) return; + console.info.apply(console, _toConsumableArray(labeledArgs())); + break; + + case LogType.warn: + if (!debug && loglevel > LogLevel.warn) return; + console.warn.apply(console, _toConsumableArray(labeledArgs())); + break; + + case LogType.error: + if (!debug && loglevel > LogLevel.error) return; + console.error.apply(console, _toConsumableArray(labeledArgs())); + break; + + case LogType.trace: + if (!debug) return; + console.trace(); + break; + + case LogType.groupCollapsed: + if (!debug && loglevel > LogLevel.log) return; + + if (!debug && loglevel > LogLevel.verbose) { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + if (typeof console.groupCollapsed === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.groupCollapsed.apply(console, _toConsumableArray(labeledArgs())); + } else { + console.log.apply(console, _toConsumableArray(labeledArgs())); + } + + break; + } + + // falls through + + case LogType.group: + if (!debug && loglevel > LogLevel.log) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins + + if (typeof console.group === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.group.apply(console, _toConsumableArray(labeledArgs())); + } else { + console.log.apply(console, _toConsumableArray(labeledArgs())); + } + + break; + + case LogType.groupEnd: + if (!debug && loglevel > LogLevel.log) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins + + if (typeof console.groupEnd === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.groupEnd(); + } + + break; + + case LogType.time: + { + if (!debug && loglevel > LogLevel.log) return; + var ms = args[1] * 1000 + args[2] / 1000000; + var msg = "[".concat(name, "] ").concat(args[0], ": ").concat(ms, " ms"); + + if (typeof console.logTime === "function") { + console.logTime(msg); + } else { + console.log(msg); + } + + break; + } + + case LogType.profile: + // eslint-disable-next-line node/no-unsupported-features/node-builtins + if (typeof console.profile === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.profile.apply(console, _toConsumableArray(labeledArgs())); + } + + break; + + case LogType.profileEnd: + // eslint-disable-next-line node/no-unsupported-features/node-builtins + if (typeof console.profileEnd === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.profileEnd.apply(console, _toConsumableArray(labeledArgs())); + } + + break; + + case LogType.clear: + if (!debug && loglevel > LogLevel.log) return; // eslint-disable-next-line node/no-unsupported-features/node-builtins + + if (typeof console.clear === "function") { + // eslint-disable-next-line node/no-unsupported-features/node-builtins + console.clear(); + } + + break; + + case LogType.status: + if (!debug && loglevel > LogLevel.info) return; + + if (typeof console.status === "function") { + if (args.length === 0) { + console.status(); + } else { + console.status.apply(console, _toConsumableArray(labeledArgs())); + } + } else { + if (args.length !== 0) { + console.info.apply(console, _toConsumableArray(labeledArgs())); + } + } + + break; + + default: + throw new Error("Unexpected LogType ".concat(type)); + } + }; + + return logger; +}; + +/***/ }), + +/***/ "./node_modules/webpack/lib/logging/runtime.js": +/*!*****************************************************!*\ + !*** ./node_modules/webpack/lib/logging/runtime.js ***! + \*****************************************************/ +/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_20349__) { + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ + + +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +var SyncBailHook = __nested_webpack_require_20349__(/*! tapable/lib/SyncBailHook */ "./client-src/modules/logger/SyncBailHookFake.js"); + +var _require = __nested_webpack_require_20349__(/*! ./Logger */ "./node_modules/webpack/lib/logging/Logger.js"), + Logger = _require.Logger; + +var createConsoleLogger = __nested_webpack_require_20349__(/*! ./createConsoleLogger */ "./node_modules/webpack/lib/logging/createConsoleLogger.js"); +/** @type {createConsoleLogger.LoggerOptions} */ + + +var currentDefaultLoggerOptions = { + level: "info", + debug: false, + console: console +}; +var currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions); +/** + * @param {string} name name of the logger + * @returns {Logger} a logger + */ + +exports.getLogger = function (name) { + return new Logger(function (type, args) { + if (exports.hooks.log.call(name, type, args) === undefined) { + currentDefaultLogger(name, type, args); + } + }, function (childName) { + return exports.getLogger("".concat(name, "/").concat(childName)); + }); +}; +/** + * @param {createConsoleLogger.LoggerOptions} options new options, merge with old options + * @returns {void} + */ + + +exports.configureDefaultLogger = function (options) { + _extends(currentDefaultLoggerOptions, options); + + currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions); +}; + +exports.hooks = { + log: new SyncBailHook(["origin", "type", "args"]) +}; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __nested_webpack_require_22465__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_22465__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __nested_webpack_require_22465__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__nested_webpack_require_22465__.o(definition, key) && !__nested_webpack_require_22465__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __nested_webpack_require_22465__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __nested_webpack_require_22465__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +!function() { +/*!********************************************!*\ + !*** ./client-src/modules/logger/index.js ***! + \********************************************/ +__nested_webpack_require_22465__.r(__webpack_exports__); +/* harmony export */ __nested_webpack_require_22465__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* reexport default export from named module */ webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__; } +/* harmony export */ }); +/* harmony import */ var webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_22465__(/*! webpack/lib/logging/runtime.js */ "./node_modules/webpack/lib/logging/runtime.js"); + +}(); +var __webpack_export_target__ = exports; +for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i]; +if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true }); +/******/ })() +; + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/modules/strip-ansi/index.js": +/*!****************************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/modules/strip-ansi/index.js ***! + \****************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + +/******/ (function() { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/strip-ansi/index.js": +/*!******************************************!*\ + !*** ./node_modules/strip-ansi/index.js ***! + \******************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __nested_webpack_require_368__) { + +__nested_webpack_require_368__.r(__webpack_exports__); +/* harmony export */ __nested_webpack_require_368__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ stripAnsi; } +/* harmony export */ }); +/* harmony import */ var ansi_regex__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_368__(/*! ansi-regex */ "./node_modules/strip-ansi/node_modules/ansi-regex/index.js"); + +function stripAnsi(string) { + if (typeof string !== 'string') { + throw new TypeError("Expected a `string`, got `".concat(typeof string, "`")); + } + + return string.replace((0,ansi_regex__WEBPACK_IMPORTED_MODULE_0__["default"])(), ''); +} + +/***/ }), + +/***/ "./node_modules/strip-ansi/node_modules/ansi-regex/index.js": +/*!******************************************************************!*\ + !*** ./node_modules/strip-ansi/node_modules/ansi-regex/index.js ***! + \******************************************************************/ +/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __nested_webpack_require_1387__) { + +__nested_webpack_require_1387__.r(__webpack_exports__); +/* harmony export */ __nested_webpack_require_1387__.d(__webpack_exports__, { +/* harmony export */ "default": function() { return /* binding */ ansiRegex; } +/* harmony export */ }); +function ansiRegex() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$onlyFirst = _ref.onlyFirst, + onlyFirst = _ref$onlyFirst === void 0 ? false : _ref$onlyFirst; + + var pattern = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'); + return new RegExp(pattern, onlyFirst ? undefined : 'g'); +} + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __nested_webpack_require_2352__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_2352__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ !function() { +/******/ // define getter functions for harmony exports +/******/ __nested_webpack_require_2352__.d = function(exports, definition) { +/******/ for(var key in definition) { +/******/ if(__nested_webpack_require_2352__.o(definition, key) && !__nested_webpack_require_2352__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ }(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ !function() { +/******/ __nested_webpack_require_2352__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } +/******/ }(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ !function() { +/******/ // define __esModule on exports +/******/ __nested_webpack_require_2352__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ }(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +!function() { +/*!************************************************!*\ + !*** ./client-src/modules/strip-ansi/index.js ***! + \************************************************/ +__nested_webpack_require_2352__.r(__webpack_exports__); +/* harmony import */ var strip_ansi__WEBPACK_IMPORTED_MODULE_0__ = __nested_webpack_require_2352__(/*! strip-ansi */ "./node_modules/strip-ansi/index.js"); + +/* harmony default export */ __webpack_exports__["default"] = (strip_ansi__WEBPACK_IMPORTED_MODULE_0__["default"]); +}(); +var __webpack_export_target__ = exports; +for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i]; +if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true }); +/******/ })() +; + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/overlay.js": +/*!***********************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/overlay.js ***! + \***********************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "formatProblem": function() { return /* binding */ formatProblem; }, +/* harmony export */ "show": function() { return /* binding */ show; }, +/* harmony export */ "hide": function() { return /* binding */ hide; } +/* harmony export */ }); +/* harmony import */ var ansi_html_community__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ansi-html-community */ "./node_modules/ansi-html-community/index.js"); +/* harmony import */ var ansi_html_community__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(ansi_html_community__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var html_entities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! html-entities */ "./node_modules/html-entities/lib/index.js"); +/* harmony import */ var html_entities__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(html_entities__WEBPACK_IMPORTED_MODULE_1__); +// The error overlay is inspired (and mostly copied) from Create React App (https://github.com/facebookincubator/create-react-app) +// They, in turn, got inspired by webpack-hot-middleware (https://github.com/glenjamin/webpack-hot-middleware). + + +var colors = { + reset: ["transparent", "transparent"], + black: "181818", + red: "E36049", + green: "B3CB74", + yellow: "FFD080", + blue: "7CAFC2", + magenta: "7FACCA", + cyan: "C3C2EF", + lightgrey: "EBE7E3", + darkgrey: "6D7891" +}; +var iframeContainerElement; +var containerElement; +var onLoadQueue = []; +ansi_html_community__WEBPACK_IMPORTED_MODULE_0___default().setColors(colors); + +function createContainer() { + iframeContainerElement = document.createElement("iframe"); + iframeContainerElement.id = "webpack-dev-server-client-overlay"; + iframeContainerElement.src = "about:blank"; + iframeContainerElement.style.position = "fixed"; + iframeContainerElement.style.left = 0; + iframeContainerElement.style.top = 0; + iframeContainerElement.style.right = 0; + iframeContainerElement.style.bottom = 0; + iframeContainerElement.style.width = "100vw"; + iframeContainerElement.style.height = "100vh"; + iframeContainerElement.style.border = "none"; + iframeContainerElement.style.zIndex = 9999999999; + + iframeContainerElement.onload = function () { + containerElement = iframeContainerElement.contentDocument.createElement("div"); + containerElement.id = "webpack-dev-server-client-overlay-div"; + containerElement.style.position = "fixed"; + containerElement.style.boxSizing = "border-box"; + containerElement.style.left = 0; + containerElement.style.top = 0; + containerElement.style.right = 0; + containerElement.style.bottom = 0; + containerElement.style.width = "100vw"; + containerElement.style.height = "100vh"; + containerElement.style.backgroundColor = "rgba(0, 0, 0, 0.85)"; + containerElement.style.color = "#E8E8E8"; + containerElement.style.fontFamily = "Menlo, Consolas, monospace"; + containerElement.style.fontSize = "large"; + containerElement.style.padding = "2rem"; + containerElement.style.lineHeight = "1.2"; + containerElement.style.whiteSpace = "pre-wrap"; + containerElement.style.overflow = "auto"; + var headerElement = document.createElement("span"); + headerElement.innerText = "Compiled with problems:"; + var closeButtonElement = document.createElement("button"); + closeButtonElement.innerText = "X"; + closeButtonElement.style.background = "transparent"; + closeButtonElement.style.border = "none"; + closeButtonElement.style.fontSize = "20px"; + closeButtonElement.style.fontWeight = "bold"; + closeButtonElement.style.color = "white"; + closeButtonElement.style.cursor = "pointer"; + closeButtonElement.style.cssFloat = "right"; + closeButtonElement.style.styleFloat = "right"; + closeButtonElement.addEventListener("click", function () { + hide(); + }); + containerElement.appendChild(headerElement); + containerElement.appendChild(closeButtonElement); + containerElement.appendChild(document.createElement("br")); + containerElement.appendChild(document.createElement("br")); + iframeContainerElement.contentDocument.body.appendChild(containerElement); + onLoadQueue.forEach(function (onLoad) { + onLoad(containerElement); + }); + onLoadQueue = []; + iframeContainerElement.onload = null; + }; + + document.body.appendChild(iframeContainerElement); +} + +function ensureOverlayExists(callback) { + if (containerElement) { + // Everything is ready, call the callback right away. + callback(containerElement); + return; + } + + onLoadQueue.push(callback); + + if (iframeContainerElement) { + return; + } + + createContainer(); +} // Successful compilation. + + +function hide() { + if (!iframeContainerElement) { + return; + } // Clean up and reset internal state. + + + document.body.removeChild(iframeContainerElement); + iframeContainerElement = null; + containerElement = null; +} + +function formatProblem(type, item) { + var header = type === "warning" ? "WARNING" : "ERROR"; + var body = ""; + + if (typeof item === "string") { + body += item; + } else { + var file = item.file || ""; // eslint-disable-next-line no-nested-ternary + + var moduleName = item.moduleName ? item.moduleName.indexOf("!") !== -1 ? "".concat(item.moduleName.replace(/^(\s|\S)*!/, ""), " (").concat(item.moduleName, ")") : "".concat(item.moduleName) : ""; + var loc = item.loc; + header += "".concat(moduleName || file ? " in ".concat(moduleName ? "".concat(moduleName).concat(file ? " (".concat(file, ")") : "") : file).concat(loc ? " ".concat(loc) : "") : ""); + body += item.message || ""; + } + + return { + header: header, + body: body + }; +} // Compilation with errors (e.g. syntax error or missing modules). + + +function show(type, messages) { + ensureOverlayExists(function () { + messages.forEach(function (message) { + var entryElement = document.createElement("div"); + var typeElement = document.createElement("span"); + + var _formatProblem = formatProblem(type, message), + header = _formatProblem.header, + body = _formatProblem.body; + + typeElement.innerText = header; + typeElement.style.color = "#".concat(colors.red); // Make it look similar to our terminal. + + var text = ansi_html_community__WEBPACK_IMPORTED_MODULE_0___default()((0,html_entities__WEBPACK_IMPORTED_MODULE_1__.encode)(body)); + var messageTextNode = document.createElement("div"); + messageTextNode.innerHTML = text; + entryElement.appendChild(typeElement); + entryElement.appendChild(document.createElement("br")); + entryElement.appendChild(document.createElement("br")); + entryElement.appendChild(messageTextNode); + entryElement.appendChild(document.createElement("br")); + entryElement.appendChild(document.createElement("br")); + containerElement.appendChild(entryElement); + }); + }); +} + + + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/socket.js": +/*!**********************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/socket.js ***! + \**********************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _clients_WebSocketClient_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clients/WebSocketClient.js */ "./node_modules/webpack-dev-server/client/clients/WebSocketClient.js"); +/* provided dependency */ var __webpack_dev_server_client__ = __webpack_require__(/*! ./node_modules/webpack-dev-server/client/clients/WebSocketClient.js */ "./node_modules/webpack-dev-server/client/clients/WebSocketClient.js"); +/* global __webpack_dev_server_client__ */ + // this WebsocketClient is here as a default fallback, in case the client is not injected + +/* eslint-disable camelcase */ + +var Client = // eslint-disable-next-line camelcase, no-nested-ternary +typeof __webpack_dev_server_client__ !== "undefined" ? // eslint-disable-next-line camelcase +typeof __webpack_dev_server_client__.default !== "undefined" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : _clients_WebSocketClient_js__WEBPACK_IMPORTED_MODULE_0__["default"]; +/* eslint-enable camelcase */ + +var retries = 0; +var client = null; + +var socket = function initSocket(url, handlers) { + client = new Client(url); + client.onOpen(function () { + retries = 0; + }); + client.onClose(function () { + if (retries === 0) { + handlers.close(); + } // Try to reconnect. + + + client = null; // After 10 retries stop trying, to prevent logspam. + + if (retries <= 10) { + // Exponentially increase timeout to reconnect. + // Respectfully copied from the package `got`. + // eslint-disable-next-line no-mixed-operators, no-restricted-properties + var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100; + retries += 1; + setTimeout(function () { + socket(url, handlers); + }, retryInMs); + } + }); + client.onMessage(function (data) { + var message = JSON.parse(data); + + if (handlers[message.type]) { + handlers[message.type](message.data); + } + }); +}; + +/* harmony default export */ __webpack_exports__["default"] = (socket); + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/utils/createSocketURL.js": +/*!*************************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/utils/createSocketURL.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! url */ "./node_modules/url/url.js"); + // We handle legacy API that is Node.js specific, and a newer API that implements the same WHATWG URL Standard used by web browsers +// Please look at https://nodejs.org/api/url.html#url_url_strings_and_url_objects + +function createSocketURL(parsedURL) { + var hostname = parsedURL.hostname; // Node.js module parses it as `::` + // `new URL(urlString, [baseURLstring])` parses it as '[::]' + + var isInAddrAny = hostname === "0.0.0.0" || hostname === "::" || hostname === "[::]"; // why do we need this check? + // hostname n/a for file protocol (example, when using electron, ionic) + // see: https://github.com/webpack/webpack-dev-server/pull/384 + + if (isInAddrAny && self.location.hostname && self.location.protocol.indexOf("http") === 0) { + hostname = self.location.hostname; + } + + var socketURLProtocol = parsedURL.protocol || self.location.protocol; // When https is used in the app, secure web sockets are always necessary because the browser doesn't accept non-secure web sockets. + + if (socketURLProtocol === "auto:" || hostname && isInAddrAny && self.location.protocol === "https:") { + socketURLProtocol = self.location.protocol; + } + + socketURLProtocol = socketURLProtocol.replace(/^(?:http|.+-extension|file)/i, "ws"); + var socketURLAuth = ""; // `new URL(urlString, [baseURLstring])` doesn't have `auth` property + // Parse authentication credentials in case we need them + + if (parsedURL.username) { + socketURLAuth = parsedURL.username; // Since HTTP basic authentication does not allow empty username, + // we only include password if the username is not empty. + + if (parsedURL.password) { + // Result: : + socketURLAuth = socketURLAuth.concat(":", parsedURL.password); + } + } // In case the host is a raw IPv6 address, it can be enclosed in + // the brackets as the brackets are needed in the final URL string. + // Need to remove those as url.format blindly adds its own set of brackets + // if the host string contains colons. That would lead to non-working + // double brackets (e.g. [[::]]) host + // + // All of these web socket url params are optionally passed in through resourceQuery, + // so we need to fall back to the default if they are not provided + + + var socketURLHostname = (hostname || self.location.hostname || "localhost").replace(/^\[(.*)\]$/, "$1"); + var socketURLPort = parsedURL.port; + + if (!socketURLPort || socketURLPort === "0") { + socketURLPort = self.location.port; + } // If path is provided it'll be passed in via the resourceQuery as a + // query param so it has to be parsed out of the querystring in order for the + // client to open the socket to the correct location. + + + var socketURLPathname = "/ws"; + + if (parsedURL.pathname && !parsedURL.fromCurrentScript) { + socketURLPathname = parsedURL.pathname; + } + + return url__WEBPACK_IMPORTED_MODULE_0__.format({ + protocol: socketURLProtocol, + auth: socketURLAuth, + hostname: socketURLHostname, + port: socketURLPort, + pathname: socketURLPathname, + slashes: true + }); +} + +/* harmony default export */ __webpack_exports__["default"] = (createSocketURL); + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js": +/*!********************************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js ***! + \********************************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +function getCurrentScriptSource() { + // `document.currentScript` is the most accurate way to find the current script, + // but is not supported in all browsers. + if (document.currentScript) { + return document.currentScript.getAttribute("src"); + } // Fallback to getting all scripts running in the document. + + + var scriptElements = document.scripts || []; + var scriptElementsWithSrc = Array.prototype.filter.call(scriptElements, function (element) { + return element.getAttribute("src"); + }); + + if (scriptElementsWithSrc.length > 0) { + var currentScript = scriptElementsWithSrc[scriptElementsWithSrc.length - 1]; + return currentScript.getAttribute("src"); + } // Fail as there was no script to use. + + + throw new Error("[webpack-dev-server] Failed to get current script source."); +} + +/* harmony default export */ __webpack_exports__["default"] = (getCurrentScriptSource); + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/utils/log.js": +/*!*************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/utils/log.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "log": function() { return /* binding */ log; }, +/* harmony export */ "setLogLevel": function() { return /* binding */ setLogLevel; } +/* harmony export */ }); +/* harmony import */ var _modules_logger_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../modules/logger/index.js */ "./node_modules/webpack-dev-server/client/modules/logger/index.js"); +/* harmony import */ var _modules_logger_index_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_modules_logger_index_js__WEBPACK_IMPORTED_MODULE_0__); + +var name = "webpack-dev-server"; // default level is set on the client side, so it does not need +// to be set by the CLI or API + +var defaultLevel = "info"; + +function setLogLevel(level) { + _modules_logger_index_js__WEBPACK_IMPORTED_MODULE_0___default().configureDefaultLogger({ + level: level + }); +} + +setLogLevel(defaultLevel); +var log = _modules_logger_index_js__WEBPACK_IMPORTED_MODULE_0___default().getLogger(name); + + +/***/ }), + +/***/ "./node_modules/webpack-dev-server/client/utils/parseURL.js": +/*!******************************************************************!*\ + !*** ./node_modules/webpack-dev-server/client/utils/parseURL.js ***! + \******************************************************************/ +/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! url */ "./node_modules/url/url.js"); +/* harmony import */ var _getCurrentScriptSource_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getCurrentScriptSource.js */ "./node_modules/webpack-dev-server/client/utils/getCurrentScriptSource.js"); + + + +function parseURL(resourceQuery) { + var options = {}; + + if (typeof resourceQuery === "string" && resourceQuery !== "") { + var searchParams = resourceQuery.substr(1).split("&"); + + for (var i = 0; i < searchParams.length; i++) { + var pair = searchParams[i].split("="); + options[pair[0]] = decodeURIComponent(pair[1]); + } + } else { + // Else, get the url from the